On 9/12/21 9:49 AM, Mark Cave-Ayland wrote:
> According to "Designing Cards and Drivers for the Macintosh Family" any
> attempt
> to access an unimplemented address location on Nubus generates a bus error.
> MacOS
> uses a custom bus error handler to detect empty Nubus slots, and with the
> current
> implementation assumes that all slots are occupied as the Nubus transactions
> never fail.
>
> Switch nubus_slot_ops and nubus_super_slot_ops over to use
> {read,write}_with_attrs
> and hard-code them to return MEMTX_DECODE_ERROR so that unoccupied Nubus slots
> will generate the expected bus error.
>
> Signed-off-by: Mark Cave-Ayland <[email protected]>
> ---
> hw/nubus/nubus-bus.c | 34 ++++++++++++++++++----------------
> 1 file changed, 18 insertions(+), 16 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>