Messages in this thread Patch in this message | | | From | "Yu, Fenghua" <> | Subject | RE: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-bit | Date | Mon, 17 Dec 2012 23:30:28 +0000 |
| |
> -----Original Message----- > From: yhlu.kernel@gmail.com [mailto:yhlu.kernel@gmail.com] On Behalf Of > Yinghai Lu > Sent: Sunday, December 16, 2012 4:42 PM > To: Yu, Fenghua > Cc: H. Peter Anvin; Ingo Molnar; Thomas Gleixner; Mallick, Asit K; > Tigran Aivazian; Andreas Herrmann; Borislav Petkov; linux-kernel; x86 > Subject: Re: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64- > bit > > On Sun, Dec 16, 2012 at 3:59 PM, Yu, Fenghua <fenghua.yu@intel.com> > wrote: > > > >> it has to be rebased after #PF handler version. otherwise it can not > >> handle for framdisk > >> that is loaded after 1G. > >> > >> Fenghua, > >> > >> can you post your boot log with 64bit with your patch? > >> > >> Yinghai > > > > Attached is dmesg with the patches. > > > > yes, your laptop only have 1G ram, and > > [ 0.000000] e820: BIOS-provided physical RAM map: > [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] > usable > [ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000000d2000-0x00000000000d3fff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003e6affff] > usable > [ 0.000000] BIOS-e820: [mem 0x000000003e6b0000-0x000000003e6ccfff] > ACPI data > [ 0.000000] BIOS-e820: [mem 0x000000003e6cd000-0x000000003e6fffff] > ACPI NVS > [ 0.000000] BIOS-e820: [mem 0x000000003e700000-0x000000003effffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f3ffffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed003ff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000fed14000-0x00000000fed19fff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed8ffff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] > reserved > [ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] > reserved > > ramdisk is at > RAMDISK: [mem 0x27608000-0x2fafbfff] > > and current kernel default set 1G to kernel mapping. so it happens to > work with your patchset. > > please find one sytem with 4G or more to test it. > > and you may need to rebase your patches on top of my for-x86-boot > branch with working > #PF handler set page table patch. > > git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git > for-x86-boot > > Thanks > > Yinghai
OSV may need the patchset based on old kernel. So I'll have the patchset ready. Is this the right place to call load_ucode_bsp() in the upstream kernel?
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index a512f56..e94b90e 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c @@ -93,6 +88,11 @@ void __init x86_64_start_kernel(char * real_mode_data) } load_idt((const struct desc_ptr *)&idt_descr);
+ /* + * Load microcode early on BSP. + */ + load_ucode_bsp(__va(real_mode_data)); + if (console_loglevel == 10) early_printk("Kernel alive\n");
| |