diff options
author | Jun Nakajima <jnakajim@gmail.com> | 2011-02-08 22:10:52 -0800 |
---|---|---|
committer | Jun Nakajima <jnakajim@gmail.com> | 2011-02-08 22:10:52 -0800 |
commit | bac9add881e0b7cfa2da2b86242347c096329a4c (patch) | |
tree | f6888d112719722f120651077acd1032e0eaae17 | |
parent | 38985a066294ddecdcebab5d800c6100a6ae03e0 (diff) | |
download | external_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>
-rw-r--r-- | android/main.c | 1 | ||||
-rw-r--r-- | hw/pc.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/android/main.c b/android/main.c index 32f4143..63e6b84 100644 --- a/android/main.c +++ b/android/main.c @@ -1126,6 +1126,7 @@ int main(int argc, char **argv) p = bufprint(p, end, "qemu=1 console=ttyS0" ); #ifdef TARGET_I386 p = bufprint(p, end, " androidboot.hardware=goldfish"); + p = bufprint(p, end, " clocksource=pit"); #endif if (opts->shell || opts->logcat) { @@ -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) { |