summaryrefslogtreecommitdiff
path: root/memdisk/setup.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-08-02 11:56:38 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-08-02 11:56:38 -0700
commit32598725b8d1941899bc700b5d71efa57c3f419c (patch)
treef33351743469b23683c69bbd416783c3f1cb7b36 /memdisk/setup.c
parentd655fa0bc3a9d817df253d4f67bb92da20ef741a (diff)
downloadsyslinux-32598725b8d1941899bc700b5d71efa57c3f419c.tar.gz
memdisk: don't set CX:DX for INT 13h AH=15h for floppies
Win98SE DOS apparently hangs if INT 13h, AH=15h returns the capacity in CX:DX for floppies... *unless* EDD is enabled. Confused yet? This patch also adds some more tracing framework. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'memdisk/setup.c')
-rw-r--r--memdisk/setup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/memdisk/setup.c b/memdisk/setup.c
index 013f3dfa..caee377a 100644
--- a/memdisk/setup.c
+++ b/memdisk/setup.c
@@ -90,7 +90,7 @@ struct edd_dpt {
uint64_t devpath[2]; /* Device path (double QuadWord!) */
uint8_t res3; /* Reserved */
uint8_t chksum; /* DPI checksum */
-};
+} __attribute__((packed));
struct patch_area {
uint32_t diskbuf;
@@ -131,7 +131,7 @@ struct patch_area {
dpt_t dpt;
struct edd_dpt edd_dpt;
-};
+} __attribute__((packed));
/* Access to high memory */