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