diff options
Diffstat (limited to 'arch/ia64/include/asm')
-rw-r--r-- | arch/ia64/include/asm/Kbuild | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/atomic.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/bitsperlong.h | 8 | ||||
-rw-r--r-- | arch/ia64/include/asm/dma-mapping.h | 110 | ||||
-rw-r--r-- | arch/ia64/include/asm/gcc_intrin.h | 18 | ||||
-rw-r--r-- | arch/ia64/include/asm/hw_irq.h | 4 | ||||
-rw-r--r-- | arch/ia64/include/asm/iommu.h | 5 | ||||
-rw-r--r-- | arch/ia64/include/asm/kmap_types.h | 24 | ||||
-rw-r--r-- | arch/ia64/include/asm/kvm_host.h | 6 | ||||
-rw-r--r-- | arch/ia64/include/asm/mca.h | 38 | ||||
-rw-r--r-- | arch/ia64/include/asm/meminit.h | 18 | ||||
-rw-r--r-- | arch/ia64/include/asm/mman.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/pal.h | 24 | ||||
-rw-r--r-- | arch/ia64/include/asm/pci.h | 13 | ||||
-rw-r--r-- | arch/ia64/include/asm/pgtable.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/processor.h | 56 | ||||
-rw-r--r-- | arch/ia64/include/asm/sal.h | 8 | ||||
-rw-r--r-- | arch/ia64/include/asm/signal.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/sn/sn_sal.h | 2 | ||||
-rw-r--r-- | arch/ia64/include/asm/suspend.h | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/types.h | 20 | ||||
-rw-r--r-- | arch/ia64/include/asm/unistd.h | 4 |
22 files changed, 131 insertions, 237 deletions
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index ccbe8ae47a61..c7d0a71b9242 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild | |||
@@ -2,7 +2,6 @@ include include/asm-generic/Kbuild.asm | |||
2 | 2 | ||
3 | header-y += break.h | 3 | header-y += break.h |
4 | header-y += fpu.h | 4 | header-y += fpu.h |
5 | header-y += fpswa.h | ||
6 | header-y += ia64regs.h | 5 | header-y += ia64regs.h |
7 | header-y += intel_intrin.h | 6 | header-y += intel_intrin.h |
8 | header-y += perfmon_default_smpl.h | 7 | header-y += perfmon_default_smpl.h |
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h index d37292bd9875..88405cb0832a 100644 --- a/arch/ia64/include/asm/atomic.h +++ b/arch/ia64/include/asm/atomic.h | |||
@@ -216,5 +216,5 @@ atomic64_add_negative (__s64 i, atomic64_t *v) | |||
216 | #define smp_mb__before_atomic_inc() barrier() | 216 | #define smp_mb__before_atomic_inc() barrier() |
217 | #define smp_mb__after_atomic_inc() barrier() | 217 | #define smp_mb__after_atomic_inc() barrier() |
218 | 218 | ||
219 | #include <asm-generic/atomic.h> | 219 | #include <asm-generic/atomic-long.h> |
220 | #endif /* _ASM_IA64_ATOMIC_H */ | 220 | #endif /* _ASM_IA64_ATOMIC_H */ |
diff --git a/arch/ia64/include/asm/bitsperlong.h b/arch/ia64/include/asm/bitsperlong.h new file mode 100644 index 000000000000..ec4db3c970b7 --- /dev/null +++ b/arch/ia64/include/asm/bitsperlong.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef __ASM_IA64_BITSPERLONG_H | ||
2 | #define __ASM_IA64_BITSPERLONG_H | ||
3 | |||
4 | #define __BITS_PER_LONG 64 | ||
5 | |||
6 | #include <asm-generic/bitsperlong.h> | ||
7 | |||
8 | #endif /* __ASM_IA64_BITSPERLONG_H */ | ||
diff --git a/arch/ia64/include/asm/dma-mapping.h b/arch/ia64/include/asm/dma-mapping.h index 36c0009dbece..5a61b5c2e18f 100644 --- a/arch/ia64/include/asm/dma-mapping.h +++ b/arch/ia64/include/asm/dma-mapping.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <asm/machvec.h> | 8 | #include <asm/machvec.h> |
9 | #include <linux/scatterlist.h> | 9 | #include <linux/scatterlist.h> |
10 | #include <asm/swiotlb.h> | 10 | #include <asm/swiotlb.h> |
11 | #include <linux/dma-debug.h> | ||
11 | 12 | ||
12 | #define ARCH_HAS_DMA_GET_REQUIRED_MASK | 13 | #define ARCH_HAS_DMA_GET_REQUIRED_MASK |
13 | 14 | ||
@@ -24,95 +25,28 @@ static inline void *dma_alloc_coherent(struct device *dev, size_t size, | |||
24 | dma_addr_t *daddr, gfp_t gfp) | 25 | dma_addr_t *daddr, gfp_t gfp) |
25 | { | 26 | { |
26 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | 27 | struct dma_map_ops *ops = platform_dma_get_ops(dev); |
27 | return ops->alloc_coherent(dev, size, daddr, gfp); | 28 | void *caddr; |
29 | |||
30 | caddr = ops->alloc_coherent(dev, size, daddr, gfp); | ||
31 | debug_dma_alloc_coherent(dev, size, *daddr, caddr); | ||
32 | return caddr; | ||
28 | } | 33 | } |
29 | 34 | ||
30 | static inline void dma_free_coherent(struct device *dev, size_t size, | 35 | static inline void dma_free_coherent(struct device *dev, size_t size, |
31 | void *caddr, dma_addr_t daddr) | 36 | void *caddr, dma_addr_t daddr) |
32 | { | 37 | { |
33 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | 38 | struct dma_map_ops *ops = platform_dma_get_ops(dev); |
39 | debug_dma_free_coherent(dev, size, caddr, daddr); | ||
34 | ops->free_coherent(dev, size, caddr, daddr); | 40 | ops->free_coherent(dev, size, caddr, daddr); |
35 | } | 41 | } |
36 | 42 | ||
37 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | 43 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) |
38 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | 44 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) |
39 | 45 | ||
40 | static inline dma_addr_t dma_map_single_attrs(struct device *dev, | 46 | #define get_dma_ops(dev) platform_dma_get_ops(dev) |
41 | void *caddr, size_t size, | 47 | #define flush_write_buffers() |
42 | enum dma_data_direction dir, | ||
43 | struct dma_attrs *attrs) | ||
44 | { | ||
45 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
46 | return ops->map_page(dev, virt_to_page(caddr), | ||
47 | (unsigned long)caddr & ~PAGE_MASK, size, | ||
48 | dir, attrs); | ||
49 | } | ||
50 | |||
51 | static inline void dma_unmap_single_attrs(struct device *dev, dma_addr_t daddr, | ||
52 | size_t size, | ||
53 | enum dma_data_direction dir, | ||
54 | struct dma_attrs *attrs) | ||
55 | { | ||
56 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
57 | ops->unmap_page(dev, daddr, size, dir, attrs); | ||
58 | } | ||
59 | |||
60 | #define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, NULL) | ||
61 | #define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL) | ||
62 | |||
63 | static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sgl, | ||
64 | int nents, enum dma_data_direction dir, | ||
65 | struct dma_attrs *attrs) | ||
66 | { | ||
67 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
68 | return ops->map_sg(dev, sgl, nents, dir, attrs); | ||
69 | } | ||
70 | |||
71 | static inline void dma_unmap_sg_attrs(struct device *dev, | ||
72 | struct scatterlist *sgl, int nents, | ||
73 | enum dma_data_direction dir, | ||
74 | struct dma_attrs *attrs) | ||
75 | { | ||
76 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
77 | ops->unmap_sg(dev, sgl, nents, dir, attrs); | ||
78 | } | ||
79 | |||
80 | #define dma_map_sg(d, s, n, r) dma_map_sg_attrs(d, s, n, r, NULL) | ||
81 | #define dma_unmap_sg(d, s, n, r) dma_unmap_sg_attrs(d, s, n, r, NULL) | ||
82 | |||
83 | static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t daddr, | ||
84 | size_t size, | ||
85 | enum dma_data_direction dir) | ||
86 | { | ||
87 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
88 | ops->sync_single_for_cpu(dev, daddr, size, dir); | ||
89 | } | ||
90 | |||
91 | static inline void dma_sync_sg_for_cpu(struct device *dev, | ||
92 | struct scatterlist *sgl, | ||
93 | int nents, enum dma_data_direction dir) | ||
94 | { | ||
95 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
96 | ops->sync_sg_for_cpu(dev, sgl, nents, dir); | ||
97 | } | ||
98 | 48 | ||
99 | static inline void dma_sync_single_for_device(struct device *dev, | 49 | #include <asm-generic/dma-mapping-common.h> |
100 | dma_addr_t daddr, | ||
101 | size_t size, | ||
102 | enum dma_data_direction dir) | ||
103 | { | ||
104 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
105 | ops->sync_single_for_device(dev, daddr, size, dir); | ||
106 | } | ||
107 | |||
108 | static inline void dma_sync_sg_for_device(struct device *dev, | ||
109 | struct scatterlist *sgl, | ||
110 | int nents, | ||
111 | enum dma_data_direction dir) | ||
112 | { | ||
113 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
114 | ops->sync_sg_for_device(dev, sgl, nents, dir); | ||
115 | } | ||
116 | 50 | ||
117 | static inline int dma_mapping_error(struct device *dev, dma_addr_t daddr) | 51 | static inline int dma_mapping_error(struct device *dev, dma_addr_t daddr) |
118 | { | 52 | { |
@@ -120,30 +54,6 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t daddr) | |||
120 | return ops->mapping_error(dev, daddr); | 54 | return ops->mapping_error(dev, daddr); |
121 | } | 55 | } |
122 | 56 | ||
123 | static inline dma_addr_t dma_map_page(struct device *dev, struct page *page, | ||
124 | size_t offset, size_t size, | ||
125 | enum dma_data_direction dir) | ||
126 | { | ||
127 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | ||
128 | return ops->map_page(dev, page, offset, size, dir, NULL); | ||
129 | } | ||
130 | |||
131 | static inline void dma_unmap_page(struct device *dev, dma_addr_t addr, | ||
132 | size_t size, enum dma_data_direction dir) | ||
133 | { | ||
134 | dma_unmap_single(dev, addr, size, dir); | ||
135 | } | ||
136 | |||
137 | /* | ||
138 | * Rest of this file is part of the "Advanced DMA API". Use at your own risk. | ||
139 | * See Documentation/DMA-API.txt for details. | ||
140 | */ | ||
141 | |||
142 | #define dma_sync_single_range_for_cpu(dev, dma_handle, offset, size, dir) \ | ||
143 | dma_sync_single_for_cpu(dev, dma_handle, size, dir) | ||
144 | #define dma_sync_single_range_for_device(dev, dma_handle, offset, size, dir) \ | ||
145 | dma_sync_single_for_device(dev, dma_handle, size, dir) | ||
146 | |||
147 | static inline int dma_supported(struct device *dev, u64 mask) | 57 | static inline int dma_supported(struct device *dev, u64 mask) |
148 | { | 58 | { |
149 | struct dma_map_ops *ops = platform_dma_get_ops(dev); | 59 | struct dma_map_ops *ops = platform_dma_get_ops(dev); |
diff --git a/arch/ia64/include/asm/gcc_intrin.h b/arch/ia64/include/asm/gcc_intrin.h index c2c5fd8fcac4..21ddee54adae 100644 --- a/arch/ia64/include/asm/gcc_intrin.h +++ b/arch/ia64/include/asm/gcc_intrin.h | |||
@@ -388,7 +388,7 @@ register unsigned long ia64_r13 asm ("r13") __used; | |||
388 | 388 | ||
389 | #define ia64_native_thash(addr) \ | 389 | #define ia64_native_thash(addr) \ |
390 | ({ \ | 390 | ({ \ |
391 | __u64 ia64_intri_res; \ | 391 | unsigned long ia64_intri_res; \ |
392 | asm volatile ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \ | 392 | asm volatile ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \ |
393 | ia64_intri_res; \ | 393 | ia64_intri_res; \ |
394 | }) | 394 | }) |
@@ -419,7 +419,7 @@ register unsigned long ia64_r13 asm ("r13") __used; | |||
419 | 419 | ||
420 | #define ia64_tpa(addr) \ | 420 | #define ia64_tpa(addr) \ |
421 | ({ \ | 421 | ({ \ |
422 | __u64 ia64_pa; \ | 422 | unsigned long ia64_pa; \ |
423 | asm volatile ("tpa %0 = %1" : "=r"(ia64_pa) : "r"(addr) : "memory"); \ | 423 | asm volatile ("tpa %0 = %1" : "=r"(ia64_pa) : "r"(addr) : "memory"); \ |
424 | ia64_pa; \ | 424 | ia64_pa; \ |
425 | }) | 425 | }) |
@@ -444,35 +444,35 @@ register unsigned long ia64_r13 asm ("r13") __used; | |||
444 | 444 | ||
445 | #define ia64_native_get_cpuid(index) \ | 445 | #define ia64_native_get_cpuid(index) \ |
446 | ({ \ | 446 | ({ \ |
447 | __u64 ia64_intri_res; \ | 447 | unsigned long ia64_intri_res; \ |
448 | asm volatile ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \ | 448 | asm volatile ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \ |
449 | ia64_intri_res; \ | 449 | ia64_intri_res; \ |
450 | }) | 450 | }) |
451 | 451 | ||
452 | #define __ia64_get_dbr(index) \ | 452 | #define __ia64_get_dbr(index) \ |
453 | ({ \ | 453 | ({ \ |
454 | __u64 ia64_intri_res; \ | 454 | unsigned long ia64_intri_res; \ |
455 | asm volatile ("mov %0=dbr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ | 455 | asm volatile ("mov %0=dbr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ |
456 | ia64_intri_res; \ | 456 | ia64_intri_res; \ |
457 | }) | 457 | }) |
458 | 458 | ||
459 | #define ia64_get_ibr(index) \ | 459 | #define ia64_get_ibr(index) \ |
460 | ({ \ | 460 | ({ \ |
461 | __u64 ia64_intri_res; \ | 461 | unsigned long ia64_intri_res; \ |
462 | asm volatile ("mov %0=ibr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ | 462 | asm volatile ("mov %0=ibr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ |
463 | ia64_intri_res; \ | 463 | ia64_intri_res; \ |
464 | }) | 464 | }) |
465 | 465 | ||
466 | #define ia64_get_pkr(index) \ | 466 | #define ia64_get_pkr(index) \ |
467 | ({ \ | 467 | ({ \ |
468 | __u64 ia64_intri_res; \ | 468 | unsigned long ia64_intri_res; \ |
469 | asm volatile ("mov %0=pkr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ | 469 | asm volatile ("mov %0=pkr[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ |
470 | ia64_intri_res; \ | 470 | ia64_intri_res; \ |
471 | }) | 471 | }) |
472 | 472 | ||
473 | #define ia64_get_pmc(index) \ | 473 | #define ia64_get_pmc(index) \ |
474 | ({ \ | 474 | ({ \ |
475 | __u64 ia64_intri_res; \ | 475 | unsigned long ia64_intri_res; \ |
476 | asm volatile ("mov %0=pmc[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ | 476 | asm volatile ("mov %0=pmc[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ |
477 | ia64_intri_res; \ | 477 | ia64_intri_res; \ |
478 | }) | 478 | }) |
@@ -480,14 +480,14 @@ register unsigned long ia64_r13 asm ("r13") __used; | |||
480 | 480 | ||
481 | #define ia64_native_get_pmd(index) \ | 481 | #define ia64_native_get_pmd(index) \ |
482 | ({ \ | 482 | ({ \ |
483 | __u64 ia64_intri_res; \ | 483 | unsigned long ia64_intri_res; \ |
484 | asm volatile ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ | 484 | asm volatile ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \ |
485 | ia64_intri_res; \ | 485 | ia64_intri_res; \ |
486 | }) | 486 | }) |
487 | 487 | ||
488 | #define ia64_native_get_rr(index) \ | 488 | #define ia64_native_get_rr(index) \ |
489 | ({ \ | 489 | ({ \ |
490 | __u64 ia64_intri_res; \ | 490 | unsigned long ia64_intri_res; \ |
491 | asm volatile ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \ | 491 | asm volatile ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \ |
492 | ia64_intri_res; \ | 492 | ia64_intri_res; \ |
493 | }) | 493 | }) |
diff --git a/arch/ia64/include/asm/hw_irq.h b/arch/ia64/include/asm/hw_irq.h index 5c99cbcb8a0d..91619b31dbf5 100644 --- a/arch/ia64/include/asm/hw_irq.h +++ b/arch/ia64/include/asm/hw_irq.h | |||
@@ -106,7 +106,7 @@ extern struct irq_cfg irq_cfg[NR_IRQS]; | |||
106 | #define irq_to_domain(x) irq_cfg[(x)].domain | 106 | #define irq_to_domain(x) irq_cfg[(x)].domain |
107 | DECLARE_PER_CPU(int[IA64_NUM_VECTORS], vector_irq); | 107 | DECLARE_PER_CPU(int[IA64_NUM_VECTORS], vector_irq); |
108 | 108 | ||
109 | extern struct hw_interrupt_type irq_type_ia64_lsapic; /* CPU-internal interrupt controller */ | 109 | extern struct irq_chip irq_type_ia64_lsapic; /* CPU-internal interrupt controller */ |
110 | 110 | ||
111 | #ifdef CONFIG_PARAVIRT_GUEST | 111 | #ifdef CONFIG_PARAVIRT_GUEST |
112 | #include <asm/paravirt.h> | 112 | #include <asm/paravirt.h> |
@@ -146,7 +146,7 @@ static inline void ia64_native_resend_irq(unsigned int vector) | |||
146 | * Default implementations for the irq-descriptor API: | 146 | * Default implementations for the irq-descriptor API: |
147 | */ | 147 | */ |
148 | 148 | ||
149 | extern irq_desc_t irq_desc[NR_IRQS]; | 149 | extern struct irq_desc irq_desc[NR_IRQS]; |
150 | 150 | ||
151 | #ifndef CONFIG_IA64_GENERIC | 151 | #ifndef CONFIG_IA64_GENERIC |
152 | static inline ia64_vector __ia64_irq_to_vector(int irq) | 152 | static inline ia64_vector __ia64_irq_to_vector(int irq) |
diff --git a/arch/ia64/include/asm/iommu.h b/arch/ia64/include/asm/iommu.h index 0490794fe4aa..745e095fe82e 100644 --- a/arch/ia64/include/asm/iommu.h +++ b/arch/ia64/include/asm/iommu.h | |||
@@ -9,6 +9,11 @@ extern void pci_iommu_shutdown(void); | |||
9 | extern void no_iommu_init(void); | 9 | extern void no_iommu_init(void); |
10 | extern int force_iommu, no_iommu; | 10 | extern int force_iommu, no_iommu; |
11 | extern int iommu_detected; | 11 | extern int iommu_detected; |
12 | #ifdef CONFIG_DMAR | ||
13 | extern int iommu_pass_through; | ||
14 | #else | ||
15 | #define iommu_pass_through (0) | ||
16 | #endif | ||
12 | extern void iommu_dma_init(void); | 17 | extern void iommu_dma_init(void); |
13 | extern void machvec_init(const char *name); | 18 | extern void machvec_init(const char *name); |
14 | 19 | ||
diff --git a/arch/ia64/include/asm/kmap_types.h b/arch/ia64/include/asm/kmap_types.h index 5d1658aa2b3b..05d5f9996105 100644 --- a/arch/ia64/include/asm/kmap_types.h +++ b/arch/ia64/include/asm/kmap_types.h | |||
@@ -1,30 +1,12 @@ | |||
1 | #ifndef _ASM_IA64_KMAP_TYPES_H | 1 | #ifndef _ASM_IA64_KMAP_TYPES_H |
2 | #define _ASM_IA64_KMAP_TYPES_H | 2 | #define _ASM_IA64_KMAP_TYPES_H |
3 | 3 | ||
4 | |||
5 | #ifdef CONFIG_DEBUG_HIGHMEM | 4 | #ifdef CONFIG_DEBUG_HIGHMEM |
6 | # define D(n) __KM_FENCE_##n , | 5 | #define __WITH_KM_FENCE |
7 | #else | ||
8 | # define D(n) | ||
9 | #endif | 6 | #endif |
10 | 7 | ||
11 | enum km_type { | 8 | #include <asm-generic/kmap_types.h> |
12 | D(0) KM_BOUNCE_READ, | ||
13 | D(1) KM_SKB_SUNRPC_DATA, | ||
14 | D(2) KM_SKB_DATA_SOFTIRQ, | ||
15 | D(3) KM_USER0, | ||
16 | D(4) KM_USER1, | ||
17 | D(5) KM_BIO_SRC_IRQ, | ||
18 | D(6) KM_BIO_DST_IRQ, | ||
19 | D(7) KM_PTE0, | ||
20 | D(8) KM_PTE1, | ||
21 | D(9) KM_IRQ0, | ||
22 | D(10) KM_IRQ1, | ||
23 | D(11) KM_SOFTIRQ0, | ||
24 | D(12) KM_SOFTIRQ1, | ||
25 | D(13) KM_TYPE_NR | ||
26 | }; | ||
27 | 9 | ||
28 | #undef D | 10 | #undef __WITH_KM_FENCE |
29 | 11 | ||
30 | #endif /* _ASM_IA64_KMAP_TYPES_H */ | 12 | #endif /* _ASM_IA64_KMAP_TYPES_H */ |
diff --git a/arch/ia64/include/asm/kvm_host.h b/arch/ia64/include/asm/kvm_host.h index 4542651e6acb..5f43697aed30 100644 --- a/arch/ia64/include/asm/kvm_host.h +++ b/arch/ia64/include/asm/kvm_host.h | |||
@@ -371,6 +371,7 @@ struct kvm_vcpu_arch { | |||
371 | int last_run_cpu; | 371 | int last_run_cpu; |
372 | int vmm_tr_slot; | 372 | int vmm_tr_slot; |
373 | int vm_tr_slot; | 373 | int vm_tr_slot; |
374 | int sn_rtc_tr_slot; | ||
374 | 375 | ||
375 | #define KVM_MP_STATE_RUNNABLE 0 | 376 | #define KVM_MP_STATE_RUNNABLE 0 |
376 | #define KVM_MP_STATE_UNINITIALIZED 1 | 377 | #define KVM_MP_STATE_UNINITIALIZED 1 |
@@ -465,6 +466,7 @@ struct kvm_arch { | |||
465 | unsigned long vmm_init_rr; | 466 | unsigned long vmm_init_rr; |
466 | 467 | ||
467 | int online_vcpus; | 468 | int online_vcpus; |
469 | int is_sn2; | ||
468 | 470 | ||
469 | struct kvm_ioapic *vioapic; | 471 | struct kvm_ioapic *vioapic; |
470 | struct kvm_vm_stat stat; | 472 | struct kvm_vm_stat stat; |
@@ -472,6 +474,7 @@ struct kvm_arch { | |||
472 | 474 | ||
473 | struct list_head assigned_dev_head; | 475 | struct list_head assigned_dev_head; |
474 | struct iommu_domain *iommu_domain; | 476 | struct iommu_domain *iommu_domain; |
477 | int iommu_flags; | ||
475 | struct hlist_head irq_ack_notifier_list; | 478 | struct hlist_head irq_ack_notifier_list; |
476 | 479 | ||
477 | unsigned long irq_sources_bitmap; | 480 | unsigned long irq_sources_bitmap; |
@@ -578,6 +581,8 @@ struct kvm_vmm_info{ | |||
578 | kvm_vmm_entry *vmm_entry; | 581 | kvm_vmm_entry *vmm_entry; |
579 | kvm_tramp_entry *tramp_entry; | 582 | kvm_tramp_entry *tramp_entry; |
580 | unsigned long vmm_ivt; | 583 | unsigned long vmm_ivt; |
584 | unsigned long patch_mov_ar; | ||
585 | unsigned long patch_mov_ar_sn2; | ||
581 | }; | 586 | }; |
582 | 587 | ||
583 | int kvm_highest_pending_irq(struct kvm_vcpu *vcpu); | 588 | int kvm_highest_pending_irq(struct kvm_vcpu *vcpu); |
@@ -585,7 +590,6 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu); | |||
585 | int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run); | 590 | int kvm_pal_emul(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run); |
586 | void kvm_sal_emul(struct kvm_vcpu *vcpu); | 591 | void kvm_sal_emul(struct kvm_vcpu *vcpu); |
587 | 592 | ||
588 | static inline void kvm_inject_nmi(struct kvm_vcpu *vcpu) {} | ||
589 | #endif /* __ASSEMBLY__*/ | 593 | #endif /* __ASSEMBLY__*/ |
590 | 594 | ||
591 | #endif | 595 | #endif |
diff --git a/arch/ia64/include/asm/mca.h b/arch/ia64/include/asm/mca.h index 18a4321349a3..44a0b53df900 100644 --- a/arch/ia64/include/asm/mca.h +++ b/arch/ia64/include/asm/mca.h | |||
@@ -72,39 +72,39 @@ typedef struct ia64_mc_info_s { | |||
72 | struct ia64_sal_os_state { | 72 | struct ia64_sal_os_state { |
73 | 73 | ||
74 | /* SAL to OS */ | 74 | /* SAL to OS */ |
75 | u64 os_gp; /* GP of the os registered with the SAL, physical */ | 75 | unsigned long os_gp; /* GP of the os registered with the SAL, physical */ |
76 | u64 pal_proc; /* PAL_PROC entry point, physical */ | 76 | unsigned long pal_proc; /* PAL_PROC entry point, physical */ |
77 | u64 sal_proc; /* SAL_PROC entry point, physical */ | 77 | unsigned long sal_proc; /* SAL_PROC entry point, physical */ |
78 | u64 rv_rc; /* MCA - Rendezvous state, INIT - reason code */ | 78 | unsigned long rv_rc; /* MCA - Rendezvous state, INIT - reason code */ |
79 | u64 proc_state_param; /* from R18 */ | 79 | unsigned long proc_state_param; /* from R18 */ |
80 | u64 monarch; /* 1 for a monarch event, 0 for a slave */ | 80 | unsigned long monarch; /* 1 for a monarch event, 0 for a slave */ |
81 | 81 | ||
82 | /* common */ | 82 | /* common */ |
83 | u64 sal_ra; /* Return address in SAL, physical */ | 83 | unsigned long sal_ra; /* Return address in SAL, physical */ |
84 | u64 sal_gp; /* GP of the SAL - physical */ | 84 | unsigned long sal_gp; /* GP of the SAL - physical */ |
85 | pal_min_state_area_t *pal_min_state; /* from R17. physical in asm, virtual in C */ | 85 | pal_min_state_area_t *pal_min_state; /* from R17. physical in asm, virtual in C */ |
86 | /* Previous values of IA64_KR(CURRENT) and IA64_KR(CURRENT_STACK). | 86 | /* Previous values of IA64_KR(CURRENT) and IA64_KR(CURRENT_STACK). |
87 | * Note: if the MCA/INIT recovery code wants to resume to a new context | 87 | * Note: if the MCA/INIT recovery code wants to resume to a new context |
88 | * then it must change these values to reflect the new kernel stack. | 88 | * then it must change these values to reflect the new kernel stack. |
89 | */ | 89 | */ |
90 | u64 prev_IA64_KR_CURRENT; /* previous value of IA64_KR(CURRENT) */ | 90 | unsigned long prev_IA64_KR_CURRENT; /* previous value of IA64_KR(CURRENT) */ |
91 | u64 prev_IA64_KR_CURRENT_STACK; | 91 | unsigned long prev_IA64_KR_CURRENT_STACK; |
92 | struct task_struct *prev_task; /* previous task, NULL if it is not useful */ | 92 | struct task_struct *prev_task; /* previous task, NULL if it is not useful */ |
93 | /* Some interrupt registers are not saved in minstate, pt_regs or | 93 | /* Some interrupt registers are not saved in minstate, pt_regs or |
94 | * switch_stack. Because MCA/INIT can occur when interrupts are | 94 | * switch_stack. Because MCA/INIT can occur when interrupts are |
95 | * disabled, we need to save the additional interrupt registers over | 95 | * disabled, we need to save the additional interrupt registers over |
96 | * MCA/INIT and resume. | 96 | * MCA/INIT and resume. |
97 | */ | 97 | */ |
98 | u64 isr; | 98 | unsigned long isr; |
99 | u64 ifa; | 99 | unsigned long ifa; |
100 | u64 itir; | 100 | unsigned long itir; |
101 | u64 iipa; | 101 | unsigned long iipa; |
102 | u64 iim; | 102 | unsigned long iim; |
103 | u64 iha; | 103 | unsigned long iha; |
104 | 104 | ||
105 | /* OS to SAL */ | 105 | /* OS to SAL */ |
106 | u64 os_status; /* OS status to SAL, enum below */ | 106 | unsigned long os_status; /* OS status to SAL, enum below */ |
107 | u64 context; /* 0 if return to same context | 107 | unsigned long context; /* 0 if return to same context |
108 | 1 if return to new context */ | 108 | 1 if return to new context */ |
109 | }; | 109 | }; |
110 | 110 | ||
@@ -150,7 +150,7 @@ extern void ia64_slave_init_handler(void); | |||
150 | extern void ia64_mca_cmc_vector_setup(void); | 150 | extern void ia64_mca_cmc_vector_setup(void); |
151 | extern int ia64_reg_MCA_extension(int (*fn)(void *, struct ia64_sal_os_state *)); | 151 | extern int ia64_reg_MCA_extension(int (*fn)(void *, struct ia64_sal_os_state *)); |
152 | extern void ia64_unreg_MCA_extension(void); | 152 | extern void ia64_unreg_MCA_extension(void); |
153 | extern u64 ia64_get_rnat(u64 *); | 153 | extern unsigned long ia64_get_rnat(unsigned long *); |
154 | extern void ia64_mca_printk(const char * fmt, ...) | 154 | extern void ia64_mca_printk(const char * fmt, ...) |
155 | __attribute__ ((format (printf, 1, 2))); | 155 | __attribute__ ((format (printf, 1, 2))); |
156 | 156 | ||
diff --git a/arch/ia64/include/asm/meminit.h b/arch/ia64/include/asm/meminit.h index c0cea375620a..688a812c017d 100644 --- a/arch/ia64/include/asm/meminit.h +++ b/arch/ia64/include/asm/meminit.h | |||
@@ -25,8 +25,8 @@ | |||
25 | #define IA64_MAX_RSVD_REGIONS 9 | 25 | #define IA64_MAX_RSVD_REGIONS 9 |
26 | 26 | ||
27 | struct rsvd_region { | 27 | struct rsvd_region { |
28 | unsigned long start; /* virtual address of beginning of element */ | 28 | u64 start; /* virtual address of beginning of element */ |
29 | unsigned long end; /* virtual address of end of element + 1 */ | 29 | u64 end; /* virtual address of end of element + 1 */ |
30 | }; | 30 | }; |
31 | 31 | ||
32 | extern struct rsvd_region rsvd_region[IA64_MAX_RSVD_REGIONS + 1]; | 32 | extern struct rsvd_region rsvd_region[IA64_MAX_RSVD_REGIONS + 1]; |
@@ -35,13 +35,13 @@ extern int num_rsvd_regions; | |||
35 | extern void find_memory (void); | 35 | extern void find_memory (void); |
36 | extern void reserve_memory (void); | 36 | extern void reserve_memory (void); |
37 | extern void find_initrd (void); | 37 | extern void find_initrd (void); |
38 | extern int filter_rsvd_memory (unsigned long start, unsigned long end, void *arg); | 38 | extern int filter_rsvd_memory (u64 start, u64 end, void *arg); |
39 | extern int filter_memory (unsigned long start, unsigned long end, void *arg); | 39 | extern int filter_memory (u64 start, u64 end, void *arg); |
40 | extern unsigned long efi_memmap_init(unsigned long *s, unsigned long *e); | 40 | extern unsigned long efi_memmap_init(u64 *s, u64 *e); |
41 | extern int find_max_min_low_pfn (unsigned long , unsigned long, void *); | 41 | extern int find_max_min_low_pfn (u64, u64, void *); |
42 | 42 | ||
43 | extern unsigned long vmcore_find_descriptor_size(unsigned long address); | 43 | extern unsigned long vmcore_find_descriptor_size(unsigned long address); |
44 | extern int reserve_elfcorehdr(unsigned long *start, unsigned long *end); | 44 | extern int reserve_elfcorehdr(u64 *start, u64 *end); |
45 | 45 | ||
46 | /* | 46 | /* |
47 | * For rounding an address to the next IA64_GRANULE_SIZE or order | 47 | * For rounding an address to the next IA64_GRANULE_SIZE or order |
@@ -63,8 +63,8 @@ extern int register_active_ranges(u64 start, u64 len, int nid); | |||
63 | # define LARGE_GAP 0x40000000 /* Use virtual mem map if hole is > than this */ | 63 | # define LARGE_GAP 0x40000000 /* Use virtual mem map if hole is > than this */ |
64 | extern unsigned long vmalloc_end; | 64 | extern unsigned long vmalloc_end; |
65 | extern struct page *vmem_map; | 65 | extern struct page *vmem_map; |
66 | extern int find_largest_hole (u64 start, u64 end, void *arg); | 66 | extern int find_largest_hole(u64 start, u64 end, void *arg); |
67 | extern int create_mem_map_page_table (u64 start, u64 end, void *arg); | 67 | extern int create_mem_map_page_table(u64 start, u64 end, void *arg); |
68 | extern int vmemmap_find_next_valid_pfn(int, int); | 68 | extern int vmemmap_find_next_valid_pfn(int, int); |
69 | #else | 69 | #else |
70 | static inline int vmemmap_find_next_valid_pfn(int node, int i) | 70 | static inline int vmemmap_find_next_valid_pfn(int node, int i) |
diff --git a/arch/ia64/include/asm/mman.h b/arch/ia64/include/asm/mman.h index c73b87832a1e..48cf8b98a0b4 100644 --- a/arch/ia64/include/asm/mman.h +++ b/arch/ia64/include/asm/mman.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co | 8 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <asm-generic/mman.h> | 11 | #include <asm-generic/mman-common.h> |
12 | 12 | ||
13 | #define MAP_GROWSDOWN 0x00100 /* stack-like segment */ | 13 | #define MAP_GROWSDOWN 0x00100 /* stack-like segment */ |
14 | #define MAP_GROWSUP 0x00200 /* register stack-like segment */ | 14 | #define MAP_GROWSUP 0x00200 /* register stack-like segment */ |
diff --git a/arch/ia64/include/asm/pal.h b/arch/ia64/include/asm/pal.h index 67b02901ead4..6a292505b396 100644 --- a/arch/ia64/include/asm/pal.h +++ b/arch/ia64/include/asm/pal.h | |||
@@ -989,8 +989,8 @@ ia64_pal_cache_read (pal_cache_line_id_u_t line_id, u64 physical_addr) | |||
989 | } | 989 | } |
990 | 990 | ||
991 | /* Return summary information about the hierarchy of caches controlled by the processor */ | 991 | /* Return summary information about the hierarchy of caches controlled by the processor */ |
992 | static inline s64 | 992 | static inline long ia64_pal_cache_summary(unsigned long *cache_levels, |
993 | ia64_pal_cache_summary (u64 *cache_levels, u64 *unique_caches) | 993 | unsigned long *unique_caches) |
994 | { | 994 | { |
995 | struct ia64_pal_retval iprv; | 995 | struct ia64_pal_retval iprv; |
996 | PAL_CALL(iprv, PAL_CACHE_SUMMARY, 0, 0, 0); | 996 | PAL_CALL(iprv, PAL_CACHE_SUMMARY, 0, 0, 0); |
@@ -1038,8 +1038,8 @@ ia64_pal_copy_pal (u64 target_addr, u64 alloc_size, u64 processor, u64 *pal_proc | |||
1038 | } | 1038 | } |
1039 | 1039 | ||
1040 | /* Return the number of instruction and data debug register pairs */ | 1040 | /* Return the number of instruction and data debug register pairs */ |
1041 | static inline s64 | 1041 | static inline long ia64_pal_debug_info(unsigned long *inst_regs, |
1042 | ia64_pal_debug_info (u64 *inst_regs, u64 *data_regs) | 1042 | unsigned long *data_regs) |
1043 | { | 1043 | { |
1044 | struct ia64_pal_retval iprv; | 1044 | struct ia64_pal_retval iprv; |
1045 | PAL_CALL(iprv, PAL_DEBUG_INFO, 0, 0, 0); | 1045 | PAL_CALL(iprv, PAL_DEBUG_INFO, 0, 0, 0); |
@@ -1074,8 +1074,7 @@ ia64_pal_fixed_addr (u64 *global_unique_addr) | |||
1074 | } | 1074 | } |
1075 | 1075 | ||
1076 | /* Get base frequency of the platform if generated by the processor */ | 1076 | /* Get base frequency of the platform if generated by the processor */ |
1077 | static inline s64 | 1077 | static inline long ia64_pal_freq_base(unsigned long *platform_base_freq) |
1078 | ia64_pal_freq_base (u64 *platform_base_freq) | ||
1079 | { | 1078 | { |
1080 | struct ia64_pal_retval iprv; | 1079 | struct ia64_pal_retval iprv; |
1081 | PAL_CALL(iprv, PAL_FREQ_BASE, 0, 0, 0); | 1080 | PAL_CALL(iprv, PAL_FREQ_BASE, 0, 0, 0); |
@@ -1437,7 +1436,7 @@ ia64_pal_proc_set_features (u64 feature_select) | |||
1437 | * possible. | 1436 | * possible. |
1438 | */ | 1437 | */ |
1439 | typedef struct ia64_ptce_info_s { | 1438 | typedef struct ia64_ptce_info_s { |
1440 | u64 base; | 1439 | unsigned long base; |
1441 | u32 count[2]; | 1440 | u32 count[2]; |
1442 | u32 stride[2]; | 1441 | u32 stride[2]; |
1443 | } ia64_ptce_info_t; | 1442 | } ia64_ptce_info_t; |
@@ -1478,9 +1477,9 @@ ia64_pal_register_info (u64 info_request, u64 *reg_info_1, u64 *reg_info_2) | |||
1478 | } | 1477 | } |
1479 | 1478 | ||
1480 | typedef union pal_hints_u { | 1479 | typedef union pal_hints_u { |
1481 | u64 ph_data; | 1480 | unsigned long ph_data; |
1482 | struct { | 1481 | struct { |
1483 | u64 si : 1, | 1482 | unsigned long si : 1, |
1484 | li : 1, | 1483 | li : 1, |
1485 | reserved : 62; | 1484 | reserved : 62; |
1486 | } pal_hints_s; | 1485 | } pal_hints_s; |
@@ -1489,8 +1488,8 @@ typedef union pal_hints_u { | |||
1489 | /* Return information about the register stack and RSE for this processor | 1488 | /* Return information about the register stack and RSE for this processor |
1490 | * implementation. | 1489 | * implementation. |
1491 | */ | 1490 | */ |
1492 | static inline s64 | 1491 | static inline long ia64_pal_rse_info(unsigned long *num_phys_stacked, |
1493 | ia64_pal_rse_info (u64 *num_phys_stacked, pal_hints_u_t *hints) | 1492 | pal_hints_u_t *hints) |
1494 | { | 1493 | { |
1495 | struct ia64_pal_retval iprv; | 1494 | struct ia64_pal_retval iprv; |
1496 | PAL_CALL(iprv, PAL_RSE_INFO, 0, 0, 0); | 1495 | PAL_CALL(iprv, PAL_RSE_INFO, 0, 0, 0); |
@@ -1608,8 +1607,7 @@ ia64_pal_vm_info (u64 tc_level, u64 tc_type, pal_tc_info_u_t *tc_info, u64 *tc_ | |||
1608 | /* Get page size information about the virtual memory characteristics of the processor | 1607 | /* Get page size information about the virtual memory characteristics of the processor |
1609 | * implementation. | 1608 | * implementation. |
1610 | */ | 1609 | */ |
1611 | static inline s64 | 1610 | static inline s64 ia64_pal_vm_page_size(u64 *tr_pages, u64 *vw_pages) |
1612 | ia64_pal_vm_page_size (u64 *tr_pages, u64 *vw_pages) | ||
1613 | { | 1611 | { |
1614 | struct ia64_pal_retval iprv; | 1612 | struct ia64_pal_retval iprv; |
1615 | PAL_CALL(iprv, PAL_VM_PAGE_SIZE, 0, 0, 0); | 1613 | PAL_CALL(iprv, PAL_VM_PAGE_SIZE, 0, 0, 0); |
diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index 1d660d89db0d..fcfca56bb850 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h | |||
@@ -135,19 +135,6 @@ extern void pcibios_resource_to_bus(struct pci_dev *dev, | |||
135 | extern void pcibios_bus_to_resource(struct pci_dev *dev, | 135 | extern void pcibios_bus_to_resource(struct pci_dev *dev, |
136 | struct resource *res, struct pci_bus_region *region); | 136 | struct resource *res, struct pci_bus_region *region); |
137 | 137 | ||
138 | static inline struct resource * | ||
139 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
140 | { | ||
141 | struct resource *root = NULL; | ||
142 | |||
143 | if (res->flags & IORESOURCE_IO) | ||
144 | root = &ioport_resource; | ||
145 | if (res->flags & IORESOURCE_MEM) | ||
146 | root = &iomem_resource; | ||
147 | |||
148 | return root; | ||
149 | } | ||
150 | |||
151 | #define pcibios_scan_all_fns(a, b) 0 | 138 | #define pcibios_scan_all_fns(a, b) 0 |
152 | 139 | ||
153 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ | 140 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ |
diff --git a/arch/ia64/include/asm/pgtable.h b/arch/ia64/include/asm/pgtable.h index 7a9bff47564f..0a9cc73d35c7 100644 --- a/arch/ia64/include/asm/pgtable.h +++ b/arch/ia64/include/asm/pgtable.h | |||
@@ -146,6 +146,8 @@ | |||
146 | #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX) | 146 | #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX) |
147 | #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX) | 147 | #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX) |
148 | #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX) | 148 | #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX) |
149 | #define PAGE_KERNEL_UC __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX | \ | ||
150 | _PAGE_MA_UC) | ||
149 | 151 | ||
150 | # ifndef __ASSEMBLY__ | 152 | # ifndef __ASSEMBLY__ |
151 | 153 | ||
diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h index f88fa054d01d..3eaeedf1aef2 100644 --- a/arch/ia64/include/asm/processor.h +++ b/arch/ia64/include/asm/processor.h | |||
@@ -187,40 +187,40 @@ union ia64_rr { | |||
187 | * state comes earlier: | 187 | * state comes earlier: |
188 | */ | 188 | */ |
189 | struct cpuinfo_ia64 { | 189 | struct cpuinfo_ia64 { |
190 | __u32 softirq_pending; | 190 | unsigned int softirq_pending; |
191 | __u64 itm_delta; /* # of clock cycles between clock ticks */ | 191 | unsigned long itm_delta; /* # of clock cycles between clock ticks */ |
192 | __u64 itm_next; /* interval timer mask value to use for next clock tick */ | 192 | unsigned long itm_next; /* interval timer mask value to use for next clock tick */ |
193 | __u64 nsec_per_cyc; /* (1000000000<<IA64_NSEC_PER_CYC_SHIFT)/itc_freq */ | 193 | unsigned long nsec_per_cyc; /* (1000000000<<IA64_NSEC_PER_CYC_SHIFT)/itc_freq */ |
194 | __u64 unimpl_va_mask; /* mask of unimplemented virtual address bits (from PAL) */ | 194 | unsigned long unimpl_va_mask; /* mask of unimplemented virtual address bits (from PAL) */ |
195 | __u64 unimpl_pa_mask; /* mask of unimplemented physical address bits (from PAL) */ | 195 | unsigned long unimpl_pa_mask; /* mask of unimplemented physical address bits (from PAL) */ |
196 | __u64 itc_freq; /* frequency of ITC counter */ | 196 | unsigned long itc_freq; /* frequency of ITC counter */ |
197 | __u64 proc_freq; /* frequency of processor */ | 197 | unsigned long proc_freq; /* frequency of processor */ |
198 | __u64 cyc_per_usec; /* itc_freq/1000000 */ | 198 | unsigned long cyc_per_usec; /* itc_freq/1000000 */ |
199 | __u64 ptce_base; | 199 | unsigned long ptce_base; |
200 | __u32 ptce_count[2]; | 200 | unsigned int ptce_count[2]; |
201 | __u32 ptce_stride[2]; | 201 | unsigned int ptce_stride[2]; |
202 | struct task_struct *ksoftirqd; /* kernel softirq daemon for this CPU */ | 202 | struct task_struct *ksoftirqd; /* kernel softirq daemon for this CPU */ |
203 | 203 | ||
204 | #ifdef CONFIG_SMP | 204 | #ifdef CONFIG_SMP |
205 | __u64 loops_per_jiffy; | 205 | unsigned long loops_per_jiffy; |
206 | int cpu; | 206 | int cpu; |
207 | __u32 socket_id; /* physical processor socket id */ | 207 | unsigned int socket_id; /* physical processor socket id */ |
208 | __u16 core_id; /* core id */ | 208 | unsigned short core_id; /* core id */ |
209 | __u16 thread_id; /* thread id */ | 209 | unsigned short thread_id; /* thread id */ |
210 | __u16 num_log; /* Total number of logical processors on | 210 | unsigned short num_log; /* Total number of logical processors on |
211 | * this socket that were successfully booted */ | 211 | * this socket that were successfully booted */ |
212 | __u8 cores_per_socket; /* Cores per processor socket */ | 212 | unsigned char cores_per_socket; /* Cores per processor socket */ |
213 | __u8 threads_per_core; /* Threads per core */ | 213 | unsigned char threads_per_core; /* Threads per core */ |
214 | #endif | 214 | #endif |
215 | 215 | ||
216 | /* CPUID-derived information: */ | 216 | /* CPUID-derived information: */ |
217 | __u64 ppn; | 217 | unsigned long ppn; |
218 | __u64 features; | 218 | unsigned long features; |
219 | __u8 number; | 219 | unsigned char number; |
220 | __u8 revision; | 220 | unsigned char revision; |
221 | __u8 model; | 221 | unsigned char model; |
222 | __u8 family; | 222 | unsigned char family; |
223 | __u8 archrev; | 223 | unsigned char archrev; |
224 | char vendor[16]; | 224 | char vendor[16]; |
225 | char *model_name; | 225 | char *model_name; |
226 | 226 | ||
@@ -329,8 +329,8 @@ struct thread_struct { | |||
329 | #else | 329 | #else |
330 | # define INIT_THREAD_PM | 330 | # define INIT_THREAD_PM |
331 | #endif | 331 | #endif |
332 | __u64 dbr[IA64_NUM_DBG_REGS]; | 332 | unsigned long dbr[IA64_NUM_DBG_REGS]; |
333 | __u64 ibr[IA64_NUM_DBG_REGS]; | 333 | unsigned long ibr[IA64_NUM_DBG_REGS]; |
334 | struct ia64_fpreg fph[96]; /* saved/loaded on demand */ | 334 | struct ia64_fpreg fph[96]; /* saved/loaded on demand */ |
335 | }; | 335 | }; |
336 | 336 | ||
diff --git a/arch/ia64/include/asm/sal.h b/arch/ia64/include/asm/sal.h index 966797a97c94..d19ddba4e327 100644 --- a/arch/ia64/include/asm/sal.h +++ b/arch/ia64/include/asm/sal.h | |||
@@ -106,10 +106,10 @@ struct ia64_sal_retval { | |||
106 | * informational value should be printed (e.g., "reboot for | 106 | * informational value should be printed (e.g., "reboot for |
107 | * change to take effect"). | 107 | * change to take effect"). |
108 | */ | 108 | */ |
109 | s64 status; | 109 | long status; |
110 | u64 v0; | 110 | unsigned long v0; |
111 | u64 v1; | 111 | unsigned long v1; |
112 | u64 v2; | 112 | unsigned long v2; |
113 | }; | 113 | }; |
114 | 114 | ||
115 | typedef struct ia64_sal_retval (*ia64_sal_handler) (u64, ...); | 115 | typedef struct ia64_sal_retval (*ia64_sal_handler) (u64, ...); |
diff --git a/arch/ia64/include/asm/signal.h b/arch/ia64/include/asm/signal.h index 4f5ca5643cb1..b166248d49a4 100644 --- a/arch/ia64/include/asm/signal.h +++ b/arch/ia64/include/asm/signal.h | |||
@@ -114,7 +114,7 @@ | |||
114 | 114 | ||
115 | #endif /* __KERNEL__ */ | 115 | #endif /* __KERNEL__ */ |
116 | 116 | ||
117 | #include <asm-generic/signal.h> | 117 | #include <asm-generic/signal-defs.h> |
118 | 118 | ||
119 | # ifndef __ASSEMBLY__ | 119 | # ifndef __ASSEMBLY__ |
120 | 120 | ||
diff --git a/arch/ia64/include/asm/sn/sn_sal.h b/arch/ia64/include/asm/sn/sn_sal.h index e310fc0135dc..1f5ff470a5a1 100644 --- a/arch/ia64/include/asm/sn/sn_sal.h +++ b/arch/ia64/include/asm/sn/sn_sal.h | |||
@@ -929,7 +929,7 @@ ia64_sn_sysctl_tio_clock_reset(nasid_t nasid) | |||
929 | /* | 929 | /* |
930 | * Get the associated ioboard type for a given nasid. | 930 | * Get the associated ioboard type for a given nasid. |
931 | */ | 931 | */ |
932 | static inline s64 | 932 | static inline long |
933 | ia64_sn_sysctl_ioboard_get(nasid_t nasid, u16 *ioboard) | 933 | ia64_sn_sysctl_ioboard_get(nasid_t nasid, u16 *ioboard) |
934 | { | 934 | { |
935 | struct ia64_sal_retval isrv; | 935 | struct ia64_sal_retval isrv; |
diff --git a/arch/ia64/include/asm/suspend.h b/arch/ia64/include/asm/suspend.h deleted file mode 100644 index b05bbb6074e2..000000000000 --- a/arch/ia64/include/asm/suspend.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | /* dummy (must be non-empty to prevent prejudicial removal...) */ | ||
diff --git a/arch/ia64/include/asm/types.h b/arch/ia64/include/asm/types.h index e36b3716e718..bcd260e597de 100644 --- a/arch/ia64/include/asm/types.h +++ b/arch/ia64/include/asm/types.h | |||
@@ -2,10 +2,11 @@ | |||
2 | #define _ASM_IA64_TYPES_H | 2 | #define _ASM_IA64_TYPES_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * This file is never included by application software unless explicitly requested (e.g., | 5 | * This file is never included by application software unless explicitly |
6 | * via linux/types.h) in which case the application is Linux specific so (user-) name | 6 | * requested (e.g., via linux/types.h) in which case the application is |
7 | * space pollution is not a major issue. However, for interoperability, libraries still | 7 | * Linux specific so (user-) name space pollution is not a major issue. |
8 | * need to be careful to avoid a name clashes. | 8 | * However, for interoperability, libraries still need to be careful to |
9 | * avoid naming clashes. | ||
9 | * | 10 | * |
10 | * Based on <asm-alpha/types.h>. | 11 | * Based on <asm-alpha/types.h>. |
11 | * | 12 | * |
@@ -13,16 +14,16 @@ | |||
13 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co | 14 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co |
14 | */ | 15 | */ |
15 | 16 | ||
17 | #ifdef __KERNEL__ | ||
18 | #include <asm-generic/int-ll64.h> | ||
19 | #else | ||
16 | #include <asm-generic/int-l64.h> | 20 | #include <asm-generic/int-l64.h> |
21 | #endif | ||
17 | 22 | ||
18 | #ifdef __ASSEMBLY__ | 23 | #ifdef __ASSEMBLY__ |
19 | # define __IA64_UL(x) (x) | 24 | # define __IA64_UL(x) (x) |
20 | # define __IA64_UL_CONST(x) x | 25 | # define __IA64_UL_CONST(x) x |
21 | 26 | ||
22 | # ifdef __KERNEL__ | ||
23 | # define BITS_PER_LONG 64 | ||
24 | # endif | ||
25 | |||
26 | #else | 27 | #else |
27 | # define __IA64_UL(x) ((unsigned long)(x)) | 28 | # define __IA64_UL(x) ((unsigned long)(x)) |
28 | # define __IA64_UL_CONST(x) x##UL | 29 | # define __IA64_UL_CONST(x) x##UL |
@@ -34,10 +35,7 @@ typedef unsigned int umode_t; | |||
34 | */ | 35 | */ |
35 | # ifdef __KERNEL__ | 36 | # ifdef __KERNEL__ |
36 | 37 | ||
37 | #define BITS_PER_LONG 64 | ||
38 | |||
39 | /* DMA addresses are 64-bits wide, in general. */ | 38 | /* DMA addresses are 64-bits wide, in general. */ |
40 | |||
41 | typedef u64 dma_addr_t; | 39 | typedef u64 dma_addr_t; |
42 | 40 | ||
43 | # endif /* __KERNEL__ */ | 41 | # endif /* __KERNEL__ */ |
diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h index 10a9eb05f74d..5a5347f5c4e4 100644 --- a/arch/ia64/include/asm/unistd.h +++ b/arch/ia64/include/asm/unistd.h | |||
@@ -310,11 +310,12 @@ | |||
310 | #define __NR_inotify_init1 1318 | 310 | #define __NR_inotify_init1 1318 |
311 | #define __NR_preadv 1319 | 311 | #define __NR_preadv 1319 |
312 | #define __NR_pwritev 1320 | 312 | #define __NR_pwritev 1320 |
313 | #define __NR_rt_tgsigqueueinfo 1321 | ||
313 | 314 | ||
314 | #ifdef __KERNEL__ | 315 | #ifdef __KERNEL__ |
315 | 316 | ||
316 | 317 | ||
317 | #define NR_syscalls 297 /* length of syscall table */ | 318 | #define NR_syscalls 298 /* length of syscall table */ |
318 | 319 | ||
319 | /* | 320 | /* |
320 | * The following defines stop scripts/checksyscalls.sh from complaining about | 321 | * The following defines stop scripts/checksyscalls.sh from complaining about |
@@ -328,6 +329,7 @@ | |||
328 | #define __IGNORE_utime /* utimes() */ | 329 | #define __IGNORE_utime /* utimes() */ |
329 | #define __IGNORE_getpgrp /* getpgid() */ | 330 | #define __IGNORE_getpgrp /* getpgid() */ |
330 | #define __IGNORE_vfork /* clone() */ | 331 | #define __IGNORE_vfork /* clone() */ |
332 | #define __IGNORE_umount2 /* umount() */ | ||
331 | 333 | ||
332 | #define __ARCH_WANT_SYS_RT_SIGACTION | 334 | #define __ARCH_WANT_SYS_RT_SIGACTION |
333 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | 335 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND |