summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/files/arm-bgr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/qemu/files/arm-bgr.patch')
-rw-r--r--meta/recipes-devtools/qemu/files/arm-bgr.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/files/arm-bgr.patch b/meta/recipes-devtools/qemu/files/arm-bgr.patch
new file mode 100644
index 0000000000..f3ebde6364
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/arm-bgr.patch
@@ -0,0 +1,30 @@
1After kernel commit:
2
3http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08
4
5It appears that the emulated colours in qemu are incorrect and that
6the red and blue channels are reversed. This patch reverses that logic
7so the colours are correctly displayed on the versatile platform which
8doesn't support the BGR bit.
9
10RP 16/9/2011
11
12Upstream-Status: Pending
13
14Index: qemu-1.2.0/hw/pl110.c
15===================================================================
16--- qemu-1.2.0.orig/hw/pl110.c 2012-09-06 14:07:27.619821133 -0700
17+++ qemu-1.2.0/hw/pl110.c 2012-09-06 14:12:07.699829648 -0700
18@@ -168,7 +168,11 @@
19 fprintf(stderr, "pl110: Bad color depth\n");
20 exit(1);
21 }
22- if (s->cr & PL110_CR_BGR)
23+
24+ if (s->version && s->bpp == BPP_16)
25+ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */
26+ bpp_offset = 0;
27+ else if (s->cr & PL110_CR_BGR)
28 bpp_offset = 0;
29 else
30 bpp_offset = 24;