diff options
Diffstat (limited to 'lib_i386/realmode.c')
-rw-r--r-- | lib_i386/realmode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib_i386/realmode.c b/lib_i386/realmode.c index 372147c..27d4693 100644 --- a/lib_i386/realmode.c +++ b/lib_i386/realmode.c @@ -24,6 +24,7 @@ #include <common.h> #include <asm/io.h> #include <asm/ptrace.h> +#include <asm/realmode.h> #define REALMODE_BASE ((char*)0x7c0) @@ -44,16 +45,16 @@ int enter_realmode(u16 seg, u16 off, struct pt_regs *in, struct pt_regs *out) /* copy the realmode switch code */ if (i386boot_realmode_size > (REALMODE_MAILBOX-REALMODE_BASE)) { printf("realmode switch too large (%ld bytes, max is %d)\n", - i386boot_realmode_size, (REALMODE_MAILBOX-REALMODE_BASE)); + i386boot_realmode_size, (int)(REALMODE_MAILBOX-REALMODE_BASE)); return -1; } - memcpy(REALMODE_BASE, i386boot_realmode, i386boot_realmode_size); + memcpy(REALMODE_BASE, (void*)i386boot_realmode, i386boot_realmode_size); in->eip = off; in->xcs = seg; - if (3>in->esp & 0xffff) { + if (3>(in->esp & 0xffff)) { printf("Warning: entering realmode with sp < 4 will fail\n"); } |