mbox series

[0/3] escc: fix R_STATUS when SDLC mode is enabled

Message ID 20210829100103.1950-1-mark.cave-ayland@ilande.co.uk
Headers show
Series escc: fix R_STATUS when SDLC mode is enabled | expand

Message

Mark Cave-Ayland Aug. 29, 2021, 10:01 a.m. UTC
Here is another small set of ESCC fixes from my attempts to boot MacOS on the q800
machine.

When MacOS loads the OpenTransport extension on boot it attempts to enable
SDLC mode on the ESCC. QEMU's emulation doesn't support SDLC mode, but without
these fixes the active low STATUS_SYNC bit in R_STATUS is continually
asserted causing the extension to hang on startup as it believe it is constantly
receiving LocalTalk responses during its initial negotiation phase.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


Mark Cave-Ayland (3):
  escc: checkpatch fixes
  escc: fix R_STATUS channel reset value
  escc: fix STATUS_SYNC bit in R_STATUS register

 hw/char/escc.c | 174 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 106 insertions(+), 68 deletions(-)

Comments

Peter Maydell Aug. 29, 2021, 1:19 p.m. UTC | #1
On Sun, 29 Aug 2021 at 11:05, Mark Cave-Ayland
<mark.cave-ayland@ilande.co.uk> wrote:
>
> Here is another small set of ESCC fixes from my attempts to boot MacOS on the q800
> machine.
>
> When MacOS loads the OpenTransport extension on boot it attempts to enable
> SDLC mode on the ESCC. QEMU's emulation doesn't support SDLC mode, but without
> these fixes the active low STATUS_SYNC bit in R_STATUS is continually
> asserted causing the extension to hang on startup as it believe it is constantly
> receiving LocalTalk responses during its initial negotiation phase.

The ESCC data sheet is the first one I've ever encountered that includes
a multiple-choice test on features of the device ("ESCC Questions and Answers"
on pages 385/386: http://www.zilog.com/docs/serial/scc_escc_um.pdf ) :-)

-- PMM
Mark Cave-Ayland Aug. 30, 2021, 7:24 a.m. UTC | #2
On 29/08/2021 14:19, Peter Maydell wrote:

> On Sun, 29 Aug 2021 at 11:05, Mark Cave-Ayland
> <mark.cave-ayland@ilande.co.uk> wrote:
>>
>> Here is another small set of ESCC fixes from my attempts to boot MacOS on the q800
>> machine.
>>
>> When MacOS loads the OpenTransport extension on boot it attempts to enable
>> SDLC mode on the ESCC. QEMU's emulation doesn't support SDLC mode, but without
>> these fixes the active low STATUS_SYNC bit in R_STATUS is continually
>> asserted causing the extension to hang on startup as it believe it is constantly
>> receiving LocalTalk responses during its initial negotiation phase.
> 
> The ESCC data sheet is the first one I've ever encountered that includes
> a multiple-choice test on features of the device ("ESCC Questions and Answers"
> on pages 385/386: http://www.zilog.com/docs/serial/scc_escc_um.pdf ) :-)

I wonder why the idea never took hold? :D


ATB,

Mark.