All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments
@ 2018-06-18 21:04 Guenter Roeck
  2018-07-14 13:53 ` [Qemu-devel] " Guenter Roeck
  2018-07-16 13:48 ` [Qemu-devel] [PATCH] " Peter Maydell
  0 siblings, 2 replies; 7+ messages in thread
From: Guenter Roeck @ 2018-06-18 21:04 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel, Guenter Roeck

RX and TX interrupt bits were reversed, resulting in an endless sequence
of serial interupts in the emulated system and the following repeated
error message when booting Linux.

serial8250: too much work for irq61

This results in a boot failure most of the time.

Qemu command line used to reproduce the problem:

	qemu-system-aarch64 -M raspi3 -m 1024 \
	-kernel arch/arm64/boot/Image \
	--append "rdinit=/sbin/init console=ttyS1,115200"
	-initrd rootfs.cpio \
	-dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
	-nographic -monitor null -serial null -serial stdio

This is with arm64:defconfig. The root file system was generated using
buildroot.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 hw/char/bcm2835_aux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/char/bcm2835_aux.c b/hw/char/bcm2835_aux.c
index 370dc7e..0364596 100644
--- a/hw/char/bcm2835_aux.c
+++ b/hw/char/bcm2835_aux.c
@@ -39,8 +39,8 @@
 #define AUX_MU_BAUD_REG 0x68
 
 /* bits in IER/IIR registers */
