From 56839a19e875e5e7b1851840c93422bafb414ef0 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sun, 11 Apr 2010 03:58:19 +0200 Subject: [PATCH] hw/r2d: add flash memory Signed-off-by: Aurelien Jarno --- default-configs/sh4-softmmu.mak | 1 + default-configs/sh4eb-softmmu.mak | 1 + hw/r2d.c | 13 +++++++++++++ 3 files changed, 15 insertions(+) diff --git a/default-configs/sh4-softmmu.mak b/default-configs/sh4-softmmu.mak index 15f4670215..7c0d3288e3 100644 --- a/default-configs/sh4-softmmu.mak +++ b/default-configs/sh4-softmmu.mak @@ -5,3 +5,4 @@ CONFIG_SERIAL=y CONFIG_PTIMER=y CONFIG_VIRTIO_PCI=y CONFIG_IDE_CORE=y +CONFIG_PFLASH_CFI02=y diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/sh4eb-softmmu.mak index 7fd5c47e61..f4c3252a99 100644 --- a/default-configs/sh4eb-softmmu.mak +++ b/default-configs/sh4eb-softmmu.mak @@ -5,3 +5,4 @@ CONFIG_SERIAL=y CONFIG_PTIMER=y CONFIG_VIRTIO_PCI=y CONFIG_IDE_CORE=y +CONFIG_PFLASH_CFI02=y diff --git a/hw/r2d.c b/hw/r2d.c index ec075db331..961991b099 100644 --- a/hw/r2d.c +++ b/hw/r2d.c @@ -35,6 +35,10 @@ #include "ide.h" #include "loader.h" #include "usb.h" +#include "flash.h" + +#define FLASH_BASE 0x00000000 +#define FLASH_SIZE 0x02000000 #define SDRAM_BASE 0x0c000000 /* Physical location of SDRAM: Area 3 */ #define SDRAM_SIZE 0x04000000 @@ -237,6 +241,15 @@ static void r2d_init(ram_addr_t ram_size, mmio_ide_init(0x14001000, 0x1400080c, irq[CF_IDE], 1, dinfo, NULL); + /* onboard flash memory */ + if ((dinfo = drive_get(IF_PFLASH, 0, 0)) != NULL) { + pflash_cfi02_register(0x0, qemu_ram_alloc(FLASH_SIZE), + dinfo->bdrv, (16 * 1024), + FLASH_SIZE >> 16, + 1, 4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x555, 0x2aa, 0); + } + /* NIC: rtl8139 on-board, and 2 slots. */ for (i = 0; i < nb_nics; i++) pci_nic_init_nofail(&nd_table[i], "rtl8139", i==0 ? "2" : NULL);