]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
authorVladimir Serbinenko <phcoder@gmail.com>
Sat, 21 Feb 2015 16:13:23 +0000 (17:13 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Sat, 21 Feb 2015 16:13:23 +0000 (17:13 +0100)
Is more portable.
Binary is unchanged (verified).

grub-core/boot/i386/pc/startup_raw.S
grub-core/boot/i386/qemu/boot.S
grub-core/kern/i386/pc/startup.S
grub-core/kern/i386/realmode.S

index 2796740303ea39892a8878f4a104f5f094c27f9f..812ff54948aab6818af14aa32b49ae1789d558f8 100644 (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
index bdd68c7044e267456e366f8a5ab86cec7da5b91c..8d97fc18c5b5229bb51995f58da076e3811b31d7 100644 (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
index 6bb36c603be50c17060fd49d0439c2b1d75da71a..b8a9b33b491007203e1cab21c62ae2398350754b 100644 (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
 
 /*
index 541cedc87bb09a1e9c279cae1d4715db58f248ea..732697c71db25ad0e4ddc6735dc4860cc69205a7 100644 (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