diff options
author | Graeme Gregory <dp@xora.org.uk> | 2009-01-29 22:16:37 +0000 |
---|---|---|
committer | Graeme Gregory <dp@xora.org.uk> | 2009-01-29 22:18:18 +0000 |
commit | fe90a0854047d064954185c2a4fa331e9ad560b8 (patch) | |
tree | 6178b2401408bb1af56a07caa15a3880c55008be | |
parent | 6a6d6bab519aefb44e3d49d305134057adf7539e (diff) |
kexecboot_0.4.bb : add patch to always use 16bit writes, this fixes tosa
screen corruption and wont harm other machines
-rw-r--r-- | packages/kexecboot/kexecboot-0.4/fb-render-16bit.patch | 21 | ||||
-rw-r--r-- | packages/kexecboot/kexecboot_0.4.bb | 3 |
2 files changed, 23 insertions, 1 deletions
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}" |