[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


 


Rackspace

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