diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-sparc/pgtable.h | 3 | ||||
| -rw-r--r-- | include/asm-sparc64/cpudata.h | 4 | ||||
| -rw-r--r-- | include/asm-sparc64/hardirq.h | 16 | ||||
| -rw-r--r-- | include/asm-sparc64/io.h | 47 | ||||
| -rw-r--r-- | include/asm-sparc64/pgtable.h | 3 |
5 files changed, 42 insertions, 31 deletions
diff --git a/include/asm-sparc/pgtable.h b/include/asm-sparc/pgtable.h index 40ed30a2b7c6..8f4f6a959651 100644 --- a/include/asm-sparc/pgtable.h +++ b/include/asm-sparc/pgtable.h | |||
| @@ -435,9 +435,6 @@ extern unsigned long *sparc_valid_addr_bitmap; | |||
| 435 | #define kern_addr_valid(addr) \ | 435 | #define kern_addr_valid(addr) \ |
| 436 | (test_bit(__pa((unsigned long)(addr))>>20, sparc_valid_addr_bitmap)) | 436 | (test_bit(__pa((unsigned long)(addr))>>20, sparc_valid_addr_bitmap)) |
| 437 | 437 | ||
| 438 | extern int io_remap_page_range(struct vm_area_struct *vma, | ||
| 439 | unsigned long from, unsigned long to, | ||
| 440 | unsigned long size, pgprot_t prot, int space); | ||
| 441 | extern int io_remap_pfn_range(struct vm_area_struct *vma, | 438 | extern int io_remap_pfn_range(struct vm_area_struct *vma, |
| 442 | unsigned long from, unsigned long pfn, | 439 | unsigned long from, unsigned long pfn, |
| 443 | unsigned long size, pgprot_t prot); | 440 | unsigned long size, pgprot_t prot); |
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h index cc7198aaac50..9a3a81f1cc58 100644 --- a/include/asm-sparc64/cpudata.h +++ b/include/asm-sparc64/cpudata.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* cpudata.h: Per-cpu parameters. | 1 | /* cpudata.h: Per-cpu parameters. |
| 2 | * | 2 | * |
| 3 | * Copyright (C) 2003 David S. Miller (davem@redhat.com) | 3 | * Copyright (C) 2003, 2005 David S. Miller (davem@redhat.com) |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #ifndef _SPARC64_CPUDATA_H | 6 | #ifndef _SPARC64_CPUDATA_H |
| @@ -10,7 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | typedef struct { | 11 | typedef struct { |
| 12 | /* Dcache line 1 */ | 12 | /* Dcache line 1 */ |
| 13 | unsigned int __pad0; /* bh_count moved to irq_stat for consistency. KAO */ | 13 | unsigned int __softirq_pending; /* must be 1st, see rtrap.S */ |
| 14 | unsigned int multiplier; | 14 | unsigned int multiplier; |
| 15 | unsigned int counter; | 15 | unsigned int counter; |
| 16 | unsigned int idle_volume; | 16 | unsigned int idle_volume; |
diff --git a/include/asm-sparc64/hardirq.h b/include/asm-sparc64/hardirq.h index d6db1aed7645..f0cf71376ec5 100644 --- a/include/asm-sparc64/hardirq.h +++ b/include/asm-sparc64/hardirq.h | |||
| @@ -1,22 +1,16 @@ | |||
| 1 | /* hardirq.h: 64-bit Sparc hard IRQ support. | 1 | /* hardirq.h: 64-bit Sparc hard IRQ support. |
| 2 | * | 2 | * |
| 3 | * Copyright (C) 1997, 1998 David S. Miller (davem@caip.rutgers.edu) | 3 | * Copyright (C) 1997, 1998, 2005 David S. Miller (davem@davemloft.net) |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #ifndef __SPARC64_HARDIRQ_H | 6 | #ifndef __SPARC64_HARDIRQ_H |
| 7 | #define __SPARC64_HARDIRQ_H | 7 | #define __SPARC64_HARDIRQ_H |
| 8 | 8 | ||
| 9 | #include <linux/config.h> | 9 | #include <asm/cpudata.h> |
| 10 | #include <linux/threads.h> | ||
| 11 | #include <linux/spinlock.h> | ||
| 12 | #include <linux/cache.h> | ||
| 13 | 10 | ||
| 14 | /* rtrap.S is sensitive to the offsets of these fields */ | 11 | #define __ARCH_IRQ_STAT |
| 15 | typedef struct { | 12 | #define local_softirq_pending() \ |
| 16 | unsigned int __softirq_pending; | 13 | (local_cpu_data().__softirq_pending) |
| 17 | } ____cacheline_aligned irq_cpustat_t; | ||
| 18 | |||
| 19 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ | ||
| 20 | 14 | ||
| 21 | #define HARDIRQ_BITS 8 | 15 | #define HARDIRQ_BITS 8 |
| 22 | 16 | ||
diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h index afdcea90707a..0056770e83ad 100644 --- a/include/asm-sparc64/io.h +++ b/include/asm-sparc64/io.h | |||
| @@ -100,18 +100,41 @@ static __inline__ void _outl(u32 l, unsigned long addr) | |||
| 100 | #define inl_p(__addr) inl(__addr) | 100 | #define inl_p(__addr) inl(__addr) |
| 101 | #define outl_p(__l, __addr) outl(__l, __addr) | 101 | #define outl_p(__l, __addr) outl(__l, __addr) |
| 102 | 102 | ||
| 103 | extern void outsb(void __iomem *addr, const void *src, unsigned long count); | 103 | extern void outsb(unsigned long, const void *, unsigned long); |
| 104 | extern void outsw(void __iomem *addr, const void *src, unsigned long count); | 104 | extern void outsw(unsigned long, const void *, unsigned long); |
| 105 | extern void outsl(void __iomem *addr, const void *src, unsigned long count); | 105 | extern void outsl(unsigned long, const void *, unsigned long); |
| 106 | extern void insb(void __iomem *addr, void *dst, unsigned long count); | 106 | extern void insb(unsigned long, void *, unsigned long); |
| 107 | extern void insw(void __iomem *addr, void *dst, unsigned long count); | 107 | extern void insw(unsigned long, void *, unsigned long); |
| 108 | extern void insl(void __iomem *addr, void *dst, unsigned long count); | 108 | extern void insl(unsigned long, void *, unsigned long); |
| 109 | #define ioread8_rep(a,d,c) insb(a,d,c) | 109 | |
| 110 | #define ioread16_rep(a,d,c) insw(a,d,c) | 110 | static inline void ioread8_rep(void __iomem *port, void *buf, unsigned long count) |
| 111 | #define ioread32_rep(a,d,c) insl(a,d,c) | 111 | { |
| 112 | #define iowrite8_rep(a,s,c) outsb(a,s,c) | 112 | insb((unsigned long __force)port, buf, count); |
| 113 | #define iowrite16_rep(a,s,c) outsw(a,s,c) | 113 | } |
| 114 | #define iowrite32_rep(a,s,c) outsl(a,s,c) | 114 | static inline void ioread16_rep(void __iomem *port, void *buf, unsigned long count) |
| 115 | { | ||
| 116 | insw((unsigned long __force)port, buf, count); | ||
| 117 | } | ||
| 118 | |||
| 119 | static inline void ioread32_rep(void __iomem *port, void *buf, unsigned long count) | ||
| 120 | { | ||
| 121 | insl((unsigned long __force)port, buf, count); | ||
| 122 | } | ||
| 123 | |||
| 124 | static inline void iowrite8_rep(void __iomem *port, const void *buf, unsigned long count) | ||
| 125 | { | ||
| 126 | outsb((unsigned long __force)port, buf, count); | ||
| 127 | } | ||
| 128 | |||
| 129 | static inline void iowrite16_rep(void __iomem *port, const void *buf, unsigned long count) | ||
| 130 | { | ||
| 131 | outsw((unsigned long __force)port, buf, count); | ||
| 132 | } | ||
| 133 | |||
| 134 | static inline void iowrite32_rep(void __iomem *port, const void *buf, unsigned long count) | ||
| 135 | { | ||
| 136 | outsl((unsigned long __force)port, buf, count); | ||
| 137 | } | ||
| 115 | 138 | ||
| 116 | /* Memory functions, same as I/O accesses on Ultra. */ | 139 | /* Memory functions, same as I/O accesses on Ultra. */ |
| 117 | static inline u8 _readb(const volatile void __iomem *addr) | 140 | static inline u8 _readb(const volatile void __iomem *addr) |
diff --git a/include/asm-sparc64/pgtable.h b/include/asm-sparc64/pgtable.h index 1ae00c5087f1..a2b4f5ed4625 100644 --- a/include/asm-sparc64/pgtable.h +++ b/include/asm-sparc64/pgtable.h | |||
| @@ -410,9 +410,6 @@ extern unsigned long *sparc64_valid_addr_bitmap; | |||
| 410 | #define kern_addr_valid(addr) \ | 410 | #define kern_addr_valid(addr) \ |
| 411 | (test_bit(__pa((unsigned long)(addr))>>22, sparc64_valid_addr_bitmap)) | 411 | (test_bit(__pa((unsigned long)(addr))>>22, sparc64_valid_addr_bitmap)) |
| 412 | 412 | ||
| 413 | extern int io_remap_page_range(struct vm_area_struct *vma, unsigned long from, | ||
| 414 | unsigned long offset, | ||
| 415 | unsigned long size, pgprot_t prot, int space); | ||
| 416 | extern int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | 413 | extern int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, |
| 417 | unsigned long pfn, | 414 | unsigned long pfn, |
| 418 | unsigned long size, pgprot_t prot); | 415 | unsigned long size, pgprot_t prot); |
