qemu-e2k/hw
Mark Cave-Ayland 1d3d62dff8 nubus: generate bus error when attempting to access empty slots
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 <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210924073808.1041-9-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2021-09-29 10:45:19 +02:00
..
9pfs 9pfs: fix crash in v9fs_walk() 2021-09-02 13:26:22 +02:00
acpi hw/acpi: use existing references to pci device struct within functions 2021-09-04 17:34:05 -04:00
adc
alpha
arm hw/arm/aspeed: Add Fuji machine type 2021-09-20 08:50:59 +02:00
audio
avr
block
char hw/char: cadence_uart: Log a guest error when device is unclocked or in reset 2021-09-13 16:07:21 +01:00
core Block patches: 2021-09-02 13:00:52 +01:00
cpu
cris
display virtio-gpu: Add gl_flushed callback 2021-09-15 08:42:00 +02:00
dma hw/dma: sifive_pdma: don't set Control.error if 0 bytes to transfer 2021-09-21 07:56:49 +10:00
gpio hw: aspeed_gpio: Clarify GPIO controller name 2021-09-20 08:50:59 +02:00
hppa
hyperv
i2c
i386 hw/loader: Restrict PC_ROM_* definitions to hw/i386/pc 2021-09-27 10:57:21 +02:00
ide
input ps2: migration support for command reply queue 2021-09-10 07:32:32 +02:00
intc Second RISC-V PR for QEMU 6.2 2021-09-21 10:57:48 -07:00
ipack
ipmi
isa q35: catch invalid cpu hotplug configuration 2021-09-04 09:07:45 -04:00
m68k mac_via: remove explicit viaN prefix from VIA IRQ gpios 2021-09-08 15:37:40 +02:00
mem
microblaze
mips arch_init.h: Don't include arch_init.h unnecessarily 2021-08-26 17:02:00 +01:00
misc hw/arm/aspeed: Initialize AST2600 UART clock selection registers 2021-09-20 08:50:59 +02:00
net virtio-net: fix use after unmap/free for sg 2021-09-17 16:07:52 +08:00
nios2
nubus nubus: generate bus error when attempting to access empty slots 2021-09-29 10:45:19 +02:00
nvme hw/nvme: Return error for fused operations 2021-09-24 08:43:58 +02:00
nvram fw_cfg: add etc/msr_feature_control 2021-09-13 13:56:26 +02:00
openrisc
pci
pci-bridge
pci-host hw/pci: remove all references to find_i440fx function 2021-09-04 17:34:05 -04:00
pcmcia
ppc hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
rdma
remote Remove superfluous ERRP_GUARD() 2021-08-26 17:15:28 +02:00
riscv hw/riscv: opentitan: Correct the USB Dev address 2021-09-21 12:10:47 +10:00
rtc
rx
s390x s390x/cpumodel: Add more feature to gen16 default model 2021-09-07 13:36:43 +02:00
scsi vhost-scsi: Plug memory leak on migrate_add_blocker() failure 2021-08-26 17:15:28 +02:00
sd
sensor hw/misc: Add Infineon DPS310 sensor model 2021-09-20 08:50:59 +02:00
sh4
smbios
sparc sun4m: fix setting CPU id when more than one CPU is present 2021-09-08 11:09:45 +01:00
sparc64
ssi
timer hw/timer: Add SiFive PWM support 2021-09-21 07:56:49 +10:00
tpm
tricore
usb hw/usb: Fix typo in comments and print 2021-09-01 06:37:13 +02:00
vfio hw/vfio: Fix typo in comments 2021-09-16 11:57:01 +02:00
virtio vhost-vdpa: correctly return err in vhost_vdpa_set_backend_cap() 2021-09-04 17:34:05 -04:00
watchdog watchdog: aspeed: Fix sequential control writes 2021-09-20 08:50:59 +02:00
xen
xenpv
xtensa
Kconfig
meson.build