summaryrefslogtreecommitdiff
path: root/packages/lilo-sh/files/lilo-0.21-second.patch
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2006-07-03 03:09:47 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-07-03 03:09:47 +0000
commit9b820e6f7a397dbf74f92b2596bd58fd2528283b (patch)
tree557abd9a84850f0cec55ac9d2637998df3f1afdb /packages/lilo-sh/files/lilo-0.21-second.patch
parentd25e4d60596edd332dbfd2fc63c5e22899ac3600 (diff)
lilo-sh 0.21: Add lilo-sh, a port of the LILO bootloader to the sh
architecture. Required for the titan SH4 boards to boot from the internal flash which has a translation layer to make it look like a standard block device.
Diffstat (limited to 'packages/lilo-sh/files/lilo-0.21-second.patch')
-rw-r--r--packages/lilo-sh/files/lilo-0.21-second.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/lilo-sh/files/lilo-0.21-second.patch b/packages/lilo-sh/files/lilo-0.21-second.patch
new file mode 100644
index 0000000000..12a9af04c7
--- /dev/null
+++ b/packages/lilo-sh/files/lilo-0.21-second.patch
@@ -0,0 +1,36 @@
+I have a problem to report with lilo, and the fix for it. I am not sure
+whether this is the right place for it though, I am also CCing the lilo
+maintainer Werner Almesberger.
+
+When lilo gets control from the bios (whether lilo is on disk, or on the
+floppy), it is checking the wrong location when it tries to parse the
+parameter line construction area to determine whether it needs to clean
+up extra blank spaces. This is causing lilo to eat up the last character(s)
+of the command line that it passes to the kernel.
+
+Specifically, the code
+
+cpcodn: cmp byte ptr (di-1),#32 ! last was space ?
+
+is using the memory contents of ds:di-1 for the compare. It should
+really be using es:di-1. I checked, ds=0x0b00 around here, so the
+code ended up checking 0x0b00:(di-1) instead of 0x9000:(di-1). It
+is quite possible that the memory that lilo checks has garbage,
+causing it to make wrong decision. A "seg es" just before the cmp
+fixes the problem. I am attaching the patch below.
+
+Kanoj
+
+--- second.0 Mon Sep 20 13:52:01 1999
++++ second.S Tue Sep 28 10:20:54 1999
+@@ -816,7 +816,8 @@
+ je cpcodsp ! yes -> discard next
+ lodsb ! get next byte
+ jmp cpcolp
+-cpcodn: cmp byte ptr (di-1),#32 ! last was space ?
++cpcodn: seg es
++ cmp byte ptr (di-1),#32 ! last was space ?
+ jne nocopt ! no -> go on
+ dec di ! discard it
+ nocopt: mov si,options ! append variable options
+