diff options
author | Stuart Bennett <sb476@cam.ac.uk> | 2007-11-16 20:50:43 +0000 |
---|---|---|
committer | Stuart Bennett <sb476@cam.ac.uk> | 2007-11-16 22:07:05 +0000 |
commit | 0713eae35052fd8bb2c4e9db0235df047b98bd5b (patch) | |
tree | cda4570fa318dbf241283b487ae9a1f151bbccb0 | |
parent | 377eb5a82f227e8ee067820f198f2f49b7d5833f (diff) |
Hopefully fix 64 bit issues
-rw-r--r-- | thunk.c | 4 | ||||
-rw-r--r-- | x86-common.c | 3 | ||||
-rw-r--r-- | xf86include/xf86int10.h | 8 |
3 files changed, 10 insertions, 5 deletions
@@ -165,7 +165,7 @@ int LRMI_init() { * Allocate a 64k stack. */ stack = LRMI_alloc_real(64 * 1024); - X86_SS = (unsigned int) stack >> 4; + X86_SS = (u32) stack >> 4; X86_ESP = 0xFFF9; memset (stack, 0, 64*1024); @@ -197,7 +197,7 @@ int real_call(struct LRMI_regs *registers) { if (registers->ss != 0) { X86_SS = registers->ss; } else { - X86_SS = (unsigned int) stack >> 4; + X86_SS = (u32) stack >> 4; } if (registers->ds != 0) { diff --git a/x86-common.c b/x86-common.c index 42f83ff..2d601d3 100644 --- a/x86-common.c +++ b/x86-common.c @@ -187,6 +187,8 @@ set_bit(unsigned int bit, void *array) a[bit / 8] |= (1 << (bit % 8)); } +#if 0 +These need fixing for 64 bit systems static inline unsigned int get_int_seg(int i) { @@ -199,6 +201,7 @@ get_int_off(int i) { return *(unsigned short *)(i * 4); } +#endif int LRMI_common_init(void) { diff --git a/xf86include/xf86int10.h b/xf86include/xf86int10.h index 9c131dd..ec01082 100644 --- a/xf86include/xf86int10.h +++ b/xf86include/xf86int10.h @@ -6,6 +6,8 @@ * Copyright 1999 Egbert Eich */ +#include "x86emu/types.h" + #ifndef _XF86INT10_H #define _XF86INT10_H @@ -16,9 +18,9 @@ #define SET_BIOS_SCRATCH 0x1 #define RESTORE_BIOS_SCRATCH 0x2 -#define CARD8 unsigned char -#define CARD16 unsigned short -#define CARD32 unsigned long +#define CARD8 u8 +#define CARD16 u16 +#define CARD32 u32 #define pointer void * #define IOADDRESS void * #define Bool int |