Re: [x86-tip] RSDP changes converted i4790 box SMP -> UP
From: Juergen Gross
Date: Mon Jan 15 2018 - 09:41:28 EST
On 12/01/18 09:01, Mike Galbraith wrote:
> On Fri, 2018-01-12 at 07:40 +0100, Juergen Gross wrote:
>> On 12/01/18 05:25, Mike Galbraith wrote:
>>> Hi Juergen,
>>>
>>> Yesterday I wanted to test the RETPOLINE stuff in tip and tip-rt, but
>>> discovered instead that my box had turned into a complete slug, not due
>>> to incredible RETPOLINE overhead, rather because box had forgotten that
>>> it had more than one CPU. I was going to leave it for the weekend, but
>>> firing up gitk over morning java, I noticed the commits below, and sure
>>> enough, that's what broke my box. Given other people's boxen work,
>>> seems likely that the authors of the AMI BIOS in this box were a bit
>>> more creative than usual.
>>
>> So I'm curious how this should be possible.
>
> Box is absolutely certain that it is.
>
>> Some questions:
>>
>> - which bootloader are you using?
>
> grub2, box is bog standard opensuse-42.3
And this is the problem.
grub2 of opensuse 42.3 is _wrong_.
It copies the setup_header in the size it knows of (last fiels is
handover_offset), fills in some stuff, and then copies back 1024 bytes.
So grub2 of openSUSE 42.3 is _not_ ready to accept extensions of
bootparams.
This is a major breakage of the protocol, I think.
Juergen
>
>> - what does /sys/kernel/boot_params/version contain?
>
> 0x020e
>
>> - can you print the returned value of acpi_arch_get_root_pointer()
>> in acpi_os_get_root_pointer() with the patches applied and report
>> it, please?
>
> 0x115, which doesn't look all that useful to ACPI.
>
> [ 0.000000] ACPI: Early table checksum verification disabled
> [ 0.000000] ACPI: MIKE pa = 0x115
> [ 0.000000] ACPI: 0x0000000000000115 000000 (v00 00000000 00000000)
> [ 0.000000] Reserving 132MB of low memory at 3392MB for crashkernel (System low RAM: 3556MB)
> [ 0.000000] Reserving 256MB of memory at 16608MB for crashkernel (System RAM: 16340MB)
> [ 0.000000] tsc: Fast TSC calibration using PIT
> [ 0.000000] Zone ranges:
> [ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff]
> [ 0.000000] DMA32 [mem 0x0000000001000000-0x00000000ffffffff]
> [ 0.000000] Normal [mem 0x0000000100000000-0x000000041effffff]
> [ 0.000000] Movable zone start for each node
> [ 0.000000] Early memory node ranges
> [ 0.000000] node 0: [mem 0x0000000000001000-0x0000000000057fff]
> [ 0.000000] node 0: [mem 0x0000000000059000-0x000000000009dfff]
> [ 0.000000] node 0: [mem 0x0000000000100000-0x00000000d0443fff]
> [ 0.000000] node 0: [mem 0x00000000d044b000-0x00000000d0889fff]
> [ 0.000000] node 0: [mem 0x00000000d0b4b000-0x00000000de787fff]
> [ 0.000000] node 0: [mem 0x00000000defff000-0x00000000deffffff]
> [ 0.000000] node 0: [mem 0x0000000100000000-0x000000041effffff]
> [ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000041effffff]
> [ 0.000000] On node 0 totalpages: 4183133
> [ 0.000000] DMA zone: 64 pages used for memmap
> [ 0.000000] DMA zone: 21 pages reserved
> [ 0.000000] DMA zone: 3996 pages, LIFO batch:0
> [ 0.000000] DMA32 zone: 14164 pages used for memmap
> [ 0.000000] DMA32 zone: 906433 pages, LIFO batch:31
> [ 0.000000] Normal zone: 51136 pages used for memmap
> [ 0.000000] Normal zone: 3272704 pages, LIFO batch:31
> [ 0.000000] Reserved but unavailable: 99 pages
> [ 0.000000] tboot: non-0 tboot_addr but it is not of type E820_TYPE_RESERVED
> [ 0.000000] smpboot: Boot CPU (id 0) not listed by BIOS
> [ 0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
> [ 0.000000] e820: [mem 0xdf000000-0xf7ffffff] available for PCI devices
> [ 0.000000] Booting paravirtualized kernel on bare hardware
> [ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
> [ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:1 nr_node_ids:1
> [ 0.000000] percpu: Embedded 43 pages/cpu @ (ptrval) s135896 r8192 d32040 u2097152
> [ 0.000000] pcpu-alloc: s135896 r8192 d32040 u2097152 alloc=1*2097152
> [ 0.000000] pcpu-alloc: [0] 0
>