i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.

Is more portable.
Binary is unchanged (verified).
This commit is contained in:
Vladimir Serbinenko 2015-02-21 17:13:23 +01:00
parent 065ad910f1
commit f571dc1af8
4 changed files with 9 additions and 9 deletions

View file

@ -95,7 +95,7 @@ LOCAL (codestart):
int $0x13
/* transition to protected mode */
DATA32 call real_to_prot
calll real_to_prot
/* The ".code32" directive takes GAS out of 16-bit mode. */
.code32
@ -149,7 +149,7 @@ gate_a20_try_bios:
movw $0x2401, %ax
int $0x15
DATA32 call real_to_prot
calll real_to_prot
.code32
popl %ebp

View file

@ -48,7 +48,7 @@ VARIABLE(grub_core_entry_addr)
/* Transition to protected mode. We use pushl to force generation
of a flat return address. */
pushl $1f
DATA32 jmp real_to_prot
jmpl real_to_prot
.code32
/* Ensure A20 is enabled. We're in qemu, so control port A works
and there is no need to wait since there is no real logic, it's

View file

@ -135,7 +135,7 @@ LOCAL(prot_to_real_addr):
.macro REAL_TO_PROT
movl LOCAL(real_to_prot_addr), %eax
DATA32 call *%ax
calll *%eax
.endm
/*

View file

@ -54,7 +54,7 @@ protstack:
.endm
.macro REAL_TO_PROT
DATA32 call real_to_prot
calll real_to_prot
.endm
/*
@ -137,7 +137,7 @@ real_to_prot:
/* load the GDT register */
xorw %ax, %ax
movw %ax, %ds
DATA32 ADDR32 lgdt gdtdesc
ADDR32 lgdtl gdtdesc
/* turn on protected mode */
movl %cr0, %eax
@ -145,7 +145,7 @@ real_to_prot:
movl %eax, %cr0
/* jump to relocation, flush prefetch queue, and reload %cs */
DATA32 ljmp $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $protcseg
ljmpl $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $protcseg
.code32
protcseg:
@ -237,7 +237,7 @@ tmpcseg:
movl %eax, %cr0
/* flush prefetch queue, reload %cs */
DATA32 ljmp $0, $realcseg
ljmpl $0, $realcseg
realcseg:
/* we are in real mode now
@ -258,6 +258,6 @@ realcseg:
#endif
/* return on new stack! */
DATA32 ret
retl
.code32