use empty_slot device for the RAM which is not installed Models without ECC don't trap when missing ram is accessed.
v0->v1 compile only once and fix indentation Signed-off-by: Artyom Tarasenko <atar4q...@gmail.com> --- diff --git a/Makefile.objs b/Makefile.objs index ab1af88..f4d2faf 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -140,6 +140,7 @@ hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o hw-obj-$(CONFIG_M48T59) += m48t59.o hw-obj-$(CONFIG_ESCC) += escc.o +hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o hw-obj-$(CONFIG_SERIAL) += serial.o hw-obj-$(CONFIG_PARALLEL) += parallel.o diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak index 54899ff..becf880 100644 --- a/default-configs/sparc-softmmu.mak +++ b/default-configs/sparc-softmmu.mak @@ -7,3 +7,4 @@ CONFIG_M48T59=y CONFIG_PTIMER=y CONFIG_FDC=y CONFIG_VIRTIO_PCI=y +CONFIG_EMPTY_SLOT=y diff --git a/hw/sun4m.c b/hw/sun4m.c index 90e661d..73b6949 100644 --- a/hw/sun4m.c +++ b/hw/sun4m.c @@ -36,6 +36,7 @@ #include "isa.h" #include "fw_cfg.h" #include "escc.h" +#include "empty_slot.h" #include "qdev-addr.h" #include "loader.h" #include "elf.h" @@ -820,7 +821,11 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size, /* set up devices */ ram_init(0, RAM_size, hwdef->max_mem); - + /* models without ECC don't trap when missing ram is accessed */ + if (!hwdef->ecc_base) { + empty_slot_init(RAM_size, hwdef->max_mem - RAM_size); + } + prom_init(hwdef->slavio_base, bios_name); slavio_intctl = slavio_intctl_init(hwdef->intctl_base,