-#define TX_INT  0x1
-#define RX_INT  0x2
+#define RX_INT  0x1
+#define TX_INT  0x2
 
 static void bcm2835_aux_update(BCM2835AuxState *s)
 {
-- 
2.7.4

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

* Re: [Qemu-devel] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-06-18 21:04 [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments Guenter Roeck
@ 2018-07-14 13:53 ` Guenter Roeck
  2018-07-15 14:25   ` Paolo Bonzini
  2018-07-16 13:48 ` [Qemu-devel] [PATCH] " Peter Maydell
  1 sibling, 1 reply; 7+ messages in thread
From: Guenter Roeck @ 2018-07-14 13:53 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel

ping ...

On Mon, Jun 18, 2018 at 02:04:06PM -0700, Guenter Roeck wrote:
> RX and TX interrupt bits were reversed, resulting in an endless sequence
> of serial interupts in the emulated system and the following repeated
> error message when booting Linux.
> 
> serial8250: too much work for irq61
> 
> This results in a boot failure most of the time.
> 
> Qemu command line used to reproduce the problem:
> 
> 	qemu-system-aarch64 -M raspi3 -m 1024 \
> 	-kernel arch/arm64/boot/Image \
> 	--append "rdinit=/sbin/init console=ttyS1,115200"
> 	-initrd rootfs.cpio \
> 	-dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
> 	-nographic -monitor null -serial null -serial stdio
> 
> This is with arm64:defconfig. The root file system was generated using
> buildroot.
> 
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  hw/char/bcm2835_aux.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/char/bcm2835_aux.c b/hw/char/bcm2835_aux.c
> index 370dc7e..0364596 100644
> --- a/hw/char/bcm2835_aux.c
> +++ b/hw/char/bcm2835_aux.c
> @@ -39,8 +39,8 @@
>  #define AUX_MU_BAUD_REG 0x68
>  
>  /* bits in IER/IIR registers */
> -#define TX_INT  0x1
> -#define RX_INT  0x2
> +#define RX_INT  0x1
> +#define TX_INT  0x2
>  
>  static void bcm2835_aux_update(BCM2835AuxState *s)
>  {

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

* Re: [Qemu-devel] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-07-14 13:53 ` [Qemu-devel] " Guenter Roeck
@ 2018-07-15 14:25   ` Paolo Bonzini
  0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2018-07-15 14:25 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: qemu-devel

On 14/07/2018 15:53, Guenter Roeck wrote:
> ping ...

Queued, thanks.

Paolo

> On Mon, Jun 18, 2018 at 02:04:06PM -0700, Guenter Roeck wrote:
>> RX and TX interrupt bits were reversed, resulting in an endless sequence
>> of serial interupts in the emulated system and the following repeated
>> error message when booting Linux.
>>
>> serial8250: too much work for irq61
>>
>> This results in a boot failure most of the time.
>>
>> Qemu command line used to reproduce the problem:
>>
>> 	qemu-system-aarch64 -M raspi3 -m 1024 \
>> 	-kernel arch/arm64/boot/Image \
>> 	--append "rdinit=/sbin/init console=ttyS1,115200"
>> 	-initrd rootfs.cpio \
>> 	-dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
>> 	-nographic -monitor null -serial null -serial stdio
>>
>> This is with arm64:defconfig. The root file system was generated using
>> buildroot.
>>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>>  hw/char/bcm2835_aux.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/char/bcm2835_aux.c b/hw/char/bcm2835_aux.c
>> index 370dc7e..0364596 100644
>> --- a/hw/char/bcm2835_aux.c
>> +++ b/hw/char/bcm2835_aux.c
>> @@ -39,8 +39,8 @@
>>  #define AUX_MU_BAUD_REG 0x68
>>  
>>  /* bits in IER/IIR registers */
>> -#define TX_INT  0x1
>> -#define RX_INT  0x2
>> +#define RX_INT  0x1
>> +#define TX_INT  0x2
>>  
>>  static void bcm2835_aux_update(BCM2835AuxState *s)
>>  {

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

* Re: [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-06-18 21:04 [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments Guenter Roeck
  2018-07-14 13:53 ` [Qemu-devel] " Guenter Roeck
@ 2018-07-16 13:48 ` Peter Maydell
  2018-07-16 14:13   ` Guenter Roeck
  1 sibling, 1 reply; 7+ messages in thread
From: Peter Maydell @ 2018-07-16 13:48 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paolo Bonzini, QEMU Developers

On 18 June 2018 at 22:04, Guenter Roeck <linux@roeck-us.net> wrote:
> RX and TX interrupt bits were reversed, resulting in an endless sequence
> of serial interupts in the emulated system and the following repeated
> error message when booting Linux.
>
> serial8250: too much work for irq61
>
> This results in a boot failure most of the time.
>
> Qemu command line used to reproduce the problem:
>
>         qemu-system-aarch64 -M raspi3 -m 1024 \
>         -kernel arch/arm64/boot/Image \
>         --append "rdinit=/sbin/init console=ttyS1,115200"
>         -initrd rootfs.cpio \
>         -dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
>         -nographic -monitor null -serial null -serial stdio
>
> This is with arm64:defconfig. The root file system was generated using
> buildroot.

Worth mentioning in the commit message that there is an
error in the BCM2835 datasheet for the TX_INT and RX_INT
bits in the AUX_MU_IER_REG description (as per
https://elinux.org/BCM2835_datasheet_errata)

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-07-16 13:48 ` [Qemu-devel] [PATCH] " Peter Maydell
@ 2018-07-16 14:13   ` Guenter Roeck
  2018-07-16 14:47     ` Peter Maydell
  0 siblings, 1 reply; 7+ messages in thread
From: Guenter Roeck @ 2018-07-16 14:13 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers

On 07/16/2018 06:48 AM, Peter Maydell wrote:
> On 18 June 2018 at 22:04, Guenter Roeck <linux@roeck-us.net> wrote:
>> RX and TX interrupt bits were reversed, resulting in an endless sequence
>> of serial interupts in the emulated system and the following repeated
>> error message when booting Linux.
>>
>> serial8250: too much work for irq61
>>
>> This results in a boot failure most of the time.
>>
>> Qemu command line used to reproduce the problem:
>>
>>          qemu-system-aarch64 -M raspi3 -m 1024 \
>>          -kernel arch/arm64/boot/Image \
>>          --append "rdinit=/sbin/init console=ttyS1,115200"
>>          -initrd rootfs.cpio \
>>          -dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
>>          -nographic -monitor null -serial null -serial stdio
>>
>> This is with arm64:defconfig. The root file system was generated using
>> buildroot.
> 
> Worth mentioning in the commit message that there is an
> error in the BCM2835 datasheet for the TX_INT and RX_INT
> bits in the AUX_MU_IER_REG description (as per
> https://elinux.org/BCM2835_datasheet_errata)
> 

I didn't know that ;-). I found out the hard way.

Guenter

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

* Re: [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-07-16 14:13   ` Guenter Roeck
@ 2018-07-16 14:47     ` Peter Maydell
  2018-07-16 14:58       ` Paolo Bonzini
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Maydell @ 2018-07-16 14:47 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paolo Bonzini, QEMU Developers

On 16 July 2018 at 15:13, Guenter Roeck <linux@roeck-us.net> wrote:
> On 07/16/2018 06:48 AM, Peter Maydell wrote:
>>
>> On 18 June 2018 at 22:04, Guenter Roeck <linux@roeck-us.net> wrote:
>>>
>>> RX and TX interrupt bits were reversed, resulting in an endless sequence
>>> of serial interupts in the emulated system and the following repeated
>>> error message when booting Linux.
>>>
>>> serial8250: too much work for irq61
>>>
>>> This results in a boot failure most of the time.
>>>
>>> Qemu command line used to reproduce the problem:
>>>
>>>          qemu-system-aarch64 -M raspi3 -m 1024 \
>>>          -kernel arch/arm64/boot/Image \
>>>          --append "rdinit=/sbin/init console=ttyS1,115200"
>>>          -initrd rootfs.cpio \
>>>          -dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb \
>>>          -nographic -monitor null -serial null -serial stdio
>>>
>>> This is with arm64:defconfig. The root file system was generated using
>>> buildroot.
>>
>>
>> Worth mentioning in the commit message that there is an
>> error in the BCM2835 datasheet for the TX_INT and RX_INT
>> bits in the AUX_MU_IER_REG description (as per
>> https://elinux.org/BCM2835_datasheet_errata)
>>
>
> I didn't know that ;-). I found out the hard way.

I'll take this through target-arm.next (I have some other patches
for rc1 anyway) and adjust the commit message.

Paolo: you can drop it from your queue.

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments
  2018-07-16 14:47     ` Peter Maydell
@ 2018-07-16 14:58       ` Paolo Bonzini
  0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2018-07-16 14:58 UTC (permalink / raw)
  To: Peter Maydell, Guenter Roeck; +Cc: QEMU Developers

On 16/07/2018 16:47, Peter Maydell wrote:
>> I didn't know that ;-). I found out the hard way.
> I'll take this through target-arm.next (I have some other patches
> for rc1 anyway) and adjust the commit message.
> 
> Paolo: you can drop it from your queue.

Done, thanks!

Paolo

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

end of thread, other threads:[~2018-07-16 14:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-18 21:04 [Qemu-devel] [PATCH] bcm2835_aux: Swap RX and TX interrupt assignments Guenter Roeck
2018-07-14 13:53 ` [Qemu-devel] " Guenter Roeck
2018-07-15 14:25   ` Paolo Bonzini
2018-07-16 13:48 ` [Qemu-devel] [PATCH] " Peter Maydell
2018-07-16 14:13   ` Guenter Roeck
2018-07-16 14:47     ` Peter Maydell
2018-07-16 14:58       ` Paolo Bonzini

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.