aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom Tarasenko <atar4qemu@googlemail.com>2010-04-18 00:34:03 +0200
committerBlue Swirl <blauwirbel@gmail.com>2010-04-18 08:55:20 +0000
commit676d9b9b883691cf99e298291dbc2ad7956516b9 (patch)
treedf008d980c3360a84602df560a3f8891479ac8d4
parentda9fcfa54486797a5f261b43ad0c0b2f8dc47181 (diff)
sparc32 use empty_slot for missing RAM v1
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 <atar4qemu@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--Makefile.objs1
-rw-r--r--default-configs/sparc-softmmu.mak1
-rw-r--r--hw/sun4m.c5
3 files changed, 7 insertions, 0 deletions
diff --git a/Makefile.objs b/Makefile.objs
index ab1af88af2..f4d2faf06c 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 54899ffc58..becf88096c 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 90e661d5c2..9a79120b1d 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,6 +821,10 @@ 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);