summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2011-10-09 00:15:50 -0700
committerGabe Black <gblack@eecs.umich.edu>2011-10-09 00:15:50 -0700
commitf338d60930e973d330d13715b8617c22b980dcca (patch)
treed0980316aa40ff6f15699b752a2087035a634c65 /src/arch/x86
parent020e923ba7f027b7b3b18ccf8ac208c576d75b95 (diff)
downloadgem5-f338d60930e973d330d13715b8617c22b980dcca.tar.xz
SE/FS: Build the Interrupt objects in SE mode.
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/SConscript6
-rw-r--r--src/arch/x86/interrupts.cc4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/arch/x86/SConscript b/src/arch/x86/SConscript
index 539c55615..1b443cd83 100644
--- a/src/arch/x86/SConscript
+++ b/src/arch/x86/SConscript
@@ -53,6 +53,7 @@ if env['TARGET_ISA'] == 'x86':
Source('insts/microop.cc')
Source('insts/microregop.cc')
Source('insts/static_inst.cc')
+ Source('interrupts.cc')
Source('isa.cc')
Source('nativetrace.cc')
Source('pagetable.cc')
@@ -63,23 +64,22 @@ if env['TARGET_ISA'] == 'x86':
Source('types.cc')
Source('utility.cc')
+ SimObject('X86LocalApic.py')
SimObject('X86NativeTrace.py')
SimObject('X86TLB.py')
DebugFlag('Faults', "Trace all faults/exceptions/traps")
+ DebugFlag('LocalApic', "Local APIC debugging")
DebugFlag('Predecoder', "Predecoder debug output")
DebugFlag('X86', "Generic X86 ISA debugging")
if env['FULL_SYSTEM']:
- DebugFlag('LocalApic', "Local APIC debugging")
DebugFlag('PageTableWalker', \
"Page table walker state machine debugging")
- SimObject('X86LocalApic.py')
SimObject('X86System.py')
# Full-system sources
- Source('interrupts.cc')
Source('linux/system.cc')
Source('pagetable_walker.cc')
Source('system.cc')
diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc
index 81cb306dc..55b5bdca9 100644
--- a/src/arch/x86/interrupts.cc
+++ b/src/arch/x86/interrupts.cc
@@ -273,8 +273,10 @@ X86ISA::Interrupts::requestInterrupt(uint8_t vector,
pendingUnmaskableInt = pendingStartup = true;
startupVector = vector;
}
- }
+ }
+#if FULL_SYSTEM //XXX CPU has no wakeup method in SE mode.
cpu->wakeup();
+#endif
}