x86: use data32 directive instead of macro for operand-size prefix
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 3 Dec 2019 05:20:49 +0000 (14:20 +0900)
committerBin Meng <bmeng.cn@gmail.com>
Sun, 8 Dec 2019 11:10:12 +0000 (19:10 +0800)
This file defines 'a32' and 'o32' macros to avoid magic numbers
of operand/address-size prefixing.

GAS supports 'data32' and 'addr32' for that purpose.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/start16.S

index 474efe4df5f426ba799499cc775f87752b6f5c51..bcabd76741eff6fcbd9737a05a374b75254c9416 100644 (file)
@@ -13,8 +13,6 @@
 #include <asm/processor-flags.h>
 
 #define BOOT_SEG       0xffff0000      /* linear segment of boot code */
-#define a32            .byte 0x67;
-#define o32            .byte 0x66;
 
 .section .start16, "ax"
 .code16
@@ -33,8 +31,8 @@ start16:
        wbinvd
 
        /* load the temporary Global Descriptor Table */
-o32 cs lidt    idt_ptr
-o32 cs lgdt    gdt_ptr
+data32 cs      lidt    idt_ptr
+data32 cs      lgdt    gdt_ptr
 
        /* Now, we enter protected mode */
        movl    %cr0, %eax
@@ -49,7 +47,7 @@ ff:
        movw    $code32start, %ax
        movw    %ax, %bp
        movl    %ecx, %eax
-o32 cs ljmp    *(%bp)
+data32 cs      ljmp    *(%bp)
 
        /* 48-bit far pointer */
 code32start: