X86: Adjust the config scripts for x86 fs.

--HG--
extra : convert_revision : 36ed22b50066f54be0e51c3419babc07dd218e10
This commit is contained in:
Gabe Black 2007-10-07 17:52:36 -07:00
parent e540c37282
commit 847a18ad48
3 changed files with 33 additions and 10 deletions

View file

@ -118,6 +118,25 @@ def makeSparcSystem(mem_mode, mdesc = None):
return self return self
def makeX86System(mem_mode, mdesc = None):
self = X86System()
if not mdesc:
# generic system
mdesc = SysConfig()
self.readfile = mdesc.script()
# Physical memory
self.membus = Bus(bus_id=0)
self.physmem = PhysicalMemory(range = AddrRange(mdesc.mem()))
self.physmem.port = self.membus.port
# Platform
self.opteron = Opteron()
self.intrctrl = IntrControl()
return self
def makeDualRoot(testSystem, driveSystem, dumpfile): def makeDualRoot(testSystem, driveSystem, dumpfile):
self = Root() self = Root()

View file

@ -99,6 +99,8 @@ if m5.build_env['TARGET_ISA'] == "alpha":
test_sys = makeLinuxAlphaSystem(test_mem_mode, bm[0]) test_sys = makeLinuxAlphaSystem(test_mem_mode, bm[0])
elif m5.build_env['TARGET_ISA'] == "sparc": elif m5.build_env['TARGET_ISA'] == "sparc":
test_sys = makeSparcSystem(test_mem_mode, bm[0]) test_sys = makeSparcSystem(test_mem_mode, bm[0])
elif m5.build_env['TARGET_ISA'] == "x86":
test_sys = makeX86System(test_mem_mode, bm[0])
else: else:
m5.panic("incapable of building non-alpha or non-sparc full system!") m5.panic("incapable of building non-alpha or non-sparc full system!")
@ -140,6 +142,8 @@ if len(bm) == 2:
drive_sys = makeLinuxAlphaSystem(drive_mem_mode, bm[1]) drive_sys = makeLinuxAlphaSystem(drive_mem_mode, bm[1])
elif m5.build_env['TARGET_ISA'] == 'sparc': elif m5.build_env['TARGET_ISA'] == 'sparc':
drive_sys = makeSparcSystem(drive_mem_mode, bm[1]) drive_sys = makeSparcSystem(drive_mem_mode, bm[1])
elif m5.build.env['TARGET_ISA'] == 'x86':
drive_sys = makeX86System(drive_mem_mode, bm[1])
drive_sys.cpu = DriveCPUClass(cpu_id=0) drive_sys.cpu = DriveCPUClass(cpu_id=0)
drive_sys.cpu.connectMemPorts(drive_sys.membus) drive_sys.cpu.connectMemPorts(drive_sys.membus)
if options.fastmem: if options.fastmem:

View file

@ -74,56 +74,56 @@ class Interrupts
int InterruptLevel(uint64_t softint) int InterruptLevel(uint64_t softint)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::InterruptLevel unimplemented!\n");
return 0; return 0;
} }
void post(int int_num, int index) void post(int int_num, int index)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::post unimplemented!\n");
} }
void clear(int int_num, int index) void clear(int int_num, int index)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::clear unimplemented!\n");
} }
void clear_all() void clear_all()
{ {
panic("Interrupts don't work on x86!\n"); warn("Interrupts::clear_all unimplemented!\n");
} }
bool check_interrupts(ThreadContext * tc) const bool check_interrupts(ThreadContext * tc) const
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::check_interrupts unimplemented!\n");
return false; return false;
} }
Fault getInterrupt(ThreadContext * tc) Fault getInterrupt(ThreadContext * tc)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::getInterrupt unimplemented!\n");
return NoFault; return NoFault;
} }
void updateIntrInfo(ThreadContext * tc) void updateIntrInfo(ThreadContext * tc)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::updateIntrInfo unimplemented!\n");
} }
uint64_t get_vec(int int_num) uint64_t get_vec(int int_num)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::get_vec unimplemented!\n");
return 0; return 0;
} }
void serialize(std::ostream & os) void serialize(std::ostream & os)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::serialize unimplemented!\n");
} }
void unserialize(Checkpoint * cp, const std::string & section) void unserialize(Checkpoint * cp, const std::string & section)
{ {
panic("Interrupts don't work on x86!\n"); panic("Interrupts::unserialize unimplemented!\n");
} }
}; };