All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system
@ 2015-01-10 10:59 Christopher Horler
  2015-01-10 11:00 ` [Qemu-devel] [Bug 1409246] " Christopher Horler
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Christopher Horler @ 2015-01-10 10:59 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

chorler@linux-foxtrot:~/projects/src/qemu> git describe
v2.2.0-369-gab0302e

When booting Linux 3.19.1 (default buildroot), configured for realview-
pb-a8 on qemu from git (as above).

The following message appears (line 253/ 254 of attached log):
"GIC CPU mask not found - kernel will fail to boot."

The kernel does boot - so perhaps this is a misleading error message?
(though temporarily tweaking commit 6b9680bb does remove the message)

later the following three lines appear when pl061 is probed (resulting in ENODEV):
pl061_gpio dev:gpio0: invalid IRQ base in pdata
pl061_gpio dev:gpio1: invalid IRQ base in pdata
pl061_gpio dev:gpio2: invalid IRQ base in pdata

(from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)


qemu/hw/arm/realview.c
has some code that suggests to me pl061 is required for the MMC.

Where should I look to see how to initialise the irq_base member of the
platform data in QEmu?

** Affects: qemu
     Importance: Undecided
         Status: New

** Attachment added: "Kernel config"
   https://bugs.launchpad.net/bugs/1409246/+attachment/4295186/+files/test-realview-config

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1409246

Title:
  ARM GIC / PL061 error on uni-processor system

Status in QEMU:
  New

Bug description:
  chorler@linux-foxtrot:~/projects/src/qemu> git describe
  v2.2.0-369-gab0302e

  When booting Linux 3.19.1 (default buildroot), configured for
  realview-pb-a8 on qemu from git (as above).

  The following message appears (line 253/ 254 of attached log):
  "GIC CPU mask not found - kernel will fail to boot."

  The kernel does boot - so perhaps this is a misleading error message?
  (though temporarily tweaking commit 6b9680bb does remove the message)

  later the following three lines appear when pl061 is probed (resulting in ENODEV):
  pl061_gpio dev:gpio0: invalid IRQ base in pdata
  pl061_gpio dev:gpio1: invalid IRQ base in pdata
  pl061_gpio dev:gpio2: invalid IRQ base in pdata

  (from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)

  
  qemu/hw/arm/realview.c
  has some code that suggests to me pl061 is required for the MMC.

  Where should I look to see how to initialise the irq_base member of
  the platform data in QEmu?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1409246/+subscriptions

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-10 10:59 [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system Christopher Horler
@ 2015-01-10 11:00 ` Christopher Horler
  2015-01-10 15:33 ` Christopher Horler
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Christopher Horler @ 2015-01-10 11:00 UTC (permalink / raw)
  To: qemu-devel

** Attachment added: "QEmu command line / boot log"
   https://bugs.launchpad.net/qemu/+bug/1409246/+attachment/4295187/+files/qemu-console-boot.log

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1409246

Title:
  ARM GIC / PL061 error on uni-processor system

Status in QEMU:
  New

Bug description:
  chorler@linux-foxtrot:~/projects/src/qemu> git describe
  v2.2.0-369-gab0302e

  When booting Linux 3.19.1 (default buildroot), configured for
  realview-pb-a8 on qemu from git (as above).

  The following message appears (line 253/ 254 of attached log):
  "GIC CPU mask not found - kernel will fail to boot."

  The kernel does boot - so perhaps this is a misleading error message?
  (though temporarily tweaking commit 6b9680bb does remove the message)

  later the following three lines appear when pl061 is probed (resulting in ENODEV):
  pl061_gpio dev:gpio0: invalid IRQ base in pdata
  pl061_gpio dev:gpio1: invalid IRQ base in pdata
  pl061_gpio dev:gpio2: invalid IRQ base in pdata

  (from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)

  
  qemu/hw/arm/realview.c
  has some code that suggests to me pl061 is required for the MMC.

  Where should I look to see how to initialise the irq_base member of
  the platform data in QEmu?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1409246/+subscriptions

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-10 10:59 [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system Christopher Horler
  2015-01-10 11:00 ` [Qemu-devel] [Bug 1409246] " Christopher Horler
