[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 56/72] PPC: e500: Use new MPIC dt format
From: |
Alexander Graf |
Subject: |
Re: [Qemu-ppc] [PATCH 56/72] PPC: e500: Use new MPIC dt format |
Date: |
Wed, 8 Aug 2012 23:16:36 +0200 |
On 24.06.2012, at 01:07, Alexander Graf wrote:
> Due to popular demand, we're updating the way we generate the MPIC
> node and interrupt lines based on what the current state of art is.
>
> Requested-by: Scott Wood <address@hidden>
> Signed-off-by: Alexander Graf <address@hidden>
Hey Scott,
This patch breaks SMP for me. The reason for the breakage is that Linux does
some things differently when it finds an fsl,mpic instead of a generic openpic.
I have assembled logs between a working version (compatible openpic) and a
broken version (compatible fsl,mpic) with guest and host debug turned on.
Maybe you have an idea what's going wrong.
Alex
--- log.fails 2012-08-08 23:06:59.000000000 +0200
+++ log.works 2012-08-08 23:07:13.000000000 +0200
@@ -51,34 +51,34 @@
mpic: Initializing for 256 sources
openpic_cpu_write_internal: cpu 0 addr 0000000000000080 <= 0000000f
mpic_timer_write: addr 0000000000000040 <= 00000001
-mpic_timer_write: addr 0000000000000030 <= 800907f3
-Set IDE 76 to 0x800007f3
+mpic_timer_write: addr 0000000000000030 <= 800900f3
+Set IDE 76 to 0x800000f3
mpic_timer_write: addr 0000000000000080 <= 00000001
-mpic_timer_write: addr 0000000000000070 <= 800907f4
-Set IDE 77 to 0x800007f4
+mpic_timer_write: addr 0000000000000070 <= 800900f4
+Set IDE 77 to 0x800000f4
mpic_timer_write: addr 00000000000000c0 <= 00000001
-mpic_timer_write: addr 00000000000000b0 <= 800907f5
-Set IDE 78 to 0x800007f5
+mpic_timer_write: addr 00000000000000b0 <= 800900f5
+Set IDE 78 to 0x800000f5
mpic_timer_write: addr 0000000000000100 <= 00000001
-mpic_timer_write: addr 00000000000000f0 <= 800907f6
+mpic_timer_write: addr 00000000000000f0 <= 800900f6
openpic_gbl_write: addr 00000000000010a0 <= 80000000
openpic_update_irq: IRQ 92 is not pending
Set IPVP 92 to 0x80000000 -> 0x80000000
openpic_gbl_read: addr 00000000000010a0
openpic_gbl_read: => 80000000
-openpic_gbl_write: addr 00000000000010a0 <= 800a07fb
+openpic_gbl_write: addr 00000000000010a0 <= 800a00fb
openpic_update_irq: IRQ 92 is not pending
-Set IPVP 92 to 0x800a07fb -> 0x800a00fb
-openpic_gbl_write: addr 00000000000010b0 <= 800a07fc
+Set IPVP 92 to 0x800a00fb -> 0x800a00fb
+openpic_gbl_write: addr 00000000000010b0 <= 800a00fc
openpic_update_irq: IRQ 93 is not pending
-Set IPVP 93 to 0x800a07fc -> 0x800a00fc
-openpic_gbl_write: addr 00000000000010c0 <= 800a07fd
+Set IPVP 93 to 0x800a00fc -> 0x800a00fc
+openpic_gbl_write: addr 00000000000010c0 <= 800a00fd
openpic_update_irq: IRQ 94 is not pending
-Set IPVP 94 to 0x800a07fd -> 0x800a00fd
-openpic_gbl_write: addr 00000000000010d0 <= 800a07fe
+Set IPVP 94 to 0x800a00fd -> 0x800a00fd
+openpic_gbl_write: addr 00000000000010d0 <= 800a00fe
openpic_update_irq: IRQ 95 is not pending
-Set IPVP 95 to 0x800a07fe -> 0x800a00fe
-MPIC flags: 9102
+Set IPVP 95 to 0x800a00fe -> 0x800a00fe
+MPIC flags: 1002
mpic_src_ext_write: addr 0000000000000000 <= 80080000
openpic_update_irq: IRQ 0 is not pending
Set IPVP 0 to 0x80080000 -> 0x80080000
@@ -542,7 +542,7 @@
mpic_src_msi_write: addr 00000000000000f0 <= 00000001
Set IDE 91 to 0x00000001
mpic_src_msi_write: addr 0000000000000100 <= 800800e8
-openpic_gbl_write: addr 00000000000010e0 <= 000007ff
+openpic_gbl_write: addr 00000000000010e0 <= 000000ff
openpic_gbl_read: addr 0000000000001020
openpic_gbl_read: => 00000000
openpic_gbl_write: addr 0000000000001020 <= 20000000
@@ -554,31 +554,31 @@
smp_mpic_probe()...
nr_cpus: 2
mpic: requesting IPIs...
-mpic: map virq 507, hwirq 0x7fb
+mpic: map virq 251, hwirq 0xfb
mpic: mapping as IPI
- OpenPIC : enable_ipi: 507 (ipi 0)
+ OpenPIC : enable_ipi: 251 (ipi 0)
openpic_gbl_read: addr 00000000000010a0
openpic_gbl_read: => 800a00fb
openpic_gbl_write: addr 00000000000010a0 <= 000a00fb
openpic_update_irq: IRQ 92 is not pending
Set IPVP 92 to 0x000a00fb -> 0x000a00fb
-mpic: map virq 508, hwirq 0x7fc
+mpic: map virq 252, hwirq 0xfc
mpic: mapping as IPI
- OpenPIC : enable_ipi: 508 (ipi 1)
+ OpenPIC : enable_ipi: 252 (ipi 1)
openpic_gbl_read: addr 00000000000010b0
openpic_gbl_read: => 800a00fc
openpic_gbl_write: addr 00000000000010b0 <= 000a00fc
openpic_update_irq: IRQ 93 is not pending
Set IPVP 93 to 0x000a00fc -> 0x000a00fc
-mpic: map virq 509, hwirq 0x7fd
+mpic: map virq 253, hwirq 0xfd
mpic: mapping as IPI
- OpenPIC : enable_ipi: 509 (ipi 2)
+ OpenPIC : enable_ipi: 253 (ipi 2)
openpic_gbl_read: addr 00000000000010c0
openpic_gbl_read: => 800a00fd
openpic_gbl_write: addr 00000000000010c0 <= 000a00fd
openpic_update_irq: IRQ 94 is not pending
Set IPVP 94 to 0x000a00fd -> 0x000a00fd
-mpic: map virq 510, hwirq 0x7fe
+mpic: map virq 254, hwirq 0xfe
mpic: mapping as IPI
OpenPIC : setup_this_cpu(1)
openpic_cpu_write_internal: cpu 1 addr 0000000000001080 <= 00000000
@@ -595,6 +595,11 @@
PIAC: irq=93
openpic_cpu_read_internal: => 000000fc
OpenPIC : get_one_irq(reg 0xa0): 252
+openpic_cpu_write_internal: cpu 1 addr 00000000000010b0 <= 00000000
+PEOI
+IRQ_check: irq 93 set ipvp_pr=10 pr=-1
+openpic_cpu_read_internal: cpu 1 addr 0000000000001090
+openpic_cpu_read_internal: => 00000001
OpenPIC : send_ipi(ipi_no: 1)
openpic_cpu_write_internal: cpu 1 addr 0000000000001050 <= 00000001
Set IDE 93 to 0x00000001
- Re: [Qemu-ppc] [PATCH 56/72] PPC: e500: Use new MPIC dt format,
Alexander Graf <=
- Re: [Qemu-ppc] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Scott Wood, 2012/08/08
- Re: [Qemu-ppc] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Alexander Graf, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Scott Wood, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Alexander Graf, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Scott Wood, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Alexander Graf, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Scott Wood, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Alexander Graf, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Scott Wood, 2012/08/09
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 56/72] PPC: e500: Use new MPIC dt format, Alexander Graf, 2012/08/09