diff options
| -rw-r--r-- | drivers/bios_emulator/biosemu.c | 4 | ||||
| -rw-r--r-- | drivers/bios_emulator/include/x86emu.h | 10 | ||||
| -rw-r--r-- | drivers/bios_emulator/x86emu/ops.c | 14 | ||||
| -rw-r--r-- | drivers/bios_emulator/x86emu/ops2.c | 2 | 
4 files changed, 20 insertions, 10 deletions
| diff --git a/drivers/bios_emulator/biosemu.c b/drivers/bios_emulator/biosemu.c index 75ceb458c..decdb79a7 100644 --- a/drivers/bios_emulator/biosemu.c +++ b/drivers/bios_emulator/biosemu.c @@ -53,7 +53,7 @@  #include "biosemui.h"  BE_sysEnv _BE_env = {{0}}; -static X86EMU_memFuncs _BE_mem __attribute__((section(".got2"))) = { +static X86EMU_memFuncs _BE_mem __attribute__((section(GOT2_TYPE))) = {  	BE_rdb,  	BE_rdw,  	BE_rdl, @@ -62,7 +62,7 @@ static X86EMU_memFuncs _BE_mem __attribute__((section(".got2"))) = {  	BE_wrl,  	}; -static X86EMU_pioFuncs _BE_pio __attribute__((section(".got2"))) = { +static X86EMU_pioFuncs _BE_pio __attribute__((section(GOT2_TYPE))) = {  	BE_inb,  	BE_inw,  	BE_inl, diff --git a/drivers/bios_emulator/include/x86emu.h b/drivers/bios_emulator/include/x86emu.h index 6004beb05..a70a76874 100644 --- a/drivers/bios_emulator/include/x86emu.h +++ b/drivers/bios_emulator/include/x86emu.h @@ -53,6 +53,16 @@ typedef u16 X86EMU_pioAddr;  /*---------------------- Macros and type definitions ----------------------*/ +#if defined (CONFIG_ARM) +#define GAS_LINE_COMMENT	"@" +#elif defined(CONFIG_MIPS) || defined(CONFIG_PPC) +#define GAS_LINE_COMMENT	"#" +#elif defined (CONFIG_SH) +#define GAS_LINE_COMMENT	"!" +#endif + +#define GOT2_TYPE	".got2,\"aw\"\t"GAS_LINE_COMMENT +  #pragma pack(1)  /**************************************************************************** diff --git a/drivers/bios_emulator/x86emu/ops.c b/drivers/bios_emulator/x86emu/ops.c index a77bd9b49..10f275794 100644 --- a/drivers/bios_emulator/x86emu/ops.c +++ b/drivers/bios_emulator/x86emu/ops.c @@ -91,7 +91,7 @@ static char *x86emu_GenOpName[8] = {  #endif  /* used by several opcodes  */ -static u8 (*genop_byte_operation[])(u8 d, u8 s) __attribute__ ((section(".got2"))) = +static u8 (*genop_byte_operation[])(u8 d, u8 s) __attribute__ ((section(GOT2_TYPE))) =  {      add_byte,		/* 00 */      or_byte,		/* 01 */ @@ -103,7 +103,7 @@ static u8 (*genop_byte_operation[])(u8 d, u8 s) __attribute__ ((section(".got2")      cmp_byte,		/* 07 */  }; -static u16 (*genop_word_operation[])(u16 d, u16 s) __attribute__ ((section(".got2"))) = +static u16 (*genop_word_operation[])(u16 d, u16 s) __attribute__ ((section(GOT2_TYPE))) =  {      add_word,		/*00 */      or_word,		/*01 */ @@ -115,7 +115,7 @@ static u16 (*genop_word_operation[])(u16 d, u16 s) __attribute__ ((section(".got      cmp_word,		/*07 */  }; -static u32 (*genop_long_operation[])(u32 d, u32 s) __attribute__ ((section(".got2"))) = +static u32 (*genop_long_operation[])(u32 d, u32 s) __attribute__ ((section(GOT2_TYPE))) =  {      add_long,		/*00 */      or_long,		/*01 */ @@ -128,7 +128,7 @@ static u32 (*genop_long_operation[])(u32 d, u32 s) __attribute__ ((section(".got  };  /* used by opcodes 80, c0, d0, and d2. */ -static u8(*opcD0_byte_operation[])(u8 d, u8 s) __attribute__ ((section(".got2"))) = +static u8(*opcD0_byte_operation[])(u8 d, u8 s) __attribute__ ((section(GOT2_TYPE))) =  {      rol_byte,      ror_byte, @@ -141,7 +141,7 @@ static u8(*opcD0_byte_operation[])(u8 d, u8 s) __attribute__ ((section(".got2"))  };  /* used by opcodes c1, d1, and d3. */ -static u16(*opcD1_word_operation[])(u16 s, u8 d) __attribute__ ((section(".got2"))) = +static u16(*opcD1_word_operation[])(u16 s, u8 d) __attribute__ ((section(GOT2_TYPE))) =  {      rol_word,      ror_word, @@ -154,7 +154,7 @@ static u16(*opcD1_word_operation[])(u16 s, u8 d) __attribute__ ((section(".got2"  };  /* used by opcodes c1, d1, and d3. */ -static u32 (*opcD1_long_operation[])(u32 s, u8 d) __attribute__ ((section(".got2"))) = +static u32 (*opcD1_long_operation[])(u32 s, u8 d) __attribute__ ((section(GOT2_TYPE))) =  {      rol_long,      ror_long, @@ -5147,7 +5147,7 @@ void x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))  /***************************************************************************   * Single byte operation code table:   **************************************************************************/ -void (*x86emu_optab[256])(u8) __attribute__ ((section(".got2"))) = +void (*x86emu_optab[256])(u8) __attribute__ ((section(GOT2_TYPE))) =  {  /*  0x00 */ x86emuOp_genop_byte_RM_R,  /*  0x01 */ x86emuOp_genop_word_RM_R, diff --git a/drivers/bios_emulator/x86emu/ops2.c b/drivers/bios_emulator/x86emu/ops2.c index d6a210c97..d90d36629 100644 --- a/drivers/bios_emulator/x86emu/ops2.c +++ b/drivers/bios_emulator/x86emu/ops2.c @@ -1498,7 +1498,7 @@ void x86emuOp2_movsx_word_R_RM(u8 X86EMU_UNUSED(op2))  /***************************************************************************   * Double byte operation code table:   **************************************************************************/ -void (*x86emu_optab2[256])(u8) __attribute__((section(".got2"))) = +void (*x86emu_optab2[256])(u8) __attribute__((section(GOT2_TYPE))) =  {  /*  0x00 */ x86emuOp2_illegal_op,  /* Group F (ring 0 PM)      */  /*  0x01 */ x86emuOp2_illegal_op,  /* Group G (ring 0 PM)      */ |