[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] IO-APIC Error on Xen 4.12 with Surface Laptop 3 (Intel) - Likely ACPI Issues (No DMARC)



Hm, it seems this may not have anything to with the APIC ACPI Table, perhaps it's the fact I'm unable to disable the HPET via BIOS, it looks like Microsoft may have forced that ON, resulting in this crash/error.

Does anyone know if it's possible to disable HPET from within Xen?

On Sun, Dec 15, 2019 at 12:53 PM Dylanger Daly <dylangerdaly@xxxxxxxxx> wrote:
Another update, if I add 'nolapic' Xen seems to totally crash.

SMP: Allowing 1 CPUs (1 hotplug CPUs)
Xen BUG at x86_64/mm.c:692
-- Call Trace --
[<ffff82d08039de98>] zap_low_mappings+0x68/0x70

Specific line is
BUG_ON(num_online_cpus() != 1);
Not totally sure how adding nolapic breaks this.


On Sun, Dec 15, 2019 at 12:23 PM Dylanger Daly <dylangerdaly@xxxxxxxxx> wrote:
Hey Guys,

I'm super sorry, I've been emailing from a domain that has a strict DMARC Policy, I'll repost all of my messages here

--

Hello,

I'm getting the following error when booting Xen 4.12 (Qubes OS)

I'm running a Surface Laptop 3 Business Edition (i7-1065G7)

I believe this issue has something to do with the ACPI Tables for APIC.

IO-APIC + timer doesn't work! Boot with apic_verbosity=debug and send a report. Then try booting with the 'noapic' option

Added Logging:

Enabling IO-APIC IRQs
...
MP
-BIOS bug: 8254 timer not connected to IO-APIC
... trying to set up timer (IRQ0) through the 8259A ... failed.
... trying to set up timer as Virtual Wire IRQ ... failed.
... trying to set up timer as ExtINT IRQ...spurious 8259A interrupt: IRQ7.
CPU0
: No irq handler for vector e7 (IRQ -8)

Adding noapic results in Xen booting however the device resets, I assume the APIC is required to setup IOMMU.

I'm not sure where to start looking, I can post my ACPI Tables if that would help.

If anyone can point me in the right direction any help would be appreciated.

Apologies if I'm posting in the wrong area.

To provide some more information, Fedora 31 boots perfectly, so I believe it's an issue specifically relating to Xen.

Booting into Fedora 31 I can see some dmesg logs relating to APIC

ACPI: APIC 0x0000000007BFE5000 00012C (v03 MSFT MSFT 00000002 MSFT 20160422)
ACPI: Local APIC address 0xfee00000
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119
APIC: Switch to symmetric I/O mode setup
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8086a201 base: 0xfed00000
DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
ACPI: Using IOAPIC for interrupt routing.

Another update, I observed that if I added acpi=noirq, it wouldn't error out, meaning the issue I'm having is directly related to the APIC/MADT ACPI Table on this laptop, with this in mind, I've attached the Surface Laptop 3's APIC ACPI Table.

Comparing the table against a Lenovo P43s (8th Gen Intel, known working with Xen) the differences are as follows

6c6
<  * Disassembly of APIC, Sun Dec 15 11:38:46 2019
---
>  * Disassembly of APIC, Sun Dec 15 11:43:24 2019
16,21c16,21
< [009h 0009   1]                     Checksum : 56
< [00Ah 0010   6]                       Oem ID : "MSFT  "
< [010h 0016   8]                 Oem Table ID : "MSFT    "
< [018h 0024   4]                 Oem Revision : 00000002
< [01Ch 0028   4]              Asl Compiler ID : "MSFT"
< [020h 0032   4]        Asl Compiler Revision : 20160422
---
> [009h 0009   1]                     Checksum : CA
> [00Ah 0010   6]                       Oem ID : "LENOVO"
> [010h 0016   8]                 Oem Table ID : "TP-N2I  "
> [018h 0024   4]                 Oem Revision : 00001580
> [01Ch 0028   4]              Asl Compiler ID : "PTEC"
> [020h 0032   4]        Asl Compiler Revision : 00000002
62,64c62,64
< [04Fh 0079   1]                Local Apic ID : 01
< [050h 0080   4]        Flags (decoded below) : 00000001
<                            Processor Enabled : 1
---
> [04Fh 0079   1]                Local Apic ID : FF
> [050h 0080   4]        Flags (decoded below) : 00000000
>                            Processor Enabled : 0
70,72c70,72
< [057h 0087   1]                Local Apic ID : 03
< [058h 0088   4]        Flags (decoded below) : 00000001
<                            Processor Enabled : 1
---
> [057h 0087   1]                Local Apic ID : FF
> [058h 0088   4]        Flags (decoded below) : 00000000
>                            Processor Enabled : 0
78,80c78,80
< [05Fh 0095   1]                Local Apic ID : 05
< [060h 0096   4]        Flags (decoded below) : 00000001
<                            Processor Enabled : 1
---
> [05Fh 0095   1]                Local Apic ID : FF
> [060h 0096   4]        Flags (decoded below) : 00000000
>                            Processor Enabled : 0
86,88c86,88
< [067h 0103   1]                Local Apic ID : 07
< [068h 0104   4]        Flags (decoded below) : 00000001
<                            Processor Enabled : 1
---
> [067h 0103   1]                Local Apic ID : FF
> [068h 0104   4]        Flags (decoded below) : 00000000
>                            Processor Enabled : 0
310,312c310,312
<     0000: 41 50 49 43 2C 01 00 00 03 56 4D 53 46 54 20 20  // APIC,....VMSFT  
<     0010: 4D 53 46 54 20 20 20 20 02 00 00 00 4D 53 46 54  // MSFT    ....MSFT
<     0020: 22 04 16 20 00 00 E0 FE 01 00 00 00 00 08 01 00  // ".. ............
---
>     0000: 41 50 49 43 2C 01 00 00 03 CA 4C 45 4E 4F 56 4F  // APIC,.....LENOVO
>     0010: 54 50 2D 4E 32 49 20 20 80 15 00 00 50 54 45 43  // TP-N2I  ....PTEC
>     0020: 02 00 00 00 00 00 E0 FE 01 00 00 00 00 08 01 00  // ................
314,316c314,316
<     0040: 01 00 00 00 00 08 04 06 01 00 00 00 00 08 05 01  // ................
<     0050: 01 00 00 00 00 08 06 03 01 00 00 00 00 08 07 05  // ................
<     0060: 01 00 00 00 00 08 08 07 01 00 00 00 00 08 09 FF  // ................
---
>     0040: 01 00 00 00 00 08 04 06 01 00 00 00 00 08 05 FF  // ................
>     0050: 00 00 00 00 00 08 06 FF 00 00 00 00 00 08 07 FF  // ................
>     0060: 00 00 00 00 00 08 08 FF 00 00 00 00 00 08 09 FF  // ................


A graphical diff:
2019-12-15-115439.png
2019-12-15-115454.png
It looks like Lenovo disables the Local APIC (lapic) where as the SL3 enables it.

Other difference is the OEM ID, OEM Table ID and OEM Revision ID.
 
Cheers!
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.