[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] removal of ia64 port
On 03/04/2012 09:18, "Jan Beulich" <JBeulich@xxxxxxxx> wrote: >>>> On 02.04.12 at 17:33, Keir Fraser <keir.xen@xxxxxxxxx> wrote: >> On 02/04/2012 16:16, "Jan Beulich" <JBeulich@xxxxxxxx> wrote: >>> now that we apparently having reached consensus here, are you >>> going to purge the ia64 bits from the tree, or do you want me to? >> >> Please go ahead. > > This is the patch I'm intending to commit (omitting all the ia64 files > that are going to be removed). > > It retains IA64-specific bits in code imported from elsewhere (e.g. > ACPI, EFI) as well as in the public headers. > > It also doesn't touch the tools, mini-os, and unmodified_drivers > sub-trees. Acked-by: Keir Fraser <keir@xxxxxxx> > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -138,14 +138,6 @@ M: Tim Deegan <tim@xxxxxxx> > S: Supported > F: tools/debugger/kdd/ > > -IA64 ARCHITECTURE > -M: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx> > -S: Supported > -L: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > -F: xen/arch/ia64/* > -F: xen/include/asm-ia64/* > -F: tools/libxc/ia64/* > - > INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT) > M: Joseph Cihula <joseph.cihula@xxxxxxxxx> > M: Gang Wei <gang.wei@xxxxxxxxx> > --- a/xen/common/Makefile > +++ b/xen/common/Makefile > @@ -58,7 +58,6 @@ subdir-$(CONFIG_COMPAT) += compat > > subdir-$(x86_32) += hvm > subdir-$(x86_64) += hvm > -subdir-$(ia64) += hvm > > subdir-y += libelf > subdir-$(HAS_DEVICE_TREE) += libfdt > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -1514,9 +1514,7 @@ gnttab_transfer( > goto copyback; > } > > -#ifndef __ia64__ /* IA64 implicitly replaces the old page in steal_page(). */ > guest_physmap_remove_page(d, gop.mfn, mfn, 0); > -#endif > flush_tlb_mask(d->domain_dirty_cpumask); > > /* Find the target domain. */ > --- a/xen/common/kexec.c > +++ b/xen/common/kexec.c > @@ -721,11 +721,7 @@ static void crash_save_vmcoreinfo(void) > VMCOREINFO_STRUCT_SIZE(domain); > > VMCOREINFO_OFFSET(page_info, count_info); > -#ifdef __ia64__ > - VMCOREINFO_OFFSET_SUB(page_info, u.inuse, _domain); > -#else > VMCOREINFO_OFFSET_SUB(page_info, v.inuse, _domain); > -#endif > VMCOREINFO_OFFSET(domain, domain_id); > VMCOREINFO_OFFSET(domain, next_in_list); > > --- a/xen/common/memory.c > +++ b/xen/common/memory.c > @@ -23,9 +23,7 @@ > #include <xen/tmem_xen.h> > #include <asm/current.h> > #include <asm/hardirq.h> > -#ifndef __ia64__ > #include <asm/p2m.h> > -#endif > #include <xen/numa.h> > #include <public/memory.h> > #include <xsm/xsm.h> > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -1141,7 +1141,7 @@ void __init scrub_heap_pages(void) > * XEN-HEAP SUB-ALLOCATOR > */ > > -#if !defined(__x86_64__) && !defined(__ia64__) > +#if !defined(__x86_64__) > > void init_xenheap_pages(paddr_t ps, paddr_t pe) > { > --- a/xen/common/tmem_xen.c > +++ b/xen/common/tmem_xen.c > @@ -88,7 +88,7 @@ void tmh_copy_page(char *to, char*from) > #endif > } > > -#if defined(__ia64__) || defined (CONFIG_ARM) > +#if defined(CONFIG_ARM) > static inline void *cli_get_page(tmem_cli_mfn_t cmfn, unsigned long > *pcli_mfn, > pfp_t **pcli_pfp, bool_t cli_write) > { > --- a/xen/drivers/cpufreq/cpufreq.c > +++ b/xen/drivers/cpufreq/cpufreq.c > @@ -442,16 +442,6 @@ int set_px_pminfo(uint32_t acpi_id, stru > goto out; > } > > -#ifdef CONFIG_IA64 > - /* for IA64, currently it only supports FFH */ > - if (dom0_px_info->control_register.space_id != > - ACPI_ADR_SPACE_FIXED_HARDWARE) > - { > - ret = -EINVAL; > - goto out; > - } > -#endif > - > memcpy ((void *)&pxpt->control_register, > (void *)&dom0_px_info->control_register, > sizeof(struct xen_pct_register)); > @@ -493,7 +483,6 @@ int set_px_pminfo(uint32_t acpi_id, stru > { > #ifdef CONFIG_X86 > /* for X86, check domain coordination */ > - /* for IA64, _PSD is optional for current IA64 cpufreq algorithm */ > if (dom0_px_info->shared_type != CPUFREQ_SHARED_TYPE_ALL && > dom0_px_info->shared_type != CPUFREQ_SHARED_TYPE_ANY && > dom0_px_info->shared_type != CPUFREQ_SHARED_TYPE_HW) > --- a/xen/drivers/passthrough/Makefile > +++ b/xen/drivers/passthrough/Makefile > @@ -1,5 +1,4 @@ > subdir-$(x86) += vtd > -subdir-$(ia64) += vtd > subdir-$(x86) += amd > subdir-$(x86_64) += x86 > > --- a/xen/drivers/passthrough/io.c > +++ b/xen/drivers/passthrough/io.c > @@ -419,7 +419,6 @@ int hvm_do_IRQ_dpci(struct domain *d, st > return 1; > } > > -#ifdef SUPPORT_MSI_REMAPPING > /* called with d->event_lock held */ > static void __msi_pirq_eoi(struct hvm_pirq_dpci *pirq_dpci) > { > @@ -479,7 +478,6 @@ static int hvm_pci_msi_assert(struct dom > ? send_guest_pirq(d, pirq) > : vmsi_deliver_pirq(d, pirq_dpci)); > } > -#endif > > static int _hvm_dirq_assist(struct domain *d, struct hvm_pirq_dpci > *pirq_dpci, > void *arg) > @@ -489,13 +487,12 @@ static int _hvm_dirq_assist(struct domai > > if ( test_and_clear_bool(pirq_dpci->masked) ) > { > -#ifdef SUPPORT_MSI_REMAPPING > if ( pirq_dpci->flags & HVM_IRQ_DPCI_GUEST_MSI ) > { > hvm_pci_msi_assert(d, pirq_dpci); > return 0; > } > -#endif > + > list_for_each_entry ( digl, &pirq_dpci->digl_list, list ) > { > struct pirq *info = dpci_pirq(pirq_dpci); > @@ -508,13 +505,11 @@ static int _hvm_dirq_assist(struct domai > hvm_pci_intx_assert(d, device, intx); > pirq_dpci->pending++; > > -#ifdef SUPPORT_MSI_REMAPPING > if ( pirq_dpci->flags & HVM_IRQ_DPCI_TRANSLATE ) > { > /* for translated MSI to INTx interrupt, eoi as early as > possible */ > __msi_pirq_eoi(pirq_dpci); > } > -#endif > } > > /* > --- a/xen/drivers/passthrough/iommu.c > +++ b/xen/drivers/passthrough/iommu.c > @@ -593,17 +593,6 @@ int iommu_do_domctl( > bus = (domctl->u.assign_device.machine_sbdf >> 8) & 0xff; > devfn = domctl->u.assign_device.machine_sbdf & 0xff; > > -#ifdef __ia64__ /* XXX Is this really needed? */ > - if ( device_assigned(seg, bus, devfn) ) > - { > - printk(XENLOG_G_ERR "XEN_DOMCTL_assign_device: " > - "%04x:%02x:%02x.%u already assigned, or non-existent\n", > - seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); > - ret = -EINVAL; > - goto assign_device_out; > - } > -#endif > - > ret = assign_device(d, seg, bus, devfn); > if ( ret ) > printk(XENLOG_G_ERR "XEN_DOMCTL_assign_device: " > @@ -632,14 +621,6 @@ int iommu_do_domctl( > bus = (domctl->u.assign_device.machine_sbdf >> 8) & 0xff; > devfn = domctl->u.assign_device.machine_sbdf & 0xff; > > -#ifdef __ia64__ /* XXX Is this really needed? */ > - if ( !device_assigned(seg, bus, devfn) ) > - { > - ret = -EINVAL; > - goto deassign_device_out; > - } > -#endif > - > spin_lock(&pcidevs_lock); > ret = deassign_device(d, seg, bus, devfn); > spin_unlock(&pcidevs_lock); > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -696,7 +696,6 @@ void __init setup_dom0_pci_devices( > spin_unlock(&pcidevs_lock); > } > > -#ifdef SUPPORT_MSI_REMAPPING > static int _dump_pci_devices(struct pci_seg *pseg, void *arg) > { > struct pci_dev *pdev; > @@ -738,8 +737,6 @@ static int __init setup_dump_pcidevs(voi > return 0; > } > __initcall(setup_dump_pcidevs); > -#endif > - > > /* > * Local variables: > --- a/xen/drivers/passthrough/vtd/Makefile > +++ b/xen/drivers/passthrough/vtd/Makefile > @@ -1,5 +1,4 @@ > subdir-$(x86) += x86 > -subdir-$(ia64) += ia64 > > obj-y += iommu.o > obj-y += dmar.o > --- a/xen/drivers/passthrough/vtd/intremap.c > +++ b/xen/drivers/passthrough/vtd/intremap.c > @@ -31,26 +31,7 @@ > #include "vtd.h" > #include "extern.h" > > -#ifdef __ia64__ > -#define nr_ioapics iosapic_get_nr_iosapics() > -#define nr_ioapic_entries(i) iosapic_get_nr_pins(i) > -#define __io_apic_read(apic, reg) \ > - (*IO_APIC_BASE(apic) = reg, *(IO_APIC_BASE(apic)+4)) > -#define __io_apic_write(apic, reg, val) \ > - (*IO_APIC_BASE(apic) = reg, *(IO_APIC_BASE(apic)+4) = (val)) > -#define __ioapic_read_entry(apic, pin, raw) ({ \ > - struct IO_xAPIC_route_entry _e_; \ > - ASSERT(raw); \ > - ((u32 *)&_e_)[0] = __io_apic_read(apic, 0x10 + 2 * (pin)); \ > - ((u32 *)&_e_)[1] = __io_apic_read(apic, 0x11 + 2 * (pin)); \ > - _e_; \ > -}) > -#define __ioapic_write_entry(apic, pin, raw, ent) ({ \ > - ASSERT(raw); \ > - __io_apic_write(apic, 0x10 + 2 * (pin), ((u32 *)&(ent))[0]); \ > - __io_apic_write(apic, 0x11 + 2 * (pin), ((u32 *)&(ent))[1]); \ > -}) > -#else > +#if defined(__i386__) || defined(__x86_64__) > #include <asm/apic.h> > #include <asm/io_apic.h> > #define nr_ioapic_entries(i) nr_ioapic_entries[i] > @@ -326,8 +307,6 @@ static int ioapic_rte_to_remap_entry(str > new_ire.lo.dst = value; > else > new_ire.lo.dst = (value >> 24) << 8; > -#else /* __ia64__ */ > - new_ire.lo.dst = value >> 16; > #endif > } > else > @@ -625,12 +604,8 @@ static int msi_msg_to_remap_entry( > new_ire.lo.dm = (msg->address_lo >> MSI_ADDR_DESTMODE_SHIFT) & 0x1; > new_ire.lo.tm = (msg->data >> MSI_DATA_TRIGGER_SHIFT) & 0x1; > new_ire.lo.dlm = (msg->data >> MSI_DATA_DELIVERY_MODE_SHIFT) & 0x1; > -#ifdef CONFIG_X86 > /* Hardware require RH = 1 for LPR delivery mode */ > new_ire.lo.rh = (new_ire.lo.dlm == dest_LowestPrio); > -#else > - new_ire.lo.rh = 0; > -#endif > new_ire.lo.avail = 0; > new_ire.lo.res_1 = 0; > new_ire.lo.vector = (msg->data >> MSI_DATA_VECTOR_SHIFT) & > @@ -703,18 +678,6 @@ void msi_msg_write_remap_rte( > > msi_msg_to_remap_entry(iommu, pdev, msi_desc, msg); > } > -#elif defined(__ia64__) > -void msi_msg_read_remap_rte( > - struct msi_desc *msi_desc, struct msi_msg *msg) > -{ > - /* TODO. */ > -} > - > -void msi_msg_write_remap_rte( > - struct msi_desc *msi_desc, struct msi_msg *msg) > -{ > - /* TODO. */ > -} > #endif > > int enable_intremap(struct iommu *iommu, int eim) > @@ -838,8 +801,6 @@ out: > spin_unlock_irqrestore(&iommu->register_lock, flags); > } > > -#ifndef __ia64__ > - > /* > * This function is used to enable Interrupt remapping when > * enable x2apic > @@ -914,5 +875,3 @@ void iommu_disable_x2apic_IR(void) > for_each_drhd_unit ( drhd ) > disable_qinval(drhd->iommu); > } > - > -#endif /* !__ia64__ */ > --- a/xen/drivers/passthrough/vtd/iommu.c > +++ b/xen/drivers/passthrough/vtd/iommu.c > @@ -33,7 +33,7 @@ > #include <xen/keyhandler.h> > #include <asm/msi.h> > #include <asm/irq.h> > -#ifndef __ia64__ > +#if defined(__i386__) || defined(__x86_64__) > #include <asm/hvm/vmx/vmx.h> > #include <asm/p2m.h> > #include <mach_apic.h> > @@ -44,10 +44,6 @@ > #include "vtd.h" > #include "../ats.h" > > -#ifdef __ia64__ > -#define nr_ioapics iosapic_get_nr_iosapics() > -#endif > - > /* Possible unfiltered LAPIC/MSI messages from untrusted sources? */ > bool_t __read_mostly untrusted_msi; > > @@ -1057,11 +1053,7 @@ static unsigned int dma_msi_startup(stru > return 0; > } > > -#ifndef __ia64__ > static void dma_msi_end(struct irq_desc *desc, u8 vector) > -#else > -static void dma_msi_end(struct irq_desc *desc) > -#endif > { > dma_msi_unmask(desc); > ack_APIC_irq(); > @@ -1841,7 +1833,6 @@ void iommu_pte_flush(struct domain *d, u > > static int vtd_ept_page_compatible(struct iommu *iommu) > { > -#ifndef __ia64__ > u64 ept_cap, vtd_cap = iommu->cap; > > /* EPT is not initialised yet, so we must check the capability in > @@ -1851,9 +1842,6 @@ static int vtd_ept_page_compatible(struc > > return ( ept_has_2mb(ept_cap) == cap_sps_2mb(vtd_cap) > && ept_has_1gb(ept_cap) == cap_sps_1gb(vtd_cap) ); > -#else > - return 0; > -#endif > } > > /* > @@ -1861,7 +1849,6 @@ static int vtd_ept_page_compatible(struc > */ > void iommu_set_pgd(struct domain *d) > { > -#ifndef __ia64__ > struct hvm_iommu *hd = domain_hvm_iommu(d); > mfn_t pgd_mfn; > > @@ -1872,7 +1859,6 @@ void iommu_set_pgd(struct domain *d) > > pgd_mfn = pagetable_get_mfn(p2m_get_pagetable(p2m_get_hostp2m(d))); > hd->pgd_maddr = pagetable_get_paddr(pagetable_from_mfn(pgd_mfn)); > -#endif > } > > static int rmrr_identity_mapping(struct domain *d, > --- a/xen/drivers/passthrough/vtd/utils.c > +++ b/xen/drivers/passthrough/vtd/utils.c > @@ -301,8 +301,7 @@ static void dump_iommu_info(unsigned cha > } > } > #else > - printk("%s: not implemnted on IA64 for now.\n", __func__); > - /* ia64: TODO */ > + printk("%s: not implemented for now\n", __func__); > #endif > } > > --- a/xen/drivers/passthrough/vtd/vtd.h > +++ b/xen/drivers/passthrough/vtd/vtd.h > @@ -26,44 +26,8 @@ > #define MAP_ME_PHANTOM_FUNC 1 > #define UNMAP_ME_PHANTOM_FUNC 0 > > -/* Accomodate both IOAPIC and IOSAPIC. */ > -#ifndef __ia64__ > +/* Allow for both IOAPIC and IOSAPIC. */ > #define IO_xAPIC_route_entry IO_APIC_route_entry > -#else > -struct IO_xAPIC_route_entry { > - __u32 vector : 8, > - delivery_mode : 3, /* 000: FIXED > - * 001: lowest prio > - * 111: ExtINT > - */ > - dest_mode : 1, /* 0: physical, 1: logical */ > - delivery_status : 1, > - polarity : 1, > - irr : 1, > - trigger : 1, /* 0: edge, 1: level */ > - mask : 1, /* 0: enabled, 1: disabled */ > - __reserved_2 : 15; > - > - union { > - struct { __u32 > - __reserved_1 : 24, > - physical_dest : 4, > - __reserved_2 : 4; > - } physical; > - > - struct { __u32 > - __reserved_1 : 24, > - logical_dest : 8; > - } logical; > - > - struct { __u32 > - __reserved_1 : 16, > - dest_id : 16; > - }; > - } dest; > - > -} __attribute__ ((packed)); > -#endif > > struct IO_APIC_route_remap_entry { > union { > --- a/xen/include/Makefile > +++ b/xen/include/Makefile > @@ -38,7 +38,7 @@ suffix-$(CONFIG_X86) := \#pragma pa > endif > > public-$(CONFIG_X86) := $(wildcard public/arch-x86/*.h public/arch-x86/*/*.h) > -public-$(CONFIG_IA64) := $(wildcard public/arch-ia64/*.h > public/arch-ia64/*/*.h) > +public-$(CONFIG_ARM) := $(wildcard public/arch-arm/*.h public/arch-arm/*/*.h) > > .PHONY: all > all: $(headers-y) > @@ -74,8 +74,6 @@ compat/xlat.h: xlat.lst $(filter-out com > mv -f $@.new $@ > > ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH)) > -# public/arch-ia64.h explicitly bails on __STRICT_ANSI__ > -ifeq ($(CONFIG_IA64),) > > all: headers.chk > > @@ -84,7 +82,6 @@ headers.chk: $(filter-out public/arch-% > mv $@.new $@ > > endif > -endif > > clean:: > rm -rf compat headers.chk > --- a/xen/include/asm-x86/hvm/irq.h > +++ b/xen/include/asm-x86/hvm/irq.h > @@ -104,11 +104,4 @@ struct hvm_intack hvm_vcpu_has_pending_i > struct hvm_intack hvm_vcpu_ack_pending_irq(struct vcpu *v, > struct hvm_intack intack); > > -/* > - * Currently IA64 Xen doesn't support MSI. So for x86, we define this macro > - * to control the conditional compilation of some MSI-related functions. > - * This macro will be removed once IA64 has MSI support. > - */ > -#define SUPPORT_MSI_REMAPPING 1 > - > #endif /* __ASM_X86_HVM_IRQ_H__ */ > --- a/xen/include/asm-x86/hvm/vioapic.h > +++ b/xen/include/asm-x86/hvm/vioapic.h > @@ -41,7 +41,7 @@ > /* Direct registers. */ > #define VIOAPIC_REG_SELECT 0x00 > #define VIOAPIC_REG_WINDOW 0x10 > -#define VIOAPIC_REG_EOI 0x40 /* IA64 IOSAPIC only */ > +#define VIOAPIC_REG_EOI 0x40 > > /* Indirect registers. */ > #define VIOAPIC_REG_APIC_ID 0x00 /* x86 IOAPIC only */ > --- a/xen/include/xen/cpumask.h > +++ b/xen/include/xen/cpumask.h > @@ -82,7 +82,7 @@ typedef struct cpumask{ DECLARE_BITMAP(b > > extern unsigned int nr_cpu_ids; > > -#if NR_CPUS > 4 * BITS_PER_LONG && !defined(__ia64__) > +#if NR_CPUS > 4 * BITS_PER_LONG > /* Assuming NR_CPUS is huge, a runtime limit is more efficient. Also, > * not all bits may be allocated. */ > extern unsigned int nr_cpumask_bits; > @@ -263,37 +263,6 @@ static inline const cpumask_t *cpumask_o > return (const cpumask_t *)(p - cpu / BITS_PER_LONG); > } > > -#if defined(__ia64__) /* XXX needs cleanup */ > -#define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS) > - > -#if NR_CPUS <= BITS_PER_LONG > - > -#define CPU_MASK_ALL \ > -/*(cpumask_t)*/ { { \ > - [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \ > -} } > - > -#else > - > -#define CPU_MASK_ALL \ > -/*(cpumask_t)*/ { { \ > - [0 ... BITS_TO_LONGS(NR_CPUS)-2] = ~0UL, \ > - [BITS_TO_LONGS(NR_CPUS)-1] = CPU_MASK_LAST_WORD \ > -} } > - > -#endif > - > -#define CPU_MASK_NONE \ > -/*(cpumask_t)*/ { { \ > - 0UL \ > -} } > - > -#define CPU_MASK_CPU0 \ > -/*(cpumask_t)*/ { { \ > - [0] = 1UL \ > -} } > -#endif /* __ia64__ */ > - > #define cpumask_bits(maskp) ((maskp)->bits) > > static inline int cpumask_scnprintf(char *buf, int len, > --- a/xen/include/xen/efi.h > +++ b/xen/include/xen/efi.h > @@ -5,15 +5,11 @@ > #include <xen/types.h> > #endif > > -#if defined(__ia64__) > -# include_next <linux/efi.h> > +#if defined(__i386__) > +# define efi_enabled 0 > #else > - > -# if defined(__i386__) > -# define efi_enabled 0 > -# else > extern const bool_t efi_enabled; > -# endif > +#endif > > #define EFI_INVALID_TABLE_ADDR (~0UL) > > @@ -27,8 +23,6 @@ struct efi { > > extern struct efi efi; > > -#endif > - > #ifndef __ASSEMBLY__ > > union xenpf_efi_info; > --- a/xen/include/xen/elfcore.h > +++ b/xen/include/xen/elfcore.h > @@ -69,9 +69,6 @@ typedef struct { > unsigned long xen_phys_start; > unsigned long dom0_pfn_to_mfn_frame_list_list; > #endif > -#if defined(__ia64__) > - unsigned long dom0_mm_pgd_mfn; > -#endif > } crash_xen_info_t; > > #endif /* __ELFCOREC_H__ */ > --- a/xen/include/xen/hvm/irq.h > +++ b/xen/include/xen/hvm/irq.h > @@ -78,8 +78,6 @@ struct hvm_girq_dpci_mapping { > #define NR_LINK 4 > #if defined(__i386__) || defined(__x86_64__) > # define NR_HVM_IRQS VIOAPIC_NUM_PINS > -#elif defined(__ia64__) > -# define NR_HVM_IRQS VIOSAPIC_NUM_PINS > #endif > > /* Protected by domain's event_lock */ > --- a/xen/include/xen/iommu.h > +++ b/xen/include/xen/iommu.h > @@ -35,11 +35,7 @@ extern bool_t iommu_debug; > extern bool_t amd_iommu_perdev_intremap; > > /* Does this domain have a P2M table we can use as its IOMMU pagetable? */ > -#ifndef __ia64__ > #define iommu_use_hap_pt(d) (hap_enabled(d) && iommu_hap_pt_share) > -#else > -#define iommu_use_hap_pt(d) 0 > -#endif > > extern struct rangeset *mmio_ro_ranges; > > --- a/xen/include/xen/irq.h > +++ b/xen/include/xen/irq.h > @@ -95,37 +95,19 @@ int arch_init_one_irq_desc(struct irq_de > > #define irq_desc_initialized(desc) ((desc)->handler != NULL) > > -#if defined(__ia64__) > -extern irq_desc_t irq_desc[NR_VECTORS]; > - > -#define setup_irq(irq, action) \ > - setup_irq_vector(irq_to_vector(irq), action) > - > -#define release_irq(irq) \ > - release_irq_vector(irq_to_vector(irq)) > - > -#define request_irq(irq, handler, irqflags, devname, devid) \ > - request_irq_vector(irq_to_vector(irq), handler, irqflags, devname, devid) > - > -#elif defined(__arm__) > +#if defined(__arm__) > > #define NR_IRQS 1024 > #define nr_irqs NR_IRQS > extern irq_desc_t irq_desc[NR_IRQS]; > > -extern int setup_irq(unsigned int irq, struct irqaction *); > -extern void release_irq(unsigned int irq); > -extern int request_irq(unsigned int irq, > - void (*handler)(int, void *, struct cpu_user_regs *), > - unsigned long irqflags, const char * devname, void *dev_id); > +#endif > > -#else > extern int setup_irq(unsigned int irq, struct irqaction *); > extern void release_irq(unsigned int irq); > extern int request_irq(unsigned int irq, > void (*handler)(int, void *, struct cpu_user_regs *), > unsigned long irqflags, const char * devname, void *dev_id); > -#endif > > extern hw_irq_controller no_irq_type; > extern void no_action(int cpl, void *dev_id, struct cpu_user_regs *regs); > --- a/xen/include/xen/libelf.h > +++ b/xen/include/xen/libelf.h > @@ -23,7 +23,7 @@ > #ifndef __XEN_LIBELF_H__ > #define __XEN_LIBELF_H__ > > -#if defined(__i386__) || defined(__x86_64__) || defined(__ia64__) || > defined(__arm__) > +#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) > #define XEN_ELF_LITTLE_ENDIAN > #else > #error define architectural endianness > --- a/xen/include/xen/symbols.h > +++ b/xen/include/xen/symbols.h > @@ -21,13 +21,9 @@ static void __check_printsym_format(cons > { > } > > -/* ia64 and ppc64 use function descriptors, which contain the real address */ > -#if defined(CONFIG_IA64) || defined(CONFIG_PPC64) > -#define print_fn_descriptor_symbol(fmt, addr) \ > -do { \ > - unsigned long *__faddr = (unsigned long*) addr; \ > - print_symbol(fmt, __faddr[0]); \ > -} while (0) > +#if 0 > +#define print_fn_descriptor_symbol(fmt, addr) \ > + print_symbol(fmt, *(unsigned long *)addr) > #else > #define print_fn_descriptor_symbol(fmt, addr) print_symbol(fmt, addr) > #endif > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |