summaryrefslogtreecommitdiffstats
path: root/hw/arm/raspi.c
diff options
context:
space:
mode:
authorGrégory ESTRADE <gregory.estrade@gmail.com>2016-03-16 17:06:01 +0000
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 19:49:38 -0600
commit3f85a5fc2697cb7589fb69f9f2060080bc595dd5 (patch)
tree03b2f4425a067686e93f08cdd505eacf6223f74d /hw/arm/raspi.c
parent265bd1aa2a9e1ea337ff28be7620beabe859082b (diff)
downloadhqemu-3f85a5fc2697cb7589fb69f9f2060080bc595dd5.zip
hqemu-3f85a5fc2697cb7589fb69f9f2060080bc595dd5.tar.gz
bcm2835_fb: add framebuffer device for Raspberry Pi
The framebuffer occupies the upper portion of memory (64MiB by default), but it can only be controlled/configured via a system mailbox or property channel (to be added by a subsequent patch). Signed-off-by: Grégory ESTRADE <gregory.estrade@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com> Message-id: 1457467526-8840-4-git-send-email-Andrew.Baumann@microsoft.com [AB: added Windows (BGR) support and cleanup/refactoring for upstream submission] Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/raspi.c')
-rw-r--r--hw/arm/raspi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index 6582279..5498209 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -113,6 +113,7 @@ static void setup_boot(MachineState *machine, int version, size_t ram_size)
static void raspi2_init(MachineState *machine)
{
RasPiState *s = g_new0(RasPiState, 1);
+ uint32_t vcram_size;
DriveInfo *di;
BlockBackend *blk;
BusState *bus;
@@ -149,7 +150,9 @@ static void raspi2_init(MachineState *machine)
qdev_prop_set_drive(carddev, "drive", blk, &error_fatal);
object_property_set_bool(OBJECT(carddev), true, "realized", &error_fatal);
- setup_boot(machine, 2, machine->ram_size);
+ vcram_size = object_property_get_int(OBJECT(&s->soc), "vcram-size",
+ &error_abort);
+ setup_boot(machine, 2, machine->ram_size - vcram_size);
}
static void raspi2_machine_init(MachineClass *mc)
OpenPOWER on IntegriCloud