RE: [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-bit

From: Yu, Fenghua
Date: Mon Dec 17 2012 - 18:30:18 EST




> -----Original Message-----
> From: yhlu.kernel@xxxxxxxxx [mailto:yhlu.kernel@xxxxxxxxx] 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@xxxxxxxxx>
> 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");

--
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/