aboutsummaryrefslogtreecommitdiffstats
path: root/hw/pc.c
diff options
context:
space:
mode:
authorJun Nakajima <jnakajim@gmail.com>2011-02-08 22:10:52 -0800
committerJun Nakajima <jnakajim@gmail.com>2011-02-08 22:10:52 -0800
commitbac9add881e0b7cfa2da2b86242347c096329a4c (patch)
treef6888d112719722f120651077acd1032e0eaae17 /hw/pc.c
parent38985a066294ddecdcebab5d800c6100a6ae03e0 (diff)
downloadexternal_qemu-bac9add881e0b7cfa2da2b86242347c096329a4c.zip
external_qemu-bac9add881e0b7cfa2da2b86242347c096329a4c.tar.gz
external_qemu-bac9add881e0b7cfa2da2b86242347c096329a4c.tar.bz2
Fixing aborts caused by compute_fb_update_rect_linear() when the framebuffers
are large. Also, added a boot parameter for the goldfish kernel to use PIT, rather than TSC. Change-Id: I5824c7248e0c1a4c487aeb52da112d870846ae62 Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 7c32211..72b6813 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -923,7 +923,7 @@ static void pc_init1(ram_addr_t ram_size,
}
#ifndef CONFIG_ANDROID
vmport_init();
-#endif
+
/* allocate RAM */
ram_addr = qemu_ram_alloc(0xa0000);
cpu_register_physical_memory(0, 0xa0000, ram_addr);
@@ -937,6 +937,15 @@ static void pc_init1(ram_addr_t ram_size,
cpu_register_physical_memory(0x100000,
below_4g_mem_size - 0x100000,
ram_addr);
+#else
+ /*
+ * Allocate a single contiguous RAM so that the goldfish
+ * framebuffer can work well especially when the frame buffer is
+ * large.
+ */
+ ram_addr = qemu_ram_alloc(below_4g_mem_size);
+ cpu_register_physical_memory(0, below_4g_mem_size, ram_addr);
+#endif
/* above 4giga memory allocation */
if (above_4g_mem_size > 0) {