@ 2015-01-10 15:33 ` Christopher Horler
  2015-01-10 16:42 ` Christopher Horler
  2015-01-15 19:58 ` Christopher Horler
  3 siblings, 0 replies; 7+ messages in thread
From: Christopher Horler @ 2015-01-10 15:33 UTC (permalink / raw)
  To: qemu-devel

now I look further I notice that the pl061_platform_data structures are
not fully initialised in the kernel

linux-3.18.1/arch/arm/mach-realview/realview_pba8.c

so this probably isn't a qemu bug

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1409246

Title:
  ARM GIC / PL061 error on uni-processor system

Status in QEMU:
  New

Bug description:
  chorler@linux-foxtrot:~/projects/src/qemu> git describe
  v2.2.0-369-gab0302e

  When booting Linux 3.19.1 (default buildroot), configured for
  realview-pb-a8 on qemu from git (as above).

  The following message appears (line 253/ 254 of attached log):
  "GIC CPU mask not found - kernel will fail to boot."

  The kernel does boot - so perhaps this is a misleading error message?
  (though temporarily tweaking commit 6b9680bb does remove the message)

  later the following three lines appear when pl061 is probed (resulting in ENODEV):
  pl061_gpio dev:gpio0: invalid IRQ base in pdata
  pl061_gpio dev:gpio1: invalid IRQ base in pdata
  pl061_gpio dev:gpio2: invalid IRQ base in pdata

  (from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)

  
  qemu/hw/arm/realview.c
  has some code that suggests to me pl061 is required for the MMC.

  Where should I look to see how to initialise the irq_base member of
  the platform data in QEmu?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1409246/+subscriptions

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-10 10:59 [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system Christopher Horler
  2015-01-10 11:00 ` [Qemu-devel] [Bug 1409246] " Christopher Horler
  2015-01-10 15:33 ` Christopher Horler
@ 2015-01-10 16:42 ` Christopher Horler
  2015-01-12 22:15   ` Christopher Covington
  2015-01-15 19:58 ` Christopher Horler
  3 siblings, 1 reply; 7+ messages in thread
From: Christopher Horler @ 2015-01-10 16:42 UTC (permalink / raw)
  To: qemu-devel

confirmed - not a bug, patching the kernel fixes the problem.

** Changed in: qemu
       Status: New => Invalid

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1409246

Title:
  ARM GIC / PL061 error on uni-processor system

Status in QEMU:
  Invalid

Bug description:
  chorler@linux-foxtrot:~/projects/src/qemu> git describe
  v2.2.0-369-gab0302e

  When booting Linux 3.19.1 (default buildroot), configured for
  realview-pb-a8 on qemu from git (as above).

  The following message appears (line 253/ 254 of attached log):
  "GIC CPU mask not found - kernel will fail to boot."

  The kernel does boot - so perhaps this is a misleading error message?
  (though temporarily tweaking commit 6b9680bb does remove the message)

  later the following three lines appear when pl061 is probed (resulting in ENODEV):
  pl061_gpio dev:gpio0: invalid IRQ base in pdata
  pl061_gpio dev:gpio1: invalid IRQ base in pdata
  pl061_gpio dev:gpio2: invalid IRQ base in pdata

  (from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)

  
  qemu/hw/arm/realview.c
  has some code that suggests to me pl061 is required for the MMC.

  Where should I look to see how to initialise the irq_base member of
  the platform data in QEmu?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1409246/+subscriptions

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-10 16:42 ` Christopher Horler
@ 2015-01-12 22:15   ` Christopher Covington
  2015-01-14  8:56     ` Chris
  0 siblings, 1 reply; 7+ messages in thread
From: Christopher Covington @ 2015-01-12 22:15 UTC (permalink / raw)
  To: cshorler, qemu-devel

Hi Christopher,

On 01/10/2015 11:42 AM, Christopher Horler wrote:
> confirmed - not a bug, patching the kernel fixes the problem.

Mind pointing to your patch? I've been seeing the "GIC CPU mask not found -
kernel will fail to boot." message for a long time but since it was apparently
spurious never found the time to get to the bottom of it.

Thanks,
Chris

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-12 22:15   ` Christopher Covington
@ 2015-01-14  8:56     ` Chris
  0 siblings, 0 replies; 7+ messages in thread
From: Chris @ 2015-01-14  8:56 UTC (permalink / raw)
  To: Christopher Covington, qemu-devel

On 12 January 2015 22:15:22 GMT+00:00, Christopher Covington <cov@codeaurora.org> wrote:
>Hi Christopher,
>
>On 01/10/2015 11:42 AM, Christopher Horler wrote:
>> confirmed - not a bug, patching the kernel fixes the problem.
>
>Mind pointing to your patch? I've been seeing the "GIC CPU mask not
>found -
>kernel will fail to boot." message for a long time but since it was
>apparently
>spurious never found the time to get to the bottom of it.
>

I didn't fix that message, because it wasn't the cause of the mmc boot failure.  In the end what I did fix was a single line in pl061.c

I'll share that patch, when I can download an up to date git tree (probably this evening).  It could use a peer reviewing to know it's correct!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [Bug 1409246] Re: ARM GIC / PL061 error on uni-processor system
  2015-01-10 10:59 [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system Christopher Horler
                   ` (2 preceding siblings ...)
  2015-01-10 16:42 ` Christopher Horler
@ 2015-01-15 19:58 ` Christopher Horler
  3 siblings, 0 replies; 7+ messages in thread
