From bb0cc3cfa69ce02a25e5b7b22df0e5554f6592fb Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 16 Sep 2011 15:57:12 +0100 Subject: qemu: Fix reversed BGR values on ARM Versatile emulation [YOCTO #1469] (From OE-Core rev: d06781eab16881d2206a3306c66a0c4c1e178dde) Signed-off-by: Richard Purdie --- .../qemu/qemu-0.14.0/arm-bgr.patch | 30 ++++++++++++++++++++++ meta/recipes-devtools/qemu/qemu_0.14.0.bb | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch (limited to 'meta/recipes-devtools/qemu') diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch new file mode 100644 index 0000000000..3b460d04ce --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch @@ -0,0 +1,30 @@ +After kernel commit: + +http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08 + +It appears that the emulated colours in qemu are incorrect and that +the red and blue channels are reversed. This patch reverses that logic +so the colours are correctly displayed on the versatile platform which +doesn't support the BGR bit. + +RP 16/9/2011 + +Upstream-status: Pending + +Index: qemu-0.14.0/hw/pl110.c +=================================================================== +--- qemu-0.14.0.orig/hw/pl110.c 2011-09-16 14:45:34.228668514 +0100 ++++ qemu-0.14.0/hw/pl110.c 2011-09-16 15:17:22.458671206 +0100 +@@ -141,7 +141,11 @@ + fprintf(stderr, "pl110: Bad color depth\n"); + exit(1); + } +- if (s->cr & PL110_CR_BGR) ++ ++ if (s->versatile && s->bpp == BPP_16) ++ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */ ++ bpp_offset = 0; ++ else if (s->cr & PL110_CR_BGR) + bpp_offset = 0; + else + bpp_offset = 18; diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb b/meta/recipes-devtools/qemu/qemu_0.14.0.bb index 055321ec3e..03519ad7d4 100644 --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb @@ -3,7 +3,7 @@ require qemu.inc LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" -PR = "r2" +PR = "r3" FILESPATH = "${FILE_DIRNAME}/qemu-${PV}" FILESDIR = "${WORKDIR}" @@ -19,6 +19,7 @@ SRC_URI = "\ file://spice-qxl-locking-fix-for-qemu-kvm.patch \ file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \ file://larger_default_ram_size.patch \ + file://arm-bgr.patch \ " # Only use the GL passthrough patches for native/nativesdk versions -- cgit v1.2.3-54-g00ecf