ia64/xen-unstable

changeset 13100:ba79a17ff715

[IA64] Move machvec.h to linux-xen

Necessary to clean up warnings

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author awilliam@xenbuild2.aw
date Thu Dec 14 13:23:33 2006 -0700 (2006-12-14)
parents 97a369d8da43
children 8a9b1b72af44
files xen/include/asm-ia64/linux-xen/asm/README.origin xen/include/asm-ia64/linux-xen/asm/machvec.h xen/include/asm-ia64/linux/asm/README.origin xen/include/asm-ia64/linux/asm/machvec.h
line diff
     1.1 --- a/xen/include/asm-ia64/linux-xen/asm/README.origin	Thu Dec 14 11:01:37 2006 -0700
     1.2 +++ b/xen/include/asm-ia64/linux-xen/asm/README.origin	Thu Dec 14 13:23:33 2006 -0700
     1.3 @@ -36,6 +36,7 @@ perfmon.h		-> linux/include/asm-ia64/per
     1.4  perfmon_default_smpl.h	-> linux/include/asm-ia64/perfmon_default_smpl.h
     1.5  
     1.6  # The files below are from Linux-2.6.19
     1.7 +machvec.h		-> linux/include/asm-ia64/machvec.h
     1.8  machvec_dig.h		-> linux/include/asm-ia64/machvec_dig.h
     1.9  machvec_sn2.h		-> linux/include/asm-ia64/machvec_sn2.h
    1.10  machvec_hpzx1.h		-> linux/include/asm-ia64/machvec_hpzx1.h
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/xen/include/asm-ia64/linux-xen/asm/machvec.h	Thu Dec 14 13:23:33 2006 -0700
     2.3 @@ -0,0 +1,390 @@
     2.4 +/*
     2.5 + * Machine vector for IA-64.
     2.6 + *
     2.7 + * Copyright (C) 1999 Silicon Graphics, Inc.
     2.8 + * Copyright (C) Srinivasa Thirumalachar <sprasad@engr.sgi.com>
     2.9 + * Copyright (C) Vijay Chander <vijay@engr.sgi.com>
    2.10 + * Copyright (C) 1999-2001, 2003-2004 Hewlett-Packard Co.
    2.11 + *	David Mosberger-Tang <davidm@hpl.hp.com>
    2.12 + */
    2.13 +#ifndef _ASM_IA64_MACHVEC_H
    2.14 +#define _ASM_IA64_MACHVEC_H
    2.15 +
    2.16 +#include <linux/config.h>
    2.17 +#include <linux/types.h>
    2.18 +
    2.19 +/* forward declarations: */
    2.20 +struct device;
    2.21 +struct pt_regs;
    2.22 +struct scatterlist;
    2.23 +struct page;
    2.24 +struct mm_struct;
    2.25 +struct pci_bus;
    2.26 +
    2.27 +typedef void ia64_mv_setup_t (char **);
    2.28 +typedef void ia64_mv_cpu_init_t (void);
    2.29 +typedef void ia64_mv_irq_init_t (void);
    2.30 +typedef void ia64_mv_send_ipi_t (int, int, int, int);
    2.31 +typedef void ia64_mv_timer_interrupt_t (int, void *, struct pt_regs *);
    2.32 +typedef void ia64_mv_global_tlb_purge_t (unsigned long, unsigned long, unsigned long);
    2.33 +typedef void ia64_mv_tlb_migrate_finish_t (struct mm_struct *);
    2.34 +typedef unsigned int ia64_mv_local_vector_to_irq (u8);
    2.35 +typedef char *ia64_mv_pci_get_legacy_mem_t (struct pci_bus *);
    2.36 +typedef int ia64_mv_pci_legacy_read_t (struct pci_bus *, u16 port, u32 *val,
    2.37 +				       u8 size);
    2.38 +typedef int ia64_mv_pci_legacy_write_t (struct pci_bus *, u16 port, u32 val,
    2.39 +					u8 size);
    2.40 +
    2.41 +/* DMA-mapping interface: */
    2.42 +typedef void ia64_mv_dma_init (void);
    2.43 +typedef void *ia64_mv_dma_alloc_coherent (struct device *, size_t, dma_addr_t *, int);
    2.44 +typedef void ia64_mv_dma_free_coherent (struct device *, size_t, void *, dma_addr_t);
    2.45 +typedef dma_addr_t ia64_mv_dma_map_single (struct device *, void *, size_t, int);
    2.46 +typedef void ia64_mv_dma_unmap_single (struct device *, dma_addr_t, size_t, int);
    2.47 +typedef int ia64_mv_dma_map_sg (struct device *, struct scatterlist *, int, int);
    2.48 +typedef void ia64_mv_dma_unmap_sg (struct device *, struct scatterlist *, int, int);
    2.49 +typedef void ia64_mv_dma_sync_single_for_cpu (struct device *, dma_addr_t, size_t, int);
    2.50 +typedef void ia64_mv_dma_sync_sg_for_cpu (struct device *, struct scatterlist *, int, int);
    2.51 +typedef void ia64_mv_dma_sync_single_for_device (struct device *, dma_addr_t, size_t, int);
    2.52 +typedef void ia64_mv_dma_sync_sg_for_device (struct device *, struct scatterlist *, int, int);
    2.53 +typedef int ia64_mv_dma_mapping_error (dma_addr_t dma_addr);
    2.54 +typedef int ia64_mv_dma_supported (struct device *, u64);
    2.55 +
    2.56 +/*
    2.57 + * WARNING: The legacy I/O space is _architected_.  Platforms are
    2.58 + * expected to follow this architected model (see Section 10.7 in the
    2.59 + * IA-64 Architecture Software Developer's Manual).  Unfortunately,
    2.60 + * some broken machines do not follow that model, which is why we have
    2.61 + * to make the inX/outX operations part of the machine vector.
    2.62 + * Platform designers should follow the architected model whenever
    2.63 + * possible.
    2.64 + */
    2.65 +typedef unsigned int ia64_mv_inb_t (unsigned long);
    2.66 +typedef unsigned int ia64_mv_inw_t (unsigned long);
    2.67 +typedef unsigned int ia64_mv_inl_t (unsigned long);
    2.68 +typedef void ia64_mv_outb_t (unsigned char, unsigned long);
    2.69 +typedef void ia64_mv_outw_t (unsigned short, unsigned long);
    2.70 +typedef void ia64_mv_outl_t (unsigned int, unsigned long);
    2.71 +typedef void ia64_mv_mmiowb_t (void);
    2.72 +typedef unsigned char ia64_mv_readb_t (const volatile void __iomem *);
    2.73 +typedef unsigned short ia64_mv_readw_t (const volatile void __iomem *);
    2.74 +typedef unsigned int ia64_mv_readl_t (const volatile void __iomem *);
    2.75 +typedef unsigned long ia64_mv_readq_t (const volatile void __iomem *);
    2.76 +typedef unsigned char ia64_mv_readb_relaxed_t (const volatile void __iomem *);
    2.77 +typedef unsigned short ia64_mv_readw_relaxed_t (const volatile void __iomem *);
    2.78 +typedef unsigned int ia64_mv_readl_relaxed_t (const volatile void __iomem *);
    2.79 +typedef unsigned long ia64_mv_readq_relaxed_t (const volatile void __iomem *);
    2.80 +
    2.81 +static inline void
    2.82 +machvec_noop (void)
    2.83 +{
    2.84 +}
    2.85 +
    2.86 +static inline void
    2.87 +machvec_noop_mm (struct mm_struct *mm)
    2.88 +{
    2.89 +}
    2.90 +
    2.91 +extern void machvec_setup (char **);
    2.92 +extern void machvec_timer_interrupt (int, void *, struct pt_regs *);
    2.93 +extern void machvec_dma_sync_single (struct device *, dma_addr_t, size_t, int);
    2.94 +extern void machvec_dma_sync_sg (struct device *, struct scatterlist *, int, int);
    2.95 +extern void machvec_tlb_migrate_finish (struct mm_struct *);
    2.96 +
    2.97 +# if defined (CONFIG_IA64_HP_SIM)
    2.98 +#  include <asm/machvec_hpsim.h>
    2.99 +# elif defined (CONFIG_IA64_DIG)
   2.100 +#  include <asm/machvec_dig.h>
   2.101 +# elif defined (CONFIG_IA64_HP_ZX1)
   2.102 +#  include <asm/machvec_hpzx1.h>
   2.103 +# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
   2.104 +#  include <asm/machvec_hpzx1_swiotlb.h>
   2.105 +# elif defined (CONFIG_IA64_SGI_SN2)
   2.106 +#  include <asm/machvec_sn2.h>
   2.107 +# elif defined (CONFIG_IA64_GENERIC)
   2.108 +
   2.109 +# ifdef MACHVEC_PLATFORM_HEADER
   2.110 +#  include MACHVEC_PLATFORM_HEADER
   2.111 +# else
   2.112 +#  define platform_name		ia64_mv.name
   2.113 +#  define platform_setup	ia64_mv.setup
   2.114 +#  define platform_cpu_init	ia64_mv.cpu_init
   2.115 +#  define platform_irq_init	ia64_mv.irq_init
   2.116 +#  define platform_send_ipi	ia64_mv.send_ipi
   2.117 +#  define platform_timer_interrupt	ia64_mv.timer_interrupt
   2.118 +#  define platform_global_tlb_purge	ia64_mv.global_tlb_purge
   2.119 +#  define platform_tlb_migrate_finish	ia64_mv.tlb_migrate_finish
   2.120 +#  define platform_dma_init		ia64_mv.dma_init
   2.121 +#  define platform_dma_alloc_coherent	ia64_mv.dma_alloc_coherent
   2.122 +#  define platform_dma_free_coherent	ia64_mv.dma_free_coherent
   2.123 +#  define platform_dma_map_single	ia64_mv.dma_map_single
   2.124 +#  define platform_dma_unmap_single	ia64_mv.dma_unmap_single
   2.125 +#  define platform_dma_map_sg		ia64_mv.dma_map_sg
   2.126 +#  define platform_dma_unmap_sg		ia64_mv.dma_unmap_sg
   2.127 +#  define platform_dma_sync_single_for_cpu ia64_mv.dma_sync_single_for_cpu
   2.128 +#  define platform_dma_sync_sg_for_cpu	ia64_mv.dma_sync_sg_for_cpu
   2.129 +#  define platform_dma_sync_single_for_device ia64_mv.dma_sync_single_for_device
   2.130 +#  define platform_dma_sync_sg_for_device ia64_mv.dma_sync_sg_for_device
   2.131 +#  define platform_dma_mapping_error		ia64_mv.dma_mapping_error
   2.132 +#  define platform_dma_supported	ia64_mv.dma_supported
   2.133 +#  define platform_local_vector_to_irq	ia64_mv.local_vector_to_irq
   2.134 +#  define platform_pci_get_legacy_mem	ia64_mv.pci_get_legacy_mem
   2.135 +#  define platform_pci_legacy_read	ia64_mv.pci_legacy_read
   2.136 +#  define platform_pci_legacy_write	ia64_mv.pci_legacy_write
   2.137 +#  define platform_inb		ia64_mv.inb
   2.138 +#  define platform_inw		ia64_mv.inw
   2.139 +#  define platform_inl		ia64_mv.inl
   2.140 +#  define platform_outb		ia64_mv.outb
   2.141 +#  define platform_outw		ia64_mv.outw
   2.142 +#  define platform_outl		ia64_mv.outl
   2.143 +#  define platform_mmiowb	ia64_mv.mmiowb
   2.144 +#  define platform_readb        ia64_mv.readb
   2.145 +#  define platform_readw        ia64_mv.readw
   2.146 +#  define platform_readl        ia64_mv.readl
   2.147 +#  define platform_readq        ia64_mv.readq
   2.148 +#  define platform_readb_relaxed        ia64_mv.readb_relaxed
   2.149 +#  define platform_readw_relaxed        ia64_mv.readw_relaxed
   2.150 +#  define platform_readl_relaxed        ia64_mv.readl_relaxed
   2.151 +#  define platform_readq_relaxed        ia64_mv.readq_relaxed
   2.152 +# endif
   2.153 +
   2.154 +/* __attribute__((__aligned__(16))) is required to make size of the
   2.155 + * structure multiple of 16 bytes.
   2.156 + * This will fillup the holes created because of section 3.3.1 in
   2.157 + * Software Conventions guide.
   2.158 + */
   2.159 +struct ia64_machine_vector {
   2.160 +	const char *name;
   2.161 +	ia64_mv_setup_t *setup;
   2.162 +	ia64_mv_cpu_init_t *cpu_init;
   2.163 +	ia64_mv_irq_init_t *irq_init;
   2.164 +	ia64_mv_send_ipi_t *send_ipi;
   2.165 +	ia64_mv_timer_interrupt_t *timer_interrupt;
   2.166 +	ia64_mv_global_tlb_purge_t *global_tlb_purge;
   2.167 +	ia64_mv_tlb_migrate_finish_t *tlb_migrate_finish;
   2.168 +	ia64_mv_dma_init *dma_init;
   2.169 +	ia64_mv_dma_alloc_coherent *dma_alloc_coherent;
   2.170 +	ia64_mv_dma_free_coherent *dma_free_coherent;
   2.171 +	ia64_mv_dma_map_single *dma_map_single;
   2.172 +	ia64_mv_dma_unmap_single *dma_unmap_single;
   2.173 +	ia64_mv_dma_map_sg *dma_map_sg;
   2.174 +	ia64_mv_dma_unmap_sg *dma_unmap_sg;
   2.175 +	ia64_mv_dma_sync_single_for_cpu *dma_sync_single_for_cpu;
   2.176 +	ia64_mv_dma_sync_sg_for_cpu *dma_sync_sg_for_cpu;
   2.177 +	ia64_mv_dma_sync_single_for_device *dma_sync_single_for_device;
   2.178 +	ia64_mv_dma_sync_sg_for_device *dma_sync_sg_for_device;
   2.179 +	ia64_mv_dma_mapping_error *dma_mapping_error;
   2.180 +	ia64_mv_dma_supported *dma_supported;
   2.181 +	ia64_mv_local_vector_to_irq *local_vector_to_irq;
   2.182 +	ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem;
   2.183 +	ia64_mv_pci_legacy_read_t *pci_legacy_read;
   2.184 +	ia64_mv_pci_legacy_write_t *pci_legacy_write;
   2.185 +	ia64_mv_inb_t *inb;
   2.186 +	ia64_mv_inw_t *inw;
   2.187 +	ia64_mv_inl_t *inl;
   2.188 +	ia64_mv_outb_t *outb;
   2.189 +	ia64_mv_outw_t *outw;
   2.190 +	ia64_mv_outl_t *outl;
   2.191 +	ia64_mv_mmiowb_t *mmiowb;
   2.192 +	ia64_mv_readb_t *readb;
   2.193 +	ia64_mv_readw_t *readw;
   2.194 +	ia64_mv_readl_t *readl;
   2.195 +	ia64_mv_readq_t *readq;
   2.196 +	ia64_mv_readb_relaxed_t *readb_relaxed;
   2.197 +	ia64_mv_readw_relaxed_t *readw_relaxed;
   2.198 +	ia64_mv_readl_relaxed_t *readl_relaxed;
   2.199 +	ia64_mv_readq_relaxed_t *readq_relaxed;
   2.200 +} __attribute__((__aligned__(16))); /* align attrib? see above comment */
   2.201 +
   2.202 +#define MACHVEC_INIT(name)			\
   2.203 +{						\
   2.204 +	#name,					\
   2.205 +	platform_setup,				\
   2.206 +	platform_cpu_init,			\
   2.207 +	platform_irq_init,			\
   2.208 +	platform_send_ipi,			\
   2.209 +	platform_timer_interrupt,		\
   2.210 +	platform_global_tlb_purge,		\
   2.211 +	platform_tlb_migrate_finish,		\
   2.212 +	platform_dma_init,			\
   2.213 +	platform_dma_alloc_coherent,		\
   2.214 +	platform_dma_free_coherent,		\
   2.215 +	platform_dma_map_single,		\
   2.216 +	platform_dma_unmap_single,		\
   2.217 +	platform_dma_map_sg,			\
   2.218 +	platform_dma_unmap_sg,			\
   2.219 +	platform_dma_sync_single_for_cpu,	\
   2.220 +	platform_dma_sync_sg_for_cpu,		\
   2.221 +	platform_dma_sync_single_for_device,	\
   2.222 +	platform_dma_sync_sg_for_device,	\
   2.223 +	platform_dma_mapping_error,			\
   2.224 +	platform_dma_supported,			\
   2.225 +	platform_local_vector_to_irq,		\
   2.226 +	platform_pci_get_legacy_mem,		\
   2.227 +	platform_pci_legacy_read,		\
   2.228 +	platform_pci_legacy_write,		\
   2.229 +	platform_inb,				\
   2.230 +	platform_inw,				\
   2.231 +	platform_inl,				\
   2.232 +	platform_outb,				\
   2.233 +	platform_outw,				\
   2.234 +	platform_outl,				\
   2.235 +	platform_mmiowb,			\
   2.236 +	platform_readb,				\
   2.237 +	platform_readw,				\
   2.238 +	platform_readl,				\
   2.239 +	platform_readq,				\
   2.240 +	platform_readb_relaxed,			\
   2.241 +	platform_readw_relaxed,			\
   2.242 +	platform_readl_relaxed,			\
   2.243 +	platform_readq_relaxed,			\
   2.244 +}
   2.245 +
   2.246 +extern struct ia64_machine_vector ia64_mv;
   2.247 +extern void machvec_init (const char *name);
   2.248 +
   2.249 +# else
   2.250 +#  error Unknown configuration.  Update asm-ia64/machvec.h.
   2.251 +# endif /* CONFIG_IA64_GENERIC */
   2.252 +
   2.253 +/*
   2.254 + * Declare default routines which aren't declared anywhere else:
   2.255 + */
   2.256 +extern ia64_mv_dma_init			swiotlb_init;
   2.257 +extern ia64_mv_dma_alloc_coherent	swiotlb_alloc_coherent;
   2.258 +extern ia64_mv_dma_free_coherent	swiotlb_free_coherent;
   2.259 +extern ia64_mv_dma_map_single		swiotlb_map_single;
   2.260 +extern ia64_mv_dma_unmap_single		swiotlb_unmap_single;
   2.261 +extern ia64_mv_dma_map_sg		swiotlb_map_sg;
   2.262 +extern ia64_mv_dma_unmap_sg		swiotlb_unmap_sg;
   2.263 +extern ia64_mv_dma_sync_single_for_cpu	swiotlb_sync_single_for_cpu;
   2.264 +extern ia64_mv_dma_sync_sg_for_cpu	swiotlb_sync_sg_for_cpu;
   2.265 +extern ia64_mv_dma_sync_single_for_device swiotlb_sync_single_for_device;
   2.266 +extern ia64_mv_dma_sync_sg_for_device	swiotlb_sync_sg_for_device;
   2.267 +extern ia64_mv_dma_mapping_error	swiotlb_dma_mapping_error;
   2.268 +extern ia64_mv_dma_supported		swiotlb_dma_supported;
   2.269 +
   2.270 +/*
   2.271 + * Define default versions so we can extend machvec for new platforms without having
   2.272 + * to update the machvec files for all existing platforms.
   2.273 + */
   2.274 +#ifndef platform_setup
   2.275 +# define platform_setup			machvec_setup
   2.276 +#endif
   2.277 +#ifndef platform_cpu_init
   2.278 +# define platform_cpu_init		machvec_noop
   2.279 +#endif
   2.280 +#ifndef platform_irq_init
   2.281 +# define platform_irq_init		machvec_noop
   2.282 +#endif
   2.283 +
   2.284 +#ifndef platform_send_ipi
   2.285 +# define platform_send_ipi		ia64_send_ipi	/* default to architected version */
   2.286 +#endif
   2.287 +#ifndef platform_timer_interrupt
   2.288 +# define platform_timer_interrupt 	machvec_timer_interrupt
   2.289 +#endif
   2.290 +#ifndef platform_global_tlb_purge
   2.291 +# define platform_global_tlb_purge	ia64_global_tlb_purge /* default to architected version */
   2.292 +#endif
   2.293 +#ifndef platform_tlb_migrate_finish
   2.294 +# define platform_tlb_migrate_finish	machvec_noop_mm
   2.295 +#endif
   2.296 +#ifndef platform_dma_init
   2.297 +# define platform_dma_init		swiotlb_init
   2.298 +#endif
   2.299 +#ifndef platform_dma_alloc_coherent
   2.300 +# define platform_dma_alloc_coherent	swiotlb_alloc_coherent
   2.301 +#endif
   2.302 +#ifndef platform_dma_free_coherent
   2.303 +# define platform_dma_free_coherent	swiotlb_free_coherent
   2.304 +#endif
   2.305 +#ifndef platform_dma_map_single
   2.306 +# define platform_dma_map_single	swiotlb_map_single
   2.307 +#endif
   2.308 +#ifndef platform_dma_unmap_single
   2.309 +# define platform_dma_unmap_single	swiotlb_unmap_single
   2.310 +#endif
   2.311 +#ifndef platform_dma_map_sg
   2.312 +# define platform_dma_map_sg		swiotlb_map_sg
   2.313 +#endif
   2.314 +#ifndef platform_dma_unmap_sg
   2.315 +# define platform_dma_unmap_sg		swiotlb_unmap_sg
   2.316 +#endif
   2.317 +#ifndef platform_dma_sync_single_for_cpu
   2.318 +# define platform_dma_sync_single_for_cpu	swiotlb_sync_single_for_cpu
   2.319 +#endif
   2.320 +#ifndef platform_dma_sync_sg_for_cpu
   2.321 +# define platform_dma_sync_sg_for_cpu		swiotlb_sync_sg_for_cpu
   2.322 +#endif
   2.323 +#ifndef platform_dma_sync_single_for_device
   2.324 +# define platform_dma_sync_single_for_device	swiotlb_sync_single_for_device
   2.325 +#endif
   2.326 +#ifndef platform_dma_sync_sg_for_device
   2.327 +# define platform_dma_sync_sg_for_device	swiotlb_sync_sg_for_device
   2.328 +#endif
   2.329 +#ifndef platform_dma_mapping_error
   2.330 +# define platform_dma_mapping_error		swiotlb_dma_mapping_error
   2.331 +#endif
   2.332 +#ifndef platform_dma_supported
   2.333 +# define  platform_dma_supported	swiotlb_dma_supported
   2.334 +#endif
   2.335 +#ifndef platform_local_vector_to_irq
   2.336 +# define platform_local_vector_to_irq	__ia64_local_vector_to_irq
   2.337 +#endif
   2.338 +#ifndef platform_pci_get_legacy_mem
   2.339 +# define platform_pci_get_legacy_mem	ia64_pci_get_legacy_mem
   2.340 +#endif
   2.341 +#ifndef platform_pci_legacy_read
   2.342 +# define platform_pci_legacy_read	ia64_pci_legacy_read
   2.343 +#endif
   2.344 +#ifndef platform_pci_legacy_write
   2.345 +# define platform_pci_legacy_write	ia64_pci_legacy_write
   2.346 +#endif
   2.347 +#ifndef platform_inb
   2.348 +# define platform_inb		__ia64_inb
   2.349 +#endif
   2.350 +#ifndef platform_inw
   2.351 +# define platform_inw		__ia64_inw
   2.352 +#endif
   2.353 +#ifndef platform_inl
   2.354 +# define platform_inl		__ia64_inl
   2.355 +#endif
   2.356 +#ifndef platform_outb
   2.357 +# define platform_outb		__ia64_outb
   2.358 +#endif
   2.359 +#ifndef platform_outw
   2.360 +# define platform_outw		__ia64_outw
   2.361 +#endif
   2.362 +#ifndef platform_outl
   2.363 +# define platform_outl		__ia64_outl
   2.364 +#endif
   2.365 +#ifndef platform_mmiowb
   2.366 +# define platform_mmiowb	__ia64_mmiowb
   2.367 +#endif
   2.368 +#ifndef platform_readb
   2.369 +# define platform_readb		__ia64_readb
   2.370 +#endif
   2.371 +#ifndef platform_readw
   2.372 +# define platform_readw		__ia64_readw
   2.373 +#endif
   2.374 +#ifndef platform_readl
   2.375 +# define platform_readl		__ia64_readl
   2.376 +#endif
   2.377 +#ifndef platform_readq
   2.378 +# define platform_readq		__ia64_readq
   2.379 +#endif
   2.380 +#ifndef platform_readb_relaxed
   2.381 +# define platform_readb_relaxed	__ia64_readb_relaxed
   2.382 +#endif
   2.383 +#ifndef platform_readw_relaxed
   2.384 +# define platform_readw_relaxed	__ia64_readw_relaxed
   2.385 +#endif
   2.386 +#ifndef platform_readl_relaxed
   2.387 +# define platform_readl_relaxed	__ia64_readl_relaxed
   2.388 +#endif
   2.389 +#ifndef platform_readq_relaxed
   2.390 +# define platform_readq_relaxed	__ia64_readq_relaxed
   2.391 +#endif
   2.392 +
   2.393 +#endif /* _ASM_IA64_MACHVEC_H */
     3.1 --- a/xen/include/asm-ia64/linux/asm/README.origin	Thu Dec 14 11:01:37 2006 -0700
     3.2 +++ b/xen/include/asm-ia64/linux/asm/README.origin	Thu Dec 14 13:23:33 2006 -0700
     3.3 @@ -21,7 +21,6 @@ intrinsics.h		-> linux/include/asm-ia64/
     3.4  ioctl.h			-> linux/include/asm-ia64/ioctl.h
     3.5  irq.h			-> linux/include/asm-ia64/irq.h
     3.6  linkage.h		-> linux/include/asm-ia64/linkage.h
     3.7 -machvec.h		-> linux/include/asm-ia64/machvec.h
     3.8  machvec_hpsim.h		-> linux/include/asm-ia64/machvec_hpsim.h
     3.9  mca.h			-> linux/include/asm-ia64/mca.h
    3.10  nodedata.h		-> linux/include/asm-ia64/nodedate.h
     4.1 --- a/xen/include/asm-ia64/linux/asm/machvec.h	Thu Dec 14 11:01:37 2006 -0700
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,390 +0,0 @@
     4.4 -/*
     4.5 - * Machine vector for IA-64.
     4.6 - *
     4.7 - * Copyright (C) 1999 Silicon Graphics, Inc.
     4.8 - * Copyright (C) Srinivasa Thirumalachar <sprasad@engr.sgi.com>
     4.9 - * Copyright (C) Vijay Chander <vijay@engr.sgi.com>
    4.10 - * Copyright (C) 1999-2001, 2003-2004 Hewlett-Packard Co.
    4.11 - *	David Mosberger-Tang <davidm@hpl.hp.com>
    4.12 - */
    4.13 -#ifndef _ASM_IA64_MACHVEC_H
    4.14 -#define _ASM_IA64_MACHVEC_H
    4.15 -
    4.16 -#include <linux/config.h>
    4.17 -#include <linux/types.h>
    4.18 -
    4.19 -/* forward declarations: */
    4.20 -struct device;
    4.21 -struct pt_regs;
    4.22 -struct scatterlist;
    4.23 -struct page;
    4.24 -struct mm_struct;
    4.25 -struct pci_bus;
    4.26 -
    4.27 -typedef void ia64_mv_setup_t (char **);
    4.28 -typedef void ia64_mv_cpu_init_t (void);
    4.29 -typedef void ia64_mv_irq_init_t (void);
    4.30 -typedef void ia64_mv_send_ipi_t (int, int, int, int);
    4.31 -typedef void ia64_mv_timer_interrupt_t (int, void *, struct pt_regs *);
    4.32 -typedef void ia64_mv_global_tlb_purge_t (unsigned long, unsigned long, unsigned long);
    4.33 -typedef void ia64_mv_tlb_migrate_finish_t (struct mm_struct *);
    4.34 -typedef unsigned int ia64_mv_local_vector_to_irq (u8);
    4.35 -typedef char *ia64_mv_pci_get_legacy_mem_t (struct pci_bus *);
    4.36 -typedef int ia64_mv_pci_legacy_read_t (struct pci_bus *, u16 port, u32 *val,
    4.37 -				       u8 size);
    4.38 -typedef int ia64_mv_pci_legacy_write_t (struct pci_bus *, u16 port, u32 val,
    4.39 -					u8 size);
    4.40 -
    4.41 -/* DMA-mapping interface: */
    4.42 -typedef void ia64_mv_dma_init (void);
    4.43 -typedef void *ia64_mv_dma_alloc_coherent (struct device *, size_t, dma_addr_t *, int);
    4.44 -typedef void ia64_mv_dma_free_coherent (struct device *, size_t, void *, dma_addr_t);
    4.45 -typedef dma_addr_t ia64_mv_dma_map_single (struct device *, void *, size_t, int);
    4.46 -typedef void ia64_mv_dma_unmap_single (struct device *, dma_addr_t, size_t, int);
    4.47 -typedef int ia64_mv_dma_map_sg (struct device *, struct scatterlist *, int, int);
    4.48 -typedef void ia64_mv_dma_unmap_sg (struct device *, struct scatterlist *, int, int);
    4.49 -typedef void ia64_mv_dma_sync_single_for_cpu (struct device *, dma_addr_t, size_t, int);
    4.50 -typedef void ia64_mv_dma_sync_sg_for_cpu (struct device *, struct scatterlist *, int, int);
    4.51 -typedef void ia64_mv_dma_sync_single_for_device (struct device *, dma_addr_t, size_t, int);
    4.52 -typedef void ia64_mv_dma_sync_sg_for_device (struct device *, struct scatterlist *, int, int);
    4.53 -typedef int ia64_mv_dma_mapping_error (dma_addr_t dma_addr);
    4.54 -typedef int ia64_mv_dma_supported (struct device *, u64);
    4.55 -
    4.56 -/*
    4.57 - * WARNING: The legacy I/O space is _architected_.  Platforms are
    4.58 - * expected to follow this architected model (see Section 10.7 in the
    4.59 - * IA-64 Architecture Software Developer's Manual).  Unfortunately,
    4.60 - * some broken machines do not follow that model, which is why we have
    4.61 - * to make the inX/outX operations part of the machine vector.
    4.62 - * Platform designers should follow the architected model whenever
    4.63 - * possible.
    4.64 - */
    4.65 -typedef unsigned int ia64_mv_inb_t (unsigned long);
    4.66 -typedef unsigned int ia64_mv_inw_t (unsigned long);
    4.67 -typedef unsigned int ia64_mv_inl_t (unsigned long);
    4.68 -typedef void ia64_mv_outb_t (unsigned char, unsigned long);
    4.69 -typedef void ia64_mv_outw_t (unsigned short, unsigned long);
    4.70 -typedef void ia64_mv_outl_t (unsigned int, unsigned long);
    4.71 -typedef void ia64_mv_mmiowb_t (void);
    4.72 -typedef unsigned char ia64_mv_readb_t (const volatile void __iomem *);
    4.73 -typedef unsigned short ia64_mv_readw_t (const volatile void __iomem *);
    4.74 -typedef unsigned int ia64_mv_readl_t (const volatile void __iomem *);
    4.75 -typedef unsigned long ia64_mv_readq_t (const volatile void __iomem *);
    4.76 -typedef unsigned char ia64_mv_readb_relaxed_t (const volatile void __iomem *);
    4.77 -typedef unsigned short ia64_mv_readw_relaxed_t (const volatile void __iomem *);
    4.78 -typedef unsigned int ia64_mv_readl_relaxed_t (const volatile void __iomem *);
    4.79 -typedef unsigned long ia64_mv_readq_relaxed_t (const volatile void __iomem *);
    4.80 -
    4.81 -static inline void
    4.82 -machvec_noop (void)
    4.83 -{
    4.84 -}
    4.85 -
    4.86 -static inline void
    4.87 -machvec_noop_mm (struct mm_struct *mm)
    4.88 -{
    4.89 -}
    4.90 -
    4.91 -extern void machvec_setup (char **);
    4.92 -extern void machvec_timer_interrupt (int, void *, struct pt_regs *);
    4.93 -extern void machvec_dma_sync_single (struct device *, dma_addr_t, size_t, int);
    4.94 -extern void machvec_dma_sync_sg (struct device *, struct scatterlist *, int, int);
    4.95 -extern void machvec_tlb_migrate_finish (struct mm_struct *);
    4.96 -
    4.97 -# if defined (CONFIG_IA64_HP_SIM)
    4.98 -#  include <asm/machvec_hpsim.h>
    4.99 -# elif defined (CONFIG_IA64_DIG)
   4.100 -#  include <asm/machvec_dig.h>
   4.101 -# elif defined (CONFIG_IA64_HP_ZX1)
   4.102 -#  include <asm/machvec_hpzx1.h>
   4.103 -# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
   4.104 -#  include <asm/machvec_hpzx1_swiotlb.h>
   4.105 -# elif defined (CONFIG_IA64_SGI_SN2)
   4.106 -#  include <asm/machvec_sn2.h>
   4.107 -# elif defined (CONFIG_IA64_GENERIC)
   4.108 -
   4.109 -# ifdef MACHVEC_PLATFORM_HEADER
   4.110 -#  include MACHVEC_PLATFORM_HEADER
   4.111 -# else
   4.112 -#  define platform_name		ia64_mv.name
   4.113 -#  define platform_setup	ia64_mv.setup
   4.114 -#  define platform_cpu_init	ia64_mv.cpu_init
   4.115 -#  define platform_irq_init	ia64_mv.irq_init
   4.116 -#  define platform_send_ipi	ia64_mv.send_ipi
   4.117 -#  define platform_timer_interrupt	ia64_mv.timer_interrupt
   4.118 -#  define platform_global_tlb_purge	ia64_mv.global_tlb_purge
   4.119 -#  define platform_tlb_migrate_finish	ia64_mv.tlb_migrate_finish
   4.120 -#  define platform_dma_init		ia64_mv.dma_init
   4.121 -#  define platform_dma_alloc_coherent	ia64_mv.dma_alloc_coherent
   4.122 -#  define platform_dma_free_coherent	ia64_mv.dma_free_coherent
   4.123 -#  define platform_dma_map_single	ia64_mv.dma_map_single
   4.124 -#  define platform_dma_unmap_single	ia64_mv.dma_unmap_single
   4.125 -#  define platform_dma_map_sg		ia64_mv.dma_map_sg
   4.126 -#  define platform_dma_unmap_sg		ia64_mv.dma_unmap_sg
   4.127 -#  define platform_dma_sync_single_for_cpu ia64_mv.dma_sync_single_for_cpu
   4.128 -#  define platform_dma_sync_sg_for_cpu	ia64_mv.dma_sync_sg_for_cpu
   4.129 -#  define platform_dma_sync_single_for_device ia64_mv.dma_sync_single_for_device
   4.130 -#  define platform_dma_sync_sg_for_device ia64_mv.dma_sync_sg_for_device
   4.131 -#  define platform_dma_mapping_error		ia64_mv.dma_mapping_error
   4.132 -#  define platform_dma_supported	ia64_mv.dma_supported
   4.133 -#  define platform_local_vector_to_irq	ia64_mv.local_vector_to_irq
   4.134 -#  define platform_pci_get_legacy_mem	ia64_mv.pci_get_legacy_mem
   4.135 -#  define platform_pci_legacy_read	ia64_mv.pci_legacy_read
   4.136 -#  define platform_pci_legacy_write	ia64_mv.pci_legacy_write
   4.137 -#  define platform_inb		ia64_mv.inb
   4.138 -#  define platform_inw		ia64_mv.inw
   4.139 -#  define platform_inl		ia64_mv.inl
   4.140 -#  define platform_outb		ia64_mv.outb
   4.141 -#  define platform_outw		ia64_mv.outw
   4.142 -#  define platform_outl		ia64_mv.outl
   4.143 -#  define platform_mmiowb	ia64_mv.mmiowb
   4.144 -#  define platform_readb        ia64_mv.readb
   4.145 -#  define platform_readw        ia64_mv.readw
   4.146 -#  define platform_readl        ia64_mv.readl
   4.147 -#  define platform_readq        ia64_mv.readq
   4.148 -#  define platform_readb_relaxed        ia64_mv.readb_relaxed
   4.149 -#  define platform_readw_relaxed        ia64_mv.readw_relaxed
   4.150 -#  define platform_readl_relaxed        ia64_mv.readl_relaxed
   4.151 -#  define platform_readq_relaxed        ia64_mv.readq_relaxed
   4.152 -# endif
   4.153 -
   4.154 -/* __attribute__((__aligned__(16))) is required to make size of the
   4.155 - * structure multiple of 16 bytes.
   4.156 - * This will fillup the holes created because of section 3.3.1 in
   4.157 - * Software Conventions guide.
   4.158 - */
   4.159 -struct ia64_machine_vector {
   4.160 -	const char *name;
   4.161 -	ia64_mv_setup_t *setup;
   4.162 -	ia64_mv_cpu_init_t *cpu_init;
   4.163 -	ia64_mv_irq_init_t *irq_init;
   4.164 -	ia64_mv_send_ipi_t *send_ipi;
   4.165 -	ia64_mv_timer_interrupt_t *timer_interrupt;
   4.166 -	ia64_mv_global_tlb_purge_t *global_tlb_purge;
   4.167 -	ia64_mv_tlb_migrate_finish_t *tlb_migrate_finish;
   4.168 -	ia64_mv_dma_init *dma_init;
   4.169 -	ia64_mv_dma_alloc_coherent *dma_alloc_coherent;
   4.170 -	ia64_mv_dma_free_coherent *dma_free_coherent;
   4.171 -	ia64_mv_dma_map_single *dma_map_single;
   4.172 -	ia64_mv_dma_unmap_single *dma_unmap_single;
   4.173 -	ia64_mv_dma_map_sg *dma_map_sg;
   4.174 -	ia64_mv_dma_unmap_sg *dma_unmap_sg;
   4.175 -	ia64_mv_dma_sync_single_for_cpu *dma_sync_single_for_cpu;
   4.176 -	ia64_mv_dma_sync_sg_for_cpu *dma_sync_sg_for_cpu;
   4.177 -	ia64_mv_dma_sync_single_for_device *dma_sync_single_for_device;
   4.178 -	ia64_mv_dma_sync_sg_for_device *dma_sync_sg_for_device;
   4.179 -	ia64_mv_dma_mapping_error *dma_mapping_error;
   4.180 -	ia64_mv_dma_supported *dma_supported;
   4.181 -	ia64_mv_local_vector_to_irq *local_vector_to_irq;
   4.182 -	ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem;
   4.183 -	ia64_mv_pci_legacy_read_t *pci_legacy_read;
   4.184 -	ia64_mv_pci_legacy_write_t *pci_legacy_write;
   4.185 -	ia64_mv_inb_t *inb;
   4.186 -	ia64_mv_inw_t *inw;
   4.187 -	ia64_mv_inl_t *inl;
   4.188 -	ia64_mv_outb_t *outb;
   4.189 -	ia64_mv_outw_t *outw;
   4.190 -	ia64_mv_outl_t *outl;
   4.191 -	ia64_mv_mmiowb_t *mmiowb;
   4.192 -	ia64_mv_readb_t *readb;
   4.193 -	ia64_mv_readw_t *readw;
   4.194 -	ia64_mv_readl_t *readl;
   4.195 -	ia64_mv_readq_t *readq;
   4.196 -	ia64_mv_readb_relaxed_t *readb_relaxed;
   4.197 -	ia64_mv_readw_relaxed_t *readw_relaxed;
   4.198 -	ia64_mv_readl_relaxed_t *readl_relaxed;
   4.199 -	ia64_mv_readq_relaxed_t *readq_relaxed;
   4.200 -} __attribute__((__aligned__(16))); /* align attrib? see above comment */
   4.201 -
   4.202 -#define MACHVEC_INIT(name)			\
   4.203 -{						\
   4.204 -	#name,					\
   4.205 -	platform_setup,				\
   4.206 -	platform_cpu_init,			\
   4.207 -	platform_irq_init,			\
   4.208 -	platform_send_ipi,			\
   4.209 -	platform_timer_interrupt,		\
   4.210 -	platform_global_tlb_purge,		\
   4.211 -	platform_tlb_migrate_finish,		\
   4.212 -	platform_dma_init,			\
   4.213 -	platform_dma_alloc_coherent,		\
   4.214 -	platform_dma_free_coherent,		\
   4.215 -	platform_dma_map_single,		\
   4.216 -	platform_dma_unmap_single,		\
   4.217 -	platform_dma_map_sg,			\
   4.218 -	platform_dma_unmap_sg,			\
   4.219 -	platform_dma_sync_single_for_cpu,	\
   4.220 -	platform_dma_sync_sg_for_cpu,		\
   4.221 -	platform_dma_sync_single_for_device,	\
   4.222 -	platform_dma_sync_sg_for_device,	\
   4.223 -	platform_dma_mapping_error,			\
   4.224 -	platform_dma_supported,			\
   4.225 -	platform_local_vector_to_irq,		\
   4.226 -	platform_pci_get_legacy_mem,		\
   4.227 -	platform_pci_legacy_read,		\
   4.228 -	platform_pci_legacy_write,		\
   4.229 -	platform_inb,				\
   4.230 -	platform_inw,				\
   4.231 -	platform_inl,				\
   4.232 -	platform_outb,				\
   4.233 -	platform_outw,				\
   4.234 -	platform_outl,				\
   4.235 -	platform_mmiowb,			\
   4.236 -	platform_readb,				\
   4.237 -	platform_readw,				\
   4.238 -	platform_readl,				\
   4.239 -	platform_readq,				\
   4.240 -	platform_readb_relaxed,			\
   4.241 -	platform_readw_relaxed,			\
   4.242 -	platform_readl_relaxed,			\
   4.243 -	platform_readq_relaxed,			\
   4.244 -}
   4.245 -
   4.246 -extern struct ia64_machine_vector ia64_mv;
   4.247 -extern void machvec_init (const char *name);
   4.248 -
   4.249 -# else
   4.250 -#  error Unknown configuration.  Update asm-ia64/machvec.h.
   4.251 -# endif /* CONFIG_IA64_GENERIC */
   4.252 -
   4.253 -/*
   4.254 - * Declare default routines which aren't declared anywhere else:
   4.255 - */
   4.256 -extern ia64_mv_dma_init			swiotlb_init;
   4.257 -extern ia64_mv_dma_alloc_coherent	swiotlb_alloc_coherent;
   4.258 -extern ia64_mv_dma_free_coherent	swiotlb_free_coherent;
   4.259 -extern ia64_mv_dma_map_single		swiotlb_map_single;
   4.260 -extern ia64_mv_dma_unmap_single		swiotlb_unmap_single;
   4.261 -extern ia64_mv_dma_map_sg		swiotlb_map_sg;
   4.262 -extern ia64_mv_dma_unmap_sg		swiotlb_unmap_sg;
   4.263 -extern ia64_mv_dma_sync_single_for_cpu	swiotlb_sync_single_for_cpu;
   4.264 -extern ia64_mv_dma_sync_sg_for_cpu	swiotlb_sync_sg_for_cpu;
   4.265 -extern ia64_mv_dma_sync_single_for_device swiotlb_sync_single_for_device;
   4.266 -extern ia64_mv_dma_sync_sg_for_device	swiotlb_sync_sg_for_device;
   4.267 -extern ia64_mv_dma_mapping_error	swiotlb_dma_mapping_error;
   4.268 -extern ia64_mv_dma_supported		swiotlb_dma_supported;
   4.269 -
   4.270 -/*
   4.271 - * Define default versions so we can extend machvec for new platforms without having
   4.272 - * to update the machvec files for all existing platforms.
   4.273 - */
   4.274 -#ifndef platform_setup
   4.275 -# define platform_setup			machvec_setup
   4.276 -#endif
   4.277 -#ifndef platform_cpu_init
   4.278 -# define platform_cpu_init		machvec_noop
   4.279 -#endif
   4.280 -#ifndef platform_irq_init
   4.281 -# define platform_irq_init		machvec_noop
   4.282 -#endif
   4.283 -
   4.284 -#ifndef platform_send_ipi
   4.285 -# define platform_send_ipi		ia64_send_ipi	/* default to architected version */
   4.286 -#endif
   4.287 -#ifndef platform_timer_interrupt
   4.288 -# define platform_timer_interrupt 	machvec_timer_interrupt
   4.289 -#endif
   4.290 -#ifndef platform_global_tlb_purge
   4.291 -# define platform_global_tlb_purge	ia64_global_tlb_purge /* default to architected version */
   4.292 -#endif
   4.293 -#ifndef platform_tlb_migrate_finish
   4.294 -# define platform_tlb_migrate_finish	machvec_noop_mm
   4.295 -#endif
   4.296 -#ifndef platform_dma_init
   4.297 -# define platform_dma_init		swiotlb_init
   4.298 -#endif
   4.299 -#ifndef platform_dma_alloc_coherent
   4.300 -# define platform_dma_alloc_coherent	swiotlb_alloc_coherent
   4.301 -#endif
   4.302 -#ifndef platform_dma_free_coherent
   4.303 -# define platform_dma_free_coherent	swiotlb_free_coherent
   4.304 -#endif
   4.305 -#ifndef platform_dma_map_single
   4.306 -# define platform_dma_map_single	swiotlb_map_single
   4.307 -#endif
   4.308 -#ifndef platform_dma_unmap_single
   4.309 -# define platform_dma_unmap_single	swiotlb_unmap_single
   4.310 -#endif
   4.311 -#ifndef platform_dma_map_sg
   4.312 -# define platform_dma_map_sg		swiotlb_map_sg
   4.313 -#endif
   4.314 -#ifndef platform_dma_unmap_sg
   4.315 -# define platform_dma_unmap_sg		swiotlb_unmap_sg
   4.316 -#endif
   4.317 -#ifndef platform_dma_sync_single_for_cpu
   4.318 -# define platform_dma_sync_single_for_cpu	swiotlb_sync_single_for_cpu
   4.319 -#endif
   4.320 -#ifndef platform_dma_sync_sg_for_cpu
   4.321 -# define platform_dma_sync_sg_for_cpu		swiotlb_sync_sg_for_cpu
   4.322 -#endif
   4.323 -#ifndef platform_dma_sync_single_for_device
   4.324 -# define platform_dma_sync_single_for_device	swiotlb_sync_single_for_device
   4.325 -#endif
   4.326 -#ifndef platform_dma_sync_sg_for_device
   4.327 -# define platform_dma_sync_sg_for_device	swiotlb_sync_sg_for_device
   4.328 -#endif
   4.329 -#ifndef platform_dma_mapping_error
   4.330 -# define platform_dma_mapping_error		swiotlb_dma_mapping_error
   4.331 -#endif
   4.332 -#ifndef platform_dma_supported
   4.333 -# define  platform_dma_supported	swiotlb_dma_supported
   4.334 -#endif
   4.335 -#ifndef platform_local_vector_to_irq
   4.336 -# define platform_local_vector_to_irq	__ia64_local_vector_to_irq
   4.337 -#endif
   4.338 -#ifndef platform_pci_get_legacy_mem
   4.339 -# define platform_pci_get_legacy_mem	ia64_pci_get_legacy_mem
   4.340 -#endif
   4.341 -#ifndef platform_pci_legacy_read
   4.342 -# define platform_pci_legacy_read	ia64_pci_legacy_read
   4.343 -#endif
   4.344 -#ifndef platform_pci_legacy_write
   4.345 -# define platform_pci_legacy_write	ia64_pci_legacy_write
   4.346 -#endif
   4.347 -#ifndef platform_inb
   4.348 -# define platform_inb		__ia64_inb
   4.349 -#endif
   4.350 -#ifndef platform_inw
   4.351 -# define platform_inw		__ia64_inw
   4.352 -#endif
   4.353 -#ifndef platform_inl
   4.354 -# define platform_inl		__ia64_inl
   4.355 -#endif
   4.356 -#ifndef platform_outb
   4.357 -# define platform_outb		__ia64_outb
   4.358 -#endif
   4.359 -#ifndef platform_outw
   4.360 -# define platform_outw		__ia64_outw
   4.361 -#endif
   4.362 -#ifndef platform_outl
   4.363 -# define platform_outl		__ia64_outl
   4.364 -#endif
   4.365 -#ifndef platform_mmiowb
   4.366 -# define platform_mmiowb	__ia64_mmiowb
   4.367 -#endif
   4.368 -#ifndef platform_readb
   4.369 -# define platform_readb		__ia64_readb
   4.370 -#endif
   4.371 -#ifndef platform_readw
   4.372 -# define platform_readw		__ia64_readw
   4.373 -#endif
   4.374 -#ifndef platform_readl
   4.375 -# define platform_readl		__ia64_readl
   4.376 -#endif
   4.377 -#ifndef platform_readq
   4.378 -# define platform_readq		__ia64_readq
   4.379 -#endif
   4.380 -#ifndef platform_readb_relaxed
   4.381 -# define platform_readb_relaxed	__ia64_readb_relaxed
   4.382 -#endif
   4.383 -#ifndef platform_readw_relaxed
   4.384 -# define platform_readw_relaxed	__ia64_readw_relaxed
   4.385 -#endif
   4.386 -#ifndef platform_readl_relaxed
   4.387 -# define platform_readl_relaxed	__ia64_readl_relaxed
   4.388 -#endif
   4.389 -#ifndef platform_readq_relaxed
   4.390 -# define platform_readq_relaxed	__ia64_readq_relaxed
   4.391 -#endif
   4.392 -
   4.393 -#endif /* _ASM_IA64_MACHVEC_H */