[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 11/14] aspeed: calculate the RAM size bits at rea
From: |
Cédric Le Goater |
Subject: |
[Qemu-devel] [PATCH v5 11/14] aspeed: calculate the RAM size bits at realize time |
Date: |
Fri, 9 Sep 2016 18:22:54 +0200 |
There is no need to do this at each reset as the RAM size will not
change.
Signed-off-by: Cédric Le Goater <address@hidden>
---
hw/misc/aspeed_sdmc.c | 16 ++++++++++++++--
include/hw/misc/aspeed_sdmc.h | 1 +
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c
index 244e5c0dc5ef..1d2825237728 100644
--- a/hw/misc/aspeed_sdmc.c
+++ b/hw/misc/aspeed_sdmc.c
@@ -192,7 +192,7 @@ static void aspeed_sdmc_reset(DeviceState *dev)
case AST2400_A0_SILICON_REV:
s->regs[R_CONF] |=
ASPEED_SDMC_VGA_COMPAT |
- ASPEED_SDMC_DRAM_SIZE(ast2400_rambits());
+ ASPEED_SDMC_DRAM_SIZE(s->ram_bits);
break;
case AST2500_A0_SILICON_REV:
@@ -200,7 +200,7 @@ static void aspeed_sdmc_reset(DeviceState *dev)
s->regs[R_CONF] |=
ASPEED_SDMC_HW_VERSION(1) |
ASPEED_SDMC_VGA_APERTURE(ASPEED_SDMC_VGA_64MB) |
- ASPEED_SDMC_DRAM_SIZE(ast2500_rambits());
+ ASPEED_SDMC_DRAM_SIZE(s->ram_bits);
break;
default:
@@ -219,6 +219,18 @@ static void aspeed_sdmc_realize(DeviceState *dev, Error
**errp)
return;
}
+ switch (s->silicon_rev) {
+ case AST2400_A0_SILICON_REV:
+ s->ram_bits = ast2400_rambits();
+ break;
+ case AST2500_A0_SILICON_REV:
+ case AST2500_A1_SILICON_REV:
+ s->ram_bits = ast2500_rambits();
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
memory_region_init_io(&s->iomem, OBJECT(s), &aspeed_sdmc_ops, s,
TYPE_ASPEED_SDMC, 0x1000);
sysbus_init_mmio(sbd, &s->iomem);
diff --git a/include/hw/misc/aspeed_sdmc.h b/include/hw/misc/aspeed_sdmc.h
index 7e081f6d2b86..df7dce0edddf 100644
--- a/include/hw/misc/aspeed_sdmc.h
+++ b/include/hw/misc/aspeed_sdmc.h
@@ -25,6 +25,7 @@ typedef struct AspeedSDMCState {
uint32_t regs[ASPEED_SDMC_NR_REGS];
uint32_t silicon_rev;
+ uint32_t ram_bits;
} AspeedSDMCState;
--
2.7.4
- [Qemu-devel] [PATCH v5 01/14] ast2400: rename the Aspeed SoC files to aspeed_soc, (continued)
- [Qemu-devel] [PATCH v5 01/14] ast2400: rename the Aspeed SoC files to aspeed_soc, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 02/14] ast2400: replace ast2400 with aspeed_soc, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 03/14] aspeed-soc: provide a framework to add new SoCs, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 04/14] palmetto-bmc: rename the Aspeed board file to aspeed.c, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 05/14] palmetto-bmc: replace palmetto_bmc with aspeed, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 06/14] palmetto-bmc: add board specific configuration, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 07/14] hw/misc: use macros to define hw-strap1 register on the AST2400 Aspeed SoC, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 08/14] aspeed: add a ast2500 SoC and support to the SCU and SDMC controllers, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 09/14] arm: add support for an ast2500 evaluation board, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 10/14] palmetto-bmc: remove extra no_sdcard assignement, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 11/14] aspeed: calculate the RAM size bits at realize time,
Cédric Le Goater <=
- [Qemu-devel] [PATCH v5 12/14] aspeed: use error_report instead of LOG_GUEST_ERROR, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 13/14] aspeed: add a ram_size property to the memory controller, Cédric Le Goater, 2016/09/09
- [Qemu-devel] [PATCH v5 14/14] aspeed: allocate RAM after the memory controller has checked the size, Cédric Le Goater, 2016/09/09
- Re: [Qemu-devel] [PATCH v5 00/14] arm: add ast2500 support, Peter Maydell, 2016/09/19