···18501850config XEN18511851 bool "Xen guest support on ARM (EXPERIMENTAL)"18521852 depends on EXPERIMENTAL && ARM && OF18531853+ depends on CPU_V7 && !CPU_V618531854 help18541855 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.18551856
+7-6
arch/arm/Makefile
···2121OBJCOPYFLAGS :=-O binary -R .comment -S2222GZFLAGS :=-92323#KBUILD_CFLAGS +=-pipe2424-# Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:2525-KBUILD_CFLAGS +=$(call cc-option,-marm,)26242725# Never generate .eh_frame2826KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)···103105ifeq ($(CONFIG_THUMB2_KERNEL),y)104106AFLAGS_AUTOIT :=$(call as-option,-Wa$(comma)-mimplicit-it=always,-Wa$(comma)-mauto-it)105107AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)106106-CFLAGS_THUMB2 :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)107107-AFLAGS_THUMB2 :=$(CFLAGS_THUMB2) -Wa$(comma)-mthumb108108+CFLAGS_ISA :=-mthumb $(AFLAGS_AUTOIT) $(AFLAGS_NOWARN)109109+AFLAGS_ISA :=$(CFLAGS_ISA) -Wa$(comma)-mthumb108110# Work around buggy relocation from gas if requested:109111ifeq ($(CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11),y)110112CFLAGS_MODULE +=-fno-optimize-sibling-calls111113endif114114+else115115+CFLAGS_ISA :=$(call cc-option,-marm,)116116+AFLAGS_ISA :=$(CFLAGS_ISA)112117endif113118114119# Need -Uarm for gcc < 3.x115115-KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_THUMB2) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm116116-KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float120120+KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm121121+KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float117122118123CHECKFLAGS += -D__arm__119124
+5-5
arch/arm/boot/Makefile
···33333434$(obj)/xipImage: vmlinux FORCE3535 $(call if_changed,objcopy)3636- @echo ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))'3636+ $(kecho) ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))'37373838$(obj)/Image $(obj)/zImage: FORCE3939 @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)'···48484949$(obj)/Image: vmlinux FORCE5050 $(call if_changed,objcopy)5151- @echo ' Kernel: $@ is ready'5151+ $(kecho) ' Kernel: $@ is ready'52525353$(obj)/compressed/vmlinux: $(obj)/Image FORCE5454 $(Q)$(MAKE) $(build)=$(obj)/compressed $@55555656$(obj)/zImage: $(obj)/compressed/vmlinux FORCE5757 $(call if_changed,objcopy)5858- @echo ' Kernel: $@ is ready'5858+ $(kecho) ' Kernel: $@ is ready'59596060endif6161···9090$(obj)/uImage: $(obj)/zImage FORCE9191 @$(check_for_multiple_loadaddr)9292 $(call if_changed,uimage)9393- @echo ' Image $@ is ready'9393+ $(kecho) ' Image $@ is ready'94949595$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE9696 $(Q)$(MAKE) $(build)=$(obj)/bootp $@···98989999$(obj)/bootpImage: $(obj)/bootp/bootp FORCE100100 $(call if_changed,objcopy)101101- @echo ' Kernel: $@ is ready'101101+ $(kecho) ' Kernel: $@ is ready'102102103103PHONY += initrd FORCE104104initrd:
···3434#include <linux/list.h>3535#include <linux/kallsyms.h>3636#include <linux/proc_fs.h>3737+#include <linux/export.h>37383839#include <asm/exception.h>3940#include <asm/mach/arch.h>···110109 /* Order is clear bits in "clr" then set bits in "set" */111110 irq_modify_status(irq, clr, set & ~clr);112111}112112+EXPORT_SYMBOL_GPL(set_irq_flags);113113114114void __init init_IRQ(void)115115{
···3344config XEN_BALLOON55 bool "Xen memory balloon driver"66+ depends on !ARM67 default y78 help89 The balloon driver allows the Xen domain to request more memory from···146145147146config XEN_TMEM148147 bool148148+ depends on !ARM149149 default y if (CLEANCACHE || FRONTSWAP)150150 help151151 Shim to interface in-kernel Transcendent Memory hooks