From: Christopher Horler @ 2015-01-15 19:58 UTC (permalink / raw)
  To: qemu-devel

In arch/arm/mach-realview/realview_*.c pl061_platform_data irq_base
members are statically (default) initialised to 0 (whereas for versatile
they are explicitly set via defines in the platform headers).

In pl061_probe, -ENODEV is returned for irq_base <= 0.

Changing this to < 0, results in irq_domain_add_simple dynamically
allocating irqs - and in the case of qemu resolves booting from MMC /
SD, where pl061 is linked to pl181 in realview.c

I assume this is also valid for real hardware, but have no way to test.


I have not figured out what stops the 2.6 kernel booting, which is what I actually need... (seems to be coupled to mmci.c,  or possibly the ext2 filesystem)


** Patch added: "0001-fix-pl061-for-realview-boards-dynamically-allocate-i.patch"
   https://bugs.launchpad.net/qemu/+bug/1409246/+attachment/4299488/+files/0001-fix-pl061-for-realview-boards-dynamically-allocate-i.patch

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1409246

Title:
  ARM GIC / PL061 error on uni-processor system

Status in QEMU:
  Invalid

Bug description:
  chorler@linux-foxtrot:~/projects/src/qemu> git describe
  v2.2.0-369-gab0302e

  When booting Linux 3.19.1 (default buildroot), configured for
  realview-pb-a8 on qemu from git (as above).

  The following message appears (line 253/ 254 of attached log):
  "GIC CPU mask not found - kernel will fail to boot."

  The kernel does boot - so perhaps this is a misleading error message?
  (though temporarily tweaking commit 6b9680bb does remove the message)

  later the following three lines appear when pl061 is probed (resulting in ENODEV):
  pl061_gpio dev:gpio0: invalid IRQ base in pdata
  pl061_gpio dev:gpio1: invalid IRQ base in pdata
  pl061_gpio dev:gpio2: invalid IRQ base in pdata

  (from linux-3.18.1/drivers/gpio/gpio-pl061.c line 253)

  
  qemu/hw/arm/realview.c
  has some code that suggests to me pl061 is required for the MMC.

  Where should I look to see how to initialise the irq_base member of
  the platform data in QEmu?

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1409246/+subscriptions

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-01-15 20:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-10 10:59 [Qemu-devel] [Bug 1409246] [NEW] ARM GIC / PL061 error on uni-processor system Christopher Horler
2015-01-10 11:00 ` [Qemu-devel] [Bug 1409246] " Christopher Horler
2015-01-10 15:33 ` Christopher Horler
2015-01-10 16:42 ` Christopher Horler
2015-01-12 22:15   ` Christopher Covington
2015-01-14  8:56     ` Chris
2015-01-15 19:58 ` Christopher Horler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.