Markus Schuster
2010-Sep-07 20:17 UTC
[Xen-devel] XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
Hi list, I tried to setup XEN 4.0.1 (Debian unstable packages compiled for lenny) on my workstation, but run into trouble. XEN 3.4.3 works flawlessly on the same hardware. Booting with the noapic parameter solves the problem. Feel free to ask for additional information as needed. serial console capture: --- cut --- (XEN) Xen version 4.0.1 (Debian 4.0.1-1) (waldi@debian.org) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) Mon Sep 6 23:42:50 UTC 2010 (XEN) Bootloader: GNU GRUB 0.97 (XEN) Command line: apic=debug console=com1 com1=115200,8n1 (XEN) Video information: (XEN) VGA is text mode 80x25, font 8x16 (XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds (XEN) EDID info not retrieved because no DDC retrieval method detected (XEN) Disc information: (XEN) Found 3 MBR signatures (XEN) Found 3 EDD information structures (XEN) Xen-e820 RAM map: (XEN) 0000000000000000 - 000000000009f800 (usable) (XEN) 000000000009f800 - 00000000000a0000 (reserved) (XEN) 00000000000f0000 - 0000000000100000 (reserved) (XEN) 0000000000100000 - 000000007fee0000 (usable) (XEN) 000000007fee0000 - 000000007fee3000 (ACPI NVS) (XEN) 000000007fee3000 - 000000007fef0000 (ACPI data) (XEN) 000000007fef0000 - 000000007ff00000 (reserved) (XEN) 00000000e0000000 - 00000000f0000000 (reserved) (XEN) 00000000fec00000 - 0000000100000000 (reserved) (XEN) System RAM: 2046MB (2095612kB) (XEN) ACPI: RSDP 000F7810, 0014 (r0 Nvidia) (XEN) ACPI: RSDT 7FEE3040, 0034 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) (XEN) ACPI: FACP 7FEE30C0, 0074 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) (XEN) ACPI: DSDT 7FEE3180, 6786 (r1 NVIDIA AWRDACPI 1000 MSFT 100000E) (XEN) ACPI: FACS 7FEE0000, 0040 (XEN) ACPI: SSDT 7FEE9A40, 00F7 (r1 PTLTD POWERNOW 1 LTP 1) (XEN) ACPI: MCFG 7FEE9B80, 003C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) (XEN) ACPI: APIC 7FEE9980, 007C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) (XEN) Domain heap initialised (XEN) Processor #0 15:15 APIC version 16 (XEN) IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23 (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2210.229 MHz processor. (XEN) Initing memory sharing. (XEN) AMD-Vi: IOMMU not found! (XEN) I/O virtualisation disabled (XEN) Total of 1 processors activated. (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) IO-APIC + timer doesn''t work! Boot with apic=debug and send a report. Then try booting with the ''noapic'' option**************************************** (XEN) (XEN) Reboot in five seconds... --- cut --- Regards, Markus _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Sep-08 07:07 UTC
Re: [Xen-devel] XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
>>> On 07.09.10 at 22:17, Markus Schuster <ml@markus.schuster.name> wrote: > Hi list, > > I tried to setup XEN 4.0.1 (Debian unstable packages compiled for lenny) on > my workstation, but run into trouble. XEN 3.4.3 works flawlessly on the same > > hardware. Booting with the noapic parameter solves the problem. > Feel free to ask for additional information as needed.You will want to boot 3.4.3 and 4.0.1 with "loglvl=all" and compare> (XEN) Xen version 4.0.1 (Debian 4.0.1-1) (waldi@debian.org) (gcc version > 4.3.2 (Debian 4.3.2-1.1) ) Mon Sep 6 23:42:50 UTC 2010 > (XEN) Bootloader: GNU GRUB 0.97 > (XEN) Command line: apic=debug console=com1 com1=115200,8n1 > (XEN) Video information: > (XEN) VGA is text mode 80x25, font 8x16 > (XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds > (XEN) EDID info not retrieved because no DDC retrieval method detected > (XEN) Disc information: > (XEN) Found 3 MBR signatures > (XEN) Found 3 EDD information structures > (XEN) Xen-e820 RAM map: > (XEN) 0000000000000000 - 000000000009f800 (usable) > (XEN) 000000000009f800 - 00000000000a0000 (reserved) > (XEN) 00000000000f0000 - 0000000000100000 (reserved) > (XEN) 0000000000100000 - 000000007fee0000 (usable) > (XEN) 000000007fee0000 - 000000007fee3000 (ACPI NVS) > (XEN) 000000007fee3000 - 000000007fef0000 (ACPI data) > (XEN) 000000007fef0000 - 000000007ff00000 (reserved) > (XEN) 00000000e0000000 - 00000000f0000000 (reserved) > (XEN) 00000000fec00000 - 0000000100000000 (reserved) > (XEN) System RAM: 2046MB (2095612kB) > (XEN) ACPI: RSDP 000F7810, 0014 (r0 Nvidia) > (XEN) ACPI: RSDT 7FEE3040, 0034 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > (XEN) ACPI: FACP 7FEE30C0, 0074 (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > (XEN) ACPI: DSDT 7FEE3180, 6786 (r1 NVIDIA AWRDACPI 1000 MSFT 100000E) > (XEN) ACPI: FACS 7FEE0000, 0040 > (XEN) ACPI: SSDT 7FEE9A40, 00F7 (r1 PTLTD POWERNOW 1 LTP 1) > (XEN) ACPI: MCFG 7FEE9B80, 003C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > (XEN) ACPI: APIC 7FEE9980, 007C (r1 Nvidia AWRDACPI 42302E31 AWRD 0) > (XEN) Domain heap initialised > (XEN) Processor #0 15:15 APIC version 16 > (XEN) IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23 > (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs > (XEN) Using scheduler: SMP Credit Scheduler (credit) > (XEN) Detected 2210.229 MHz processor. > (XEN) Initing memory sharing. > (XEN) AMD-Vi: IOMMU not found! > (XEN) I/O virtualisation disabled > (XEN) Total of 1 processors activated. > (XEN) ENABLING IO-APIC IRQs > (XEN) -> Using new ACK method... additional output around here.> (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) > (XEN) **************************************** > (XEN) Panic on CPU 0: > (XEN) IO-APIC + timer doesn''t work! Boot with apic=debug and send a report.And you clearly didn''t follow the first part of the request made here (admittedly the text isn''t fully correct, as it would need to be "apic_verbosity=debug". Additionally, if you boot native Linux on this box, does it report that it''s ignoring a timer override (in which case you would also want to try booting Xen with "acpi_skip_timer_override")? Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Markus Schuster
2010-Sep-09 00:00 UTC
[Xen-devel] Re: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
Hi Jan!>> Feel free to ask for additional information as needed. > > You will want to boot 3.4.3 and 4.0.1 with "loglvl=all" and compareI think the relevant difference is: XEN 3.4.3: (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. (XEN) ...trying to set up timer as ExtINT IRQ... works. XEN 4.0.1: (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. (XEN) ...trying to set up timer as ExtINT IRQ... failed :(. Please have a look in the attached files for details.> And you clearly didn''t follow the first part of the request made here > (admittedly the text isn''t fully correct, as it would need to be > "apic_verbosity=debug".Well, it''s a bit hard to follow the instructions if they are clearly wrong ;) But nevermind, I''ve booted with apic_verbosity=debug - have a look in the attached files please.> Additionally, if you boot native Linux on this box, does it report that > it''s ignoring a timer override (in which case you would also want to > try booting Xen with "acpi_skip_timer_override")?A Debian lenny 2.6.26 says: [ 0.000000] Nvidia board detected. Ignoring ACPI timer override. [ 0.000000] If you got timer trouble try acpi_use_timer_override And booting XEN 4.0.1 with acpi_skip_timer_override seems to fix the problem - so it looks like you are wright. But why did that work with XEN 3.4.3 and fail with 4.0.1? Regards, Markus _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Pasi Kärkkäinen
2010-Sep-09 06:33 UTC
Re: [Xen-devel] Re: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
On Thu, Sep 09, 2010 at 02:00:49AM +0200, Markus Schuster wrote:> Hi Jan! > > >> Feel free to ask for additional information as needed. > > > > You will want to boot 3.4.3 and 4.0.1 with "loglvl=all" and compare > > I think the relevant difference is: > XEN 3.4.3: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... works. > > XEN 4.0.1: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... failed :(. > > Please have a look in the attached files for details. > > > > And you clearly didn''t follow the first part of the request made here > > (admittedly the text isn''t fully correct, as it would need to be > > "apic_verbosity=debug". > > Well, it''s a bit hard to follow the instructions if they are clearly wrong > ;) But nevermind, I''ve booted with apic_verbosity=debug - have a look in the > attached files please. >Send a patch please :) -- Pasi _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Markus Schuster
2010-Sep-10 16:14 UTC
[Xen-devel] [PATCH] Correct APIC error message (was: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!)
Pasi Kärkkäinen wrote:> Send a patch please :)Shouldn''t have said that ;) I have no idea in what format you expect patches (inline vs. attached), so I used hg diff to create this baby. --- a/xen/arch/x86/io_apic.c Thu Sep 09 17:59:33 2010 +0100 +++ b/xen/arch/x86/io_apic.c Fri Sep 10 15:52:27 2010 +0000 @@ -2030,8 +2030,8 @@ return; } printk(" failed :(.\n"); - panic("IO-APIC + timer doesn''t work! Boot with apic=debug and send a " - "report. Then try booting with the ''noapic'' option"); + panic("IO-APIC + timer doesn''t work! Boot with apic_verbosity=debug " + "and send a report. Then try booting with the ''noapic'' option"); } /* Regards, Markus _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Sep-14 08:31 UTC
[Xen-devel] Re: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
>>> On 09.09.10 at 02:00, Markus Schuster <ml@markus.schuster.name> wrote: > I think the relevant difference is: > XEN 3.4.3: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... works. > > XEN 4.0.1: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... failed :(. > > Please have a look in the attached files for details.Could you try below patch (with "acpi_skip_timer_override" removed again)? Jan --- a/xen/arch/x86/i8259.c +++ b/xen/arch/x86/i8259.c @@ -367,6 +367,13 @@ void __devinit init_8259A(int auto_eoi) spin_unlock_irqrestore(&i8259A_lock, flags); } +void __init make_8259A_irq(unsigned int irq) +{ +printk("IRQ%u -> 8259A\n", irq);//temp + io_apic_irqs &= ~(1 << irq); + irq_to_desc(irq)->handler = &i8259A_irq_type; +} + static struct irqaction __read_mostly cascade = { no_action, "cascade", NULL}; void __init init_IRQ(void) --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -38,9 +38,6 @@ #include <io_ports.h> #include <public/physdev.h> -/* Different to Linux: our implementation can be simpler. */ -#define make_8259A_irq(irq) (io_apic_irqs &= ~(1<<(irq))) - int (*ioapic_renumber_irq)(int ioapic, int irq); atomic_t irq_mis_count; @@ -1929,7 +1926,6 @@ static inline void check_timer(void) irq_desc[0].depth = 0; irq_desc[0].status &= ~IRQ_DISABLED; - irq_desc[0].handler = &ioapic_edge_type; /* * Subtle, code in do_timer_interrupt() expects an AEOI --- a/xen/include/asm-x86/irq.h +++ b/xen/include/asm-x86/irq.h @@ -91,6 +91,7 @@ int i8259A_irq_pending(unsigned int irq) void mask_8259A(void); void unmask_8259A(void); void init_8259A(int aeoi); +void make_8259A_irq(unsigned int irq); int i8259A_suspend(void); int i8259A_resume(void); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Sep-27 11:42 UTC
[Xen-devel] Re: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
Ping???>>> On 09.09.10 at 02:00, Markus Schuster <ml@markus.schuster.name> wrote: > I think the relevant difference is: > XEN 3.4.3: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... works. > > XEN 4.0.1: > (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC > (XEN) ...trying to set up timer (IRQ0) through the 8259A ... failed. > (XEN) ...trying to set up timer as Virtual Wire IRQ... failed. > (XEN) ...trying to set up timer as ExtINT IRQ... failed :(. > > Please have a look in the attached files for details.Could you try below patch (with "acpi_skip_timer_override" removed again)? Jan --- a/xen/arch/x86/i8259.c +++ b/xen/arch/x86/i8259.c @@ -367,6 +367,13 @@ void __devinit init_8259A(int auto_eoi) spin_unlock_irqrestore(&i8259A_lock, flags); } +void __init make_8259A_irq(unsigned int irq) +{ +printk("IRQ%u -> 8259A\n", irq);//temp + io_apic_irqs &= ~(1 << irq); + irq_to_desc(irq)->handler = &i8259A_irq_type; +} + static struct irqaction __read_mostly cascade = { no_action, "cascade", NULL}; void __init init_IRQ(void) --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -38,9 +38,6 @@ #include <io_ports.h> #include <public/physdev.h> -/* Different to Linux: our implementation can be simpler. */ -#define make_8259A_irq(irq) (io_apic_irqs &= ~(1<<(irq))) - int (*ioapic_renumber_irq)(int ioapic, int irq); atomic_t irq_mis_count; @@ -1929,7 +1926,6 @@ static inline void check_timer(void) irq_desc[0].depth = 0; irq_desc[0].status &= ~IRQ_DISABLED; - irq_desc[0].handler = &ioapic_edge_type; /* * Subtle, code in do_timer_interrupt() expects an AEOI --- a/xen/include/asm-x86/irq.h +++ b/xen/include/asm-x86/irq.h @@ -91,6 +91,7 @@ int i8259A_irq_pending(unsigned int irq) void mask_8259A(void); void unmask_8259A(void); void init_8259A(int aeoi); +void make_8259A_irq(unsigned int irq); int i8259A_suspend(void); int i8259A_resume(void); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Markus Schuster
2010-Sep-27 23:58 UTC
[Xen-devel] Re: XEN 4.0.1: BUG: IO-APIC + timer doesn''t work!
Hi Jan!> Ping???1000 times sorry for not respondig that long - can''t belive it''s two weeks since you sent me that patch to try - where''s that time gone...?> Could you try below patch (with "acpi_skip_timer_override" > removed again)?I''ve tried and it looks good - XEN 4.0.1 boots just fine :) I''ve attached the xm dmesg output after startup. Regards, Markus _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel