[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] removal of ia64 port



>>> 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.

--- 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


Attachment: ia64-purge.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.