Messages in this thread | | | Date | Thu, 25 Sep 2008 10:13:45 -0700 | From | "Yinghai Lu" <> | Subject | Re: [PATCH 2/2] Suppress false "mtrr all empty" warning message when running as VMware guest |
| |
On Thu, Sep 25, 2008 at 7:18 AM, Yan Li <elliot.li.tech@gmail.com> 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@gmail.com> 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();
| |