Re: [PATCH 2/2] Suppress false "mtrr all empty" warning message when running as VMware guest

From: Yinghai Lu
Date: Thu Sep 25 2008 - 13:14:06 EST


On Thu, Sep 25, 2008 at 7:18 AM, Yan Li <elliot.li.tech@xxxxxxxxx> wrote:
> On Wed, Sep 24, 2008 at 09:39:20AM -0700, Yinghai Lu wrote:
>> On Wed, Sep 24, 2008 at 5:24 AM, Yan Li <elliot.li.tech@xxxxxxxxx> wrote:
>> > Since the mtrr empty was detected very early before we can use DMI or
>> > PCI to check whether we are running as a VMware guest or not, we now
>> > only print an info there. Warning will only be issued later when we
>> > are sure that we are not running as a VMware guest.
>> >
>> > mtrr_trim_uncached_memory() is modified to return meaningful codes for
>> > later warning decision.
>>
>> we have moved dmi_scan_machine() much early...
>>
>> so please check with latest tip/master to use
>> dmi_check_system with that.
>
> I checked your patch 1c6e5503 that moved dmi_scan_machine() earlier,
> but it's still behind mtrr_trim_uncached_memory(), so we still can't
> use DMI to check for VMware there.
>

you must be kidding!

...

dmi_scan_machine();

dmi_check_system(bad_bios_dmi_table);

#ifdef CONFIG_X86_32
probe_roms();
#endif

/* after parse_early_param, so could debug it */
insert_resource(&iomem_resource, &code_resource);
insert_resource(&iomem_resource, &data_resource);
insert_resource(&iomem_resource, &bss_resource);

if (efi_enabled)
efi_init();

#ifdef CONFIG_X86_32
if (ppro_with_ram_bug()) {
e820_update_range(0x70000000ULL, 0x40000ULL, E820_RAM,
E820_RESERVED);
sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
printk(KERN_INFO "fixed physical RAM map:\n");
e820_print_map("bad_ppro");
}
#else
early_gart_iommu_check();
#endif

/*
* partially used pages are not usable - thus
* we are rounding upwards:
*/
max_pfn = e820_end_of_ram_pfn();

/* preallocate 4k for mptable mpc */
early_reserve_e820_mpc_new();
/* update e820 for memory not covered by WB MTRRs */
mtrr_bp_init();
if (mtrr_trim_uncached_memory(max_pfn))
max_pfn = e820_end_of_ram_pfn();
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/