1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 32 unchanged lines hidden (view full) --- 41#include "sim/system.hh" 42 43class SparcSystem : public System 44{ 45 public: 46 struct Params : public System::Params 47 { 48 PhysicalMemory *rom; |
49 PhysicalMemory *nvram; 50 PhysicalMemory *hypervisor_desc; 51 PhysicalMemory *partition_desc; |
52 Addr reset_addr; 53 Addr hypervisor_addr; 54 Addr openboot_addr; |
55 Addr nvram_addr; 56 Addr hypervisor_desc_addr; 57 Addr partition_desc_addr; |
58 std::string reset_bin; 59 std::string hypervisor_bin; 60 std::string openboot_bin; |
61 std::string nvram_bin; 62 std::string hypervisor_desc_bin; 63 std::string partition_desc_bin; |
64 std::string boot_osflags; 65 }; 66 67 SparcSystem(Params *p); 68 69 ~SparcSystem(); 70 71 virtual bool breakpoint(); --- 9 unchanged lines hidden (view full) --- 81 SymbolTable *resetSymtab; 82 83 /** hypervison binary symbol table */ 84 SymbolTable *hypervisorSymtab; 85 86 /** openboot symbol table */ 87 SymbolTable *openbootSymtab; 88 |
89 /** nvram symbol table? */ 90 SymbolTable *nvramSymtab; 91 92 /** hypervisor desc symbol table? */ 93 SymbolTable *hypervisorDescSymtab; 94 95 /** partition desc symbol table? */ 96 SymbolTable *partitionDescSymtab; 97 |
98 /** Object pointer for the reset binary */ 99 ObjectFile *reset; 100 101 /** Object pointer for the hypervisor code */ 102 ObjectFile *hypervisor; 103 104 /** Object pointer for the openboot code */ 105 ObjectFile *openboot; 106 |
107 /** Object pointer for the nvram image */ 108 ObjectFile *nvram; 109 110 /** Object pointer for the hypervisor description image */ 111 ObjectFile *hypervisor_desc; 112 113 /** Object pointer for the partition description image */ 114 ObjectFile *partition_desc; 115 |
116 /** System Tick for syncronized tick across all cpus. */ 117 Tick sysTick; 118 119 /** functional port to ROM */ 120 FunctionalPort funcRomPort; 121 |
122 /** functional port to nvram */ 123 FunctionalPort funcNvramPort; 124 125 /** functional port to hypervisor description */ 126 FunctionalPort funcHypDescPort; 127 128 /** functional port to partition description */ 129 FunctionalPort funcPartDescPort; 130 |
131 protected: 132 const Params *params() const { return (const Params *)_params; } 133 134 /** Add a function-based event to reset binary. */ 135 template <class T> 136 T *SparcSystem::addResetFuncEvent(const char *lbl) 137 { 138 return addFuncEvent<T>(resetSymtab, lbl); --- 25 unchanged lines hidden --- |