X86: Add an Intel MP table to the simulation.

This commit is contained in:
Gabe Black 2008-10-11 15:14:37 -07:00
parent f621b7b81f
commit 526933e5d0
2 changed files with 17 additions and 0 deletions

View file

@ -189,6 +189,14 @@ def makeX86System(mem_mode, mdesc = None, self = None):
structures = [X86SMBiosBiosInformation()] structures = [X86SMBiosBiosInformation()]
self.smbios_table.structures = structures 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): def makeLinuxX86System(mem_mode, mdesc = None):
self = LinuxX86System() self = LinuxX86System()

View file

@ -86,6 +86,15 @@ class X86IntelMPConfigTable(SimObject):
ext_entries = VectorParam.X86IntelMPExtConfigEntry([], ext_entries = VectorParam.X86IntelMPExtConfigEntry([],
'extended configuration table entries') '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): class X86IntelMPBaseConfigEntry(SimObject):
type = 'X86IntelMPBaseConfigEntry' type = 'X86IntelMPBaseConfigEntry'
cxx_class = 'X86ISA::IntelMP::BaseConfigEntry' cxx_class = 'X86ISA::IntelMP::BaseConfigEntry'