59a60
> #include "arch/x86/smbios.hh"
76a78,81
> smbiosTable = new X86ISA::SMBios::SMBiosTable;
> smbiosTable->smbiosHeader.majorVersion = 2;
> smbiosTable->smbiosHeader.minorVersion = 5;
> smbiosTable->smbiosHeader.intermediateHeader.smbiosBCDRevision = 0x25;
232a238,240
>
> //Write out the SMBios/DMI table
> writeOutSMBiosTable(0xF0000);
234a243,262
> void
> X86System::writeOutSMBiosTable(Addr header, Addr table)
> {
> // Get a port to write the table and header to memory.
> FunctionalPort * physPort = threadContexts[0]->getPhysPort();
>
> // If the table location isn't specified, just put it after the header.
> // The header size as of the 2.5 SMBios specification is 0x1F bytes
> if (!table) {
> if (!smbiosTable->smbiosHeader.intermediateHeader.tableAddr)
> smbiosTable->smbiosHeader.
> intermediateHeader.tableAddr = header + 0x1F;
> } else {
> smbiosTable->smbiosHeader.intermediateHeader.tableAddr = table;
> }
>
> smbiosTable->writeOut(physPort, header);
> }
>
>
236a265
> delete smbiosTable;