1######################################## 2# x86-specific definitions 3 4XEN_IMG_OFFSET := 0x200000 5 6CFLAGS += -I$(BASEDIR)/include 7CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic 8CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default 9CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFFSET) 10CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))' 11 12# Prevent floating-point variables from creeping into Xen. 13CFLAGS += -msoft-float 14 15$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) 16$(call cc-option-add,CFLAGS,CC,-Wnested-externs) 17$(call as-insn-check,CFLAGS,CC,"vmcall",-DHAVE_GAS_VMX) 18$(call as-insn-check,CFLAGS,CC,"crc32 %eax$$(comma)%eax",-DHAVE_GAS_SSE4_2) 19$(call as-insn-check,CFLAGS,CC,"invept (%rax)$$(comma)%rax",-DHAVE_GAS_EPT) 20$(call as-insn-check,CFLAGS,CC,"rdrand %eax",-DHAVE_GAS_RDRAND) 21$(call as-insn-check,CFLAGS,CC,"rdfsbase %rax",-DHAVE_GAS_FSGSBASE) 22$(call as-insn-check,CFLAGS,CC,"rdseed %eax",-DHAVE_GAS_RDSEED) 23$(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \ 24 -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM \ 25 '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@') 26 27CFLAGS += -mno-red-zone -mno-sse -fpic 28CFLAGS += -fno-asynchronous-unwind-tables 29# -fvisibility=hidden reduces -fpic cost, if it's available 30ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n) 31CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE 32endif 33