From fe90a0854047d064954185c2a4fa331e9ad560b8 Mon Sep 17 00:00:00 2001 From: Graeme Gregory Date: Thu, 29 Jan 2009 22:16:37 +0000 Subject: kexecboot_0.4.bb : add patch to always use 16bit writes, this fixes tosa screen corruption and wont harm other machines --- .../kexecboot/kexecboot-0.4/fb-render-16bit.patch | 21 +++++++++++++++++++++ packages/kexecboot/kexecboot_0.4.bb | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 packages/kexecboot/kexecboot-0.4/fb-render-16bit.patch diff --git a/packages/kexecboot/kexecboot-0.4/fb-render-16bit.patch b/packages/kexecboot/kexecboot-0.4/fb-render-16bit.patch new file mode 100644 index 0000000000..f3405e49d8 --- /dev/null +++ b/packages/kexecboot/kexecboot-0.4/fb-render-16bit.patch @@ -0,0 +1,21 @@ +Index: kexecboot-0.4/fb.c +=================================================================== +--- kexecboot-0.4.orig/fb.c 2009-01-29 22:03:34.000000000 +0000 ++++ kexecboot-0.4/fb.c 2009-01-29 22:08:22.000000000 +0000 +@@ -19,7 +19,15 @@ + + void fb_render(FB * fb) + { +- memcpy(fb->data, fb->backbuffer, fb->screensize); ++ uint16 *source, *dest; ++ int n = fb->screensize/2; ++ ++ source = (uint16 *)fb->backbuffer; ++ dest = (uint16 *)fb->data; ++ ++ while (n--) { ++ *dest++ = *source++; ++ } + } + + void fb_destroy(FB * fb) diff --git a/packages/kexecboot/kexecboot_0.4.bb b/packages/kexecboot/kexecboot_0.4.bb index 85dd29e69c..ef6888173d 100644 --- a/packages/kexecboot/kexecboot_0.4.bb +++ b/packages/kexecboot/kexecboot_0.4.bb @@ -1,5 +1,5 @@ LICENSE = "GPL" -PR = "r2" +PR = "r3" DEPENDS = "klibc" RDEPENDS = "kexec-static" @@ -16,6 +16,7 @@ SRC_URI = "http://projects.linuxtogo.org/~jay7/kexecboot-${PV}.tar.gz \ file://add-sleep.patch;patch=1 \ file://silent-output-hack.patch;patch=1 \ file://kexecboot-tosa.patch;patch=1 \ + file://fb-render-16bit.patch;patch=1 \ " S = "${WORKDIR}/kexecboot-${PV}" -- cgit v1.2.3