[syslinux] [1/1] [gfxboot] align buffer used to read data from disk to a 512 byte boundary
Christophe Fergeau
cfergeau at mandriva.com
Thu Apr 30 06:38:37 PDT 2009
The COM API provides a function to read from disk (int 22h, AX=07h)
which needs a destination buffer aligned on a 512 byte boundary. gfxboot
uses this function but doesn't ensure its data buffer is properly
aligned. This leads to failures on a few machines (HP Pavillion dv5):
gfxboot:
isolinux: Disk error 09, AX = 424F, drive FE
https://qa.mandriva.com/show_bug.cgi?id=48814 has a bit more details.
This patch just makes sure the buffer used to read from disk is properly
aligned, this fixes the boot failures on the aforementioned machines.
Signed-off-by: Christophe Fergeau <cfergeau at mandriva.com>
---
modules/gfxboot.asm | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/modules/gfxboot.asm b/modules/gfxboot.asm
index e3aed13..2c3f809 100644
--- a/modules/gfxboot.asm
+++ b/modules/gfxboot.asm
@@ -871,6 +871,8 @@ drivenumber db 0
sectorshift db 0
sectorsize dw 0
trackbufsize equ 16384
+align 512 ; must be 512 byte aligned because it will
be passed
+ ; to int 22h, AX=07h
trackbuf times trackbufsize db 0
BufSafe dw 0
file_length dd 0
--
1.6.2.4
More information about the Syslinux
mailing list