# HG changeset patch # User tristan.gingold@xxxxxxxx # Node ID 1927f639434b15408c0498936272dd289d4f2ebf # Parent 5d9eb92e63e2203c607c5349ed89bd5d6fd61e0d Add missing .endp in .S files. Cleanup in Rules.mk. Signed-off-by: Tristan Gingold diff -r 5d9eb92e63e2 -r 1927f639434b xen/arch/ia64/Rules.mk --- a/xen/arch/ia64/Rules.mk Mon May 8 20:46:11 2006 +++ b/xen/arch/ia64/Rules.mk Tue May 9 06:24:55 2006 @@ -4,30 +4,30 @@ HAS_ACPI := y VALIDATE_VT ?= n xen_ia64_dom0_virtual_physical ?= n +no_warns ?= n ifneq ($(COMPILE_ARCH),$(TARGET_ARCH)) CROSS_COMPILE ?= /usr/local/sp_env/v2.2.5/i686/bin/ia64-unknown-linux- endif -AFLAGS += -D__ASSEMBLY__ -nostdinc $(CPPFLAGS) -AFLAGS += -mconstant-gp -CPPFLAGS += -I$(BASEDIR)/include -I$(BASEDIR)/include/asm-ia64 \ - -I$(BASEDIR)/include/asm-ia64/linux \ - -I$(BASEDIR)/include/asm-ia64/linux-xen \ - -I$(BASEDIR)/include/asm-ia64/linux-null \ - -I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen + +# Used only by linux/Makefile. +AFLAGS_KERNEL += -mconstant-gp + +# Note: .S -> .o rule uses AFLAGS and CFLAGS. CFLAGS += -nostdinc -fno-builtin -fno-common -fno-strict-aliasing CFLAGS += -mconstant-gp #CFLAGS += -O3 # -O3 over-inlines making debugging tough! CFLAGS += -O2 # but no optimization causes compile errors! -#CFLAGS += -iwithprefix include -Wall -DMONITOR_BASE=$(MONITOR_BASE) -CFLAGS += -iwithprefix include -Wall -CFLAGS += -fomit-frame-pointer -I$(BASEDIR)/include -D__KERNEL__ -CFLAGS += -I$(BASEDIR)/include/asm-ia64 -I$(BASEDIR)/include/asm-ia64/linux \ +CFLAGS += -fomit-frame-pointer -D__KERNEL__ +CFLAGS += -iwithprefix include +CPPFLAGS+= -I$(BASEDIR)/include \ + -I$(BASEDIR)/include/asm-ia64 \ -I$(BASEDIR)/include/asm-ia64/linux \ -I$(BASEDIR)/include/asm-ia64/linux-xen \ -I$(BASEDIR)/include/asm-ia64/linux-null \ -I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen +CFLAGS += $(CPPFLAGS) #CFLAGS += -Wno-pointer-arith -Wredundant-decls CFLAGS += -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY CFLAGS += -ffixed-r13 -mfixed-range=f2-f5,f12-f127 @@ -39,4 +39,8 @@ ifeq ($(xen_ia64_dom0_virtual_physical),y) CFLAGS += -DCONFIG_XEN_IA64_DOM0_VP endif +ifeq ($(no_warns),y) +CFLAGS += -Wa,--fatal-warnings +endif + LDFLAGS := -g diff -r 5d9eb92e63e2 -r 1927f639434b xen/arch/ia64/vmx/vmx_entry.S --- a/xen/arch/ia64/vmx/vmx_entry.S Mon May 8 20:46:11 2006 +++ b/xen/arch/ia64/vmx/vmx_entry.S Tue May 9 06:24:55 2006 @@ -333,6 +333,7 @@ mov b0=r16 br.cond.sptk b0 // call the service ;; +END(ia64_leave_hypervisor) switch_rr7: // fall through GLOBAL_ENTRY(ia64_vmm_entry) @@ -363,7 +364,7 @@ mov b0=r29 ;; br.cond.sptk b0 // call pal service -END(ia64_leave_hypervisor) +END(ia64_vmm_entry) //r24 rfi_pfs //r17 address of rfi_pfs diff -r 5d9eb92e63e2 -r 1927f639434b xen/arch/ia64/xen/hyperprivop.S --- a/xen/arch/ia64/xen/hyperprivop.S Mon May 8 20:46:11 2006 +++ b/xen/arch/ia64/xen/hyperprivop.S Tue May 9 06:24:55 2006 @@ -176,7 +176,7 @@ // if not one of the above, give up for now and do it the slow way br.sptk.many dispatch_break_fault ;; - +END(fast_hyperprivop) // give up for now if: ipsr.be==1, ipsr.pp==1 // from reflect_interruption, don't need to: @@ -329,6 +329,7 @@ mov pr=r31,-1 ;; rfi ;; +END(hyper_ssm_i) // reflect domain clock interrupt // r31 == pr @@ -575,7 +576,7 @@ adds r21=XSI_IIM_OFS-XSI_PSR_IC_OFS,r18 ;; st8 [r21]=r17;; // fall through - +END(fast_break_reflect) // reflect to domain ivt+r20 // sets up isr,iip,ipsr,ifs (FIXME: do iipa too) @@ -704,6 +705,7 @@ mov pr=r31,-1 ;; rfi ;; +END(fast_reflect) // reflect access faults (0x2400,0x2800,0x5300) directly to domain // r16 == isr @@ -743,6 +745,7 @@ and r22=~3,r22;; st8 [r23]=r22;; br.cond.sptk.many fast_reflect;; +END(fast_access_reflect) // when we get to here, VHPT_CCHAIN_LOOKUP has failed and everything // is as it was at the time of original miss. We want to preserve that @@ -938,6 +941,7 @@ extr.u r24=r24,2,6;; // IFA already in PSCB br.cond.sptk.many fast_insert;; +END(fast_tlb_miss_reflect) // we get here if fast_insert fails (e.g. due to metaphysical lookup) ENTRY(recover_and_page_fault) @@ -1127,9 +1131,10 @@ ;; rfi ;; - +END(hyper_rfi) + #ifdef RFI_TO_INTERRUPT -GLOBAL_ENTRY(rfi_check_extint) +ENTRY(rfi_check_extint) //br.sptk.many dispatch_break_fault ;; // r18=&vpsr.i|vpsr.ic, r21==vpsr, r22=vcr.iip @@ -1196,11 +1201,12 @@ adds r29=15,r29;; cmp.ge p6,p0=r29,r26 // if tpr masks interrupt, just rfi (p6) br.cond.spnt.few just_do_rfi;; +END(rfi_check_extint) // this doesn't work yet (dies early after getting to user mode) // but happens relatively infrequently, so fix it later. // NOTE that these will be counted incorrectly for now (for privcnt output) -GLOBAL_ENTRY(rfi_with_interrupt) +ENTRY(rfi_with_interrupt) #if 1 br.sptk.many dispatch_break_fault ;; #endif @@ -1295,6 +1301,7 @@ st4 [r20]=r0 ;; mov pr=r31,-1 ;; rfi +END(rfi_with_interrupt) #endif // RFI_TO_INTERRUPT ENTRY(hyper_cover) @@ -1330,6 +1337,7 @@ mov pr=r31,-1 ;; rfi ;; +END(hyper_cover) // return from metaphysical mode (meta=1) to virtual mode (meta=0) ENTRY(hyper_ssm_dt) @@ -1366,6 +1374,7 @@ mov pr=r31,-1 ;; rfi ;; +END(hyper_ssm_dt) // go to metaphysical mode (meta=1) from virtual mode (meta=0) ENTRY(hyper_rsm_dt) @@ -1403,6 +1412,7 @@ mov pr=r31,-1 ;; rfi ;; +END(hyper_rsm_dt) ENTRY(hyper_get_tpr) #ifdef FAST_HYPERPRIVOP_CNT @@ -1826,7 +1836,7 @@ // On entry: // r18 == XSI_PSR_IC // r31 == pr -GLOBAL_ENTRY(hyper_thash) +ENTRY(hyper_thash) #ifdef FAST_HYPERPRIVOP_CNT movl r20=fast_hyperpriv_cnt+(8*HYPERPRIVOP_THASH);; ld8 r21=[r20];; @@ -1974,15 +1984,16 @@ #endif mov b0=r29 ;; br.sptk.many dispatch_break_fault;; +END(recover_and_dispatch_break_fault) // Registers at entry // r17 = break immediate (HYPERPRIVOP_ITC_D or I) // r18 == XSI_PSR_IC_OFS // r31 == pr -GLOBAL_ENTRY(hyper_itc) -ENTRY(hyper_itc_i) +ENTRY(hyper_itc) +hyper_itc_i: // fall through, hyper_itc_d handles both i and d -ENTRY(hyper_itc_d) +hyper_itc_d: #ifndef FAST_ITC br.sptk.many dispatch_break_fault ;; #else @@ -2023,6 +2034,7 @@ mov r16=r8;; // fall through #endif +END(hyper_itc) #if defined(FAST_ITC) || defined (FAST_TLB_MISS_REFLECT) @@ -2034,7 +2046,7 @@ // r29 == saved value of b0 in case of recovery // r30 == recovery ip if failure occurs // r31 == pr -GLOBAL_ENTRY(fast_insert) +ENTRY(fast_insert) // translate_domain_pte(r16=pteval,PSCB(ifa)=address,r24=itir) mov r19=1;; shl r20=r19,r24;; diff -r 5d9eb92e63e2 -r 1927f639434b xen/arch/ia64/xen/xenasm.S --- a/xen/arch/ia64/xen/xenasm.S Mon May 8 20:46:11 2006 +++ b/xen/arch/ia64/xen/xenasm.S Tue May 9 06:24:55 2006 @@ -337,7 +337,7 @@ GLOBAL_ENTRY(dorfi) rfi ;; -END(dorfirfi) +END(dorfi) // // Long's Peak UART Offsets