X86: Add an Intel MP table to the simulation.
This commit is contained in:
parent
f621b7b81f
commit
526933e5d0
2 changed files with 17 additions and 0 deletions
|
@ -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()
|
||||||
|
|
|
@ -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'
|
||||||
|
|
Loading…
Reference in a new issue