[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 09/12] hw/char/pl011: Check if transmitter is enabled
From: |
Peter Maydell |
Subject: |
Re: [PATCH 09/12] hw/char/pl011: Check if transmitter is enabled |
Date: |
Thu, 25 May 2023 13:55:22 +0100 |
On Thu, 25 May 2023 at 13:52, Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Peter Maydell <peter.maydell@linaro.org> writes:
>
> > On Mon, 22 May 2023 at 16:32, Philippe Mathieu-Daudé <philmd@linaro.org>
> > wrote:
> >>
> >> Do not transmit characters when UART or transmitter are disabled.
> >>
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> >
> > Last time somebody tried to add checks on the tx/rx enable bits
> > for the PL011 it broke 'make check' because the hand-rolled
> > UART code in boot-serial-test and migration-test doesn't
> > set up the UART control register strictly correctly:
> >
> > https://lore.kernel.org/qemu-devel/CAFEAcA8ZDmjP7G0eVpxcB1jiSGarZAbqPV0xr5WquR213mBUBg@mail.gmail.com/
> >
> > Given that imposing these checks doesn't help anything
> > much and might break naive bare-metal tested-only-on-QEMU
> > code, is it worthwhile ?
>
> Surely we aim to be a correct model so the fix should be in our naive
> and incorrect code?
In our own test suites, sure -- we should probably fix that
even if we don't change the PL011 model to require it.
But if we let this kind of thing get past us in our own testsuite,
it suggests there's probably a lot of similar naive code out
there in the world -- these Arm boards with PL011s are pretty
commonly used for "my first bare metal assembly program" stuff
and there's a lot of cargo-culting of how to do things like
serial output, and programs that were never tested on any
real hardware...
thanks
-- PMM
- [PATCH 05/12] hw/char/pl011: Remove duplicated PL011_INT_[RT]X definitions, (continued)
[PATCH 01/12] util/fifo8: Fix typo in fifo8_push_all() description, Philippe Mathieu-Daudé, 2023/05/22
[PATCH 04/12] hw/char/pl011: Display register name in trace events, Philippe Mathieu-Daudé, 2023/05/22
[PATCH 08/12] hw/char/pl011: Extract pl011_write_tx() from pl011_write(), Philippe Mathieu-Daudé, 2023/05/22
[PATCH 10/12] hw/char/pl011: Check if receiver is enabled, Philippe Mathieu-Daudé, 2023/05/22