diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-10-11 15:14:37 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-10-11 15:14:37 -0700 |
commit | 526933e5d03f5d7963bc5a244294ddbb068c4770 (patch) | |
tree | 024299f029be90c97c2f811dd57693f023e29228 | |
parent | f621b7b81f0913612381d5dc4993f52bb2116902 (diff) | |
download | gem5-526933e5d03f5d7963bc5a244294ddbb068c4770.tar.xz |
X86: Add an Intel MP table to the simulation.
-rw-r--r-- | configs/common/FSConfig.py | 8 | ||||
-rw-r--r-- | src/arch/x86/bios/IntelMP.py | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index b2d9935ce..789145b66 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -189,6 +189,14 @@ def makeX86System(mem_mode, mdesc = None, self = None): structures = [X86SMBiosBiosInformation()] self.smbios_table.structures = structures + # Set up the Intel MP table + bp = X86IntelMPProcessor( + local_apic_id = 0, + local_apic_version = 0x14, + enable = True, + bootstrap = True) + self.intel_mp_table.add_entry(bp) + def makeLinuxX86System(mem_mode, mdesc = None): self = LinuxX86System() diff --git a/src/arch/x86/bios/IntelMP.py b/src/arch/x86/bios/IntelMP.py index 70e7963fa..758932180 100644 --- a/src/arch/x86/bios/IntelMP.py +++ b/src/arch/x86/bios/IntelMP.py @@ -86,6 +86,15 @@ class X86IntelMPConfigTable(SimObject): ext_entries = VectorParam.X86IntelMPExtConfigEntry([], 'extended configuration table entries') + def add_entry(self, entry): + if isinstance(entry, X86IntelMPBaseConfigEntry): + self.base_entries.append(entry) + elif isinstance(entry, X86IntelMPExtConfigEntry): + self.base_entries.append(entry) + else: + panic("Don't know what type of Intel MP entry %s is." \ + % entry.__class__.__name__) + class X86IntelMPBaseConfigEntry(SimObject): type = 'X86IntelMPBaseConfigEntry' cxx_class = 'X86ISA::IntelMP::BaseConfigEntry' |