Index: trunk/i386/libsaio/spd.c =================================================================== --- trunk/i386/libsaio/spd.c (revision 116) +++ trunk/i386/libsaio/spd.c (revision 117) @@ -165,7 +165,7 @@ { static char asciiSerial[16]; static uint8_t serialnum=0; - uint32_t ret=0,i; + uint32_t ret=0; if (spd[SPD_MEMORY_TYPE]==SPD_MEMORY_TYPE_SDRAM_DDR3) {// DDR3 ret = UIS(122) | (UIS(123)<<8) | (UIS(124)<<16) | ((UIS(125)&0x7f)<<24); Index: trunk/i386/libsaio/fake_efi.c =================================================================== --- trunk/i386/libsaio/fake_efi.c (revision 116) +++ trunk/i386/libsaio/fake_efi.c (revision 117) @@ -478,10 +478,15 @@ static void setupSmbiosConfigFile() { const char * value = getStringForKey(kSMBIOS, &bootInfo->bootConfig); + extern void scan_mem(); + if (!value) value = "/Extra/smbios.plist"; if (loadConfigFile(value, &bootInfo->smbiosConfig) == -1) { verbose("No SMBIOS replacement found\n"); } + // get a chance to scan mem dynamically if user asks for it while having the config options loaded as well + // as opposed to when it was in scan_platform() + scan_mem(); smbios_p = (EFI_PTR32) getSmbios(SMBIOS_PATCHED); // process smbios asap }