From 48ff812a4b649fa7b1c73740ef65e4855640dc39 Mon Sep 17 00:00:00 2001 From: Jiang Lu Date: Fri, 28 Mar 2014 17:42:44 +0800 Subject: Qemu:Arm:versatilepb: Add memory size checking The machine can not work with memory over 256M, so add a checking at startup. If the memory size exceed 256M, just stop emulation then throw out warning about memory limitation. Signed-off-by: Jiang Lu Signed-off-by: Robert Yang Signed-off-by: Jeff Polk Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie --- ...-Arm-versatilepb-Add-memory-size-checking.patch | 40 ++++++++++++++++++++++ meta/recipes-devtools/qemu/qemu_1.7.0.bb | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch (limited to 'meta/recipes-devtools/qemu') diff --git a/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch b/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch new file mode 100644 index 0000000000..3834aed6d0 --- /dev/null +++ b/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch @@ -0,0 +1,40 @@ +From 896fa02c24347e6e9259812cfda187b1d6ca6199 Mon Sep 17 00:00:00 2001 +From: Jiang Lu +Date: Wed, 13 Nov 2013 10:38:08 +0800 +Subject: [PATCH] Qemu:Arm:versatilepb: Add memory size checking + +The machine can not work with memory over 256M, so add a checking +at startup. If the memory size exceed 256M, just stop emulation then +throw out warning about memory limitation. + +Upstream-Status: Pending + +Signed-off-by: Jiang Lu + +Updated it on 2014-01-15 for rebasing + +Signed-off-by: Robert Yang +--- + hw/arm/versatilepb.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c +index b48d84c..ad2cd5a 100644 +--- a/hw/arm/versatilepb.c ++++ b/hw/arm/versatilepb.c +@@ -199,6 +199,12 @@ static void versatile_init(QEMUMachineInitArgs *args, int board_id) + fprintf(stderr, "Unable to find CPU definition\n"); + exit(1); + } ++ if (ram_size > (256 << 20)) { ++ fprintf(stderr, ++ "qemu: Too much memory for this machine: %d MB, maximum 256 MB\n", ++ ((unsigned int)ram_size / (1 << 20))); ++ exit(1); ++ } + memory_region_init_ram(ram, NULL, "versatile.ram", args->ram_size); + vmstate_register_ram_global(ram); + /* ??? RAM should repeat to fill physical memory space. */ +-- +1.7.10.4 + diff --git a/meta/recipes-devtools/qemu/qemu_1.7.0.bb b/meta/recipes-devtools/qemu/qemu_1.7.0.bb index be6dd51df4..b776cccc02 100644 --- a/meta/recipes-devtools/qemu/qemu_1.7.0.bb +++ b/meta/recipes-devtools/qemu/qemu_1.7.0.bb @@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" SRC_URI += "file://fxrstorssefix.patch \ - file://qemu-enlarge-env-entry-size.patch" + file://qemu-enlarge-env-entry-size.patch \ + file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch" SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" SRC_URI[md5sum] = "32893941d40d052a5e649efcf06aca06" -- cgit 1.2.3-korg