x86: use data32 directive instead of macro for operand-size prefix
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>
diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
index 474efe4..bcabd76 100644
--- a/arch/x86/cpu/start16.S
+++ b/arch/x86/cpu/start16.S
@@ -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 @@
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 @@
movw $code32start, %ax
movw %ax, %bp
movl %ecx, %eax
-o32 cs ljmp *(%bp)
+data32 cs ljmp *(%bp)
/* 48-bit far pointer */
code32start: