diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2009-08-24 09:49:17 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-24 09:49:17 -0400 |
| commit | 12cceb6251c2cd23e936b25eca66be99ba41b081 (patch) | |
| tree | b7f62853e67b305519c375162760422fbfc81b8e /arch/sh/include | |
| parent | f13327864f94c3a0e6acca923df537d20059639f (diff) | |
| parent | 05ecd5a1f76c183cca381705b3adb7d77c9a0439 (diff) | |
Merge branch 'sh/st-integration'
Diffstat (limited to 'arch/sh/include')
| -rw-r--r-- | arch/sh/include/asm/Kbuild | 2 | ||||
| -rw-r--r-- | arch/sh/include/asm/cachectl.h | 19 | ||||
| -rw-r--r-- | arch/sh/include/asm/entry-macros.S | 2 | ||||
| -rw-r--r-- | arch/sh/include/asm/io.h | 16 | ||||
| -rw-r--r-- | arch/sh/include/asm/unistd_32.h | 2 | ||||
| -rw-r--r-- | arch/sh/include/asm/unistd_64.h | 2 |
6 files changed, 38 insertions, 5 deletions
diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild index 43910cdf78a5..e121c30f797d 100644 --- a/arch/sh/include/asm/Kbuild +++ b/arch/sh/include/asm/Kbuild | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
| 2 | 2 | ||
| 3 | header-y += cpu-features.h | 3 | header-y += cachectl.h cpu-features.h |
| 4 | 4 | ||
| 5 | unifdef-y += unistd_32.h | 5 | unifdef-y += unistd_32.h |
| 6 | unifdef-y += unistd_64.h | 6 | unifdef-y += unistd_64.h |
diff --git a/arch/sh/include/asm/cachectl.h b/arch/sh/include/asm/cachectl.h new file mode 100644 index 000000000000..6ffb4b7a212e --- /dev/null +++ b/arch/sh/include/asm/cachectl.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #ifndef _SH_CACHECTL_H | ||
| 2 | #define _SH_CACHECTL_H | ||
| 3 | |||
| 4 | /* Definitions for the cacheflush system call. */ | ||
| 5 | |||
| 6 | #define CACHEFLUSH_D_INVAL 0x1 /* invalidate (without write back) */ | ||
| 7 | #define CACHEFLUSH_D_WB 0x2 /* write back (without invalidate) */ | ||
| 8 | #define CACHEFLUSH_D_PURGE 0x3 /* writeback and invalidate */ | ||
| 9 | |||
| 10 | #define CACHEFLUSH_I 0x4 | ||
| 11 | |||
| 12 | /* | ||
| 13 | * Options for cacheflush system call | ||
| 14 | */ | ||
| 15 | #define ICACHE CACHEFLUSH_I /* flush instruction cache */ | ||
| 16 | #define DCACHE CACHEFLUSH_D_PURGE /* writeback and flush data cache */ | ||
| 17 | #define BCACHE (ICACHE|DCACHE) /* flush both caches */ | ||
| 18 | |||
| 19 | #endif /* _SH_CACHECTL_H */ | ||
diff --git a/arch/sh/include/asm/entry-macros.S b/arch/sh/include/asm/entry-macros.S index 64fd0de24daf..cc43a55e1fcf 100644 --- a/arch/sh/include/asm/entry-macros.S +++ b/arch/sh/include/asm/entry-macros.S | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | .endm | 7 | .endm |
| 8 | 8 | ||
| 9 | .macro sti | 9 | .macro sti |
| 10 | mov #0xf0, r11 | 10 | mov #0xfffffff0, r11 |
| 11 | extu.b r11, r11 | 11 | extu.b r11, r11 |
| 12 | not r11, r11 | 12 | not r11, r11 |
| 13 | stc sr, r10 | 13 | stc sr, r10 |
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h index 25348141674b..5be45ea4dfec 100644 --- a/arch/sh/include/asm/io.h +++ b/arch/sh/include/asm/io.h | |||
| @@ -92,8 +92,12 @@ | |||
| 92 | 92 | ||
| 93 | static inline void ctrl_delay(void) | 93 | static inline void ctrl_delay(void) |
| 94 | { | 94 | { |
| 95 | #ifdef P2SEG | 95 | #ifdef CONFIG_CPU_SH4 |
| 96 | __raw_readw(CCN_PVR); | ||
| 97 | #elif defined(P2SEG) | ||
| 96 | __raw_readw(P2SEG); | 98 | __raw_readw(P2SEG); |
| 99 | #else | ||
| 100 | #error "Need a dummy address for delay" | ||
| 97 | #endif | 101 | #endif |
| 98 | } | 102 | } |
| 99 | 103 | ||
| @@ -146,6 +150,7 @@ __BUILD_MEMORY_STRING(q, u64) | |||
| 146 | #define readl_relaxed(a) readl(a) | 150 | #define readl_relaxed(a) readl(a) |
| 147 | #define readq_relaxed(a) readq(a) | 151 | #define readq_relaxed(a) readq(a) |
| 148 | 152 | ||
| 153 | #ifndef CONFIG_GENERIC_IOMAP | ||
| 149 | /* Simple MMIO */ | 154 | /* Simple MMIO */ |
| 150 | #define ioread8(a) __raw_readb(a) | 155 | #define ioread8(a) __raw_readb(a) |
| 151 | #define ioread16(a) __raw_readw(a) | 156 | #define ioread16(a) __raw_readw(a) |
| @@ -166,6 +171,15 @@ __BUILD_MEMORY_STRING(q, u64) | |||
| 166 | #define iowrite8_rep(a, s, c) __raw_writesb((a), (s), (c)) | 171 | #define iowrite8_rep(a, s, c) __raw_writesb((a), (s), (c)) |
| 167 | #define iowrite16_rep(a, s, c) __raw_writesw((a), (s), (c)) | 172 | #define iowrite16_rep(a, s, c) __raw_writesw((a), (s), (c)) |
| 168 | #define iowrite32_rep(a, s, c) __raw_writesl((a), (s), (c)) | 173 | #define iowrite32_rep(a, s, c) __raw_writesl((a), (s), (c)) |
| 174 | #endif | ||
| 175 | |||
| 176 | #define mmio_insb(p,d,c) __raw_readsb(p,d,c) | ||
| 177 | #define mmio_insw(p,d,c) __raw_readsw(p,d,c) | ||
| 178 | #define mmio_insl(p,d,c) __raw_readsl(p,d,c) | ||
| 179 | |||
| 180 | #define mmio_outsb(p,s,c) __raw_writesb(p,s,c) | ||
| 181 | #define mmio_outsw(p,s,c) __raw_writesw(p,s,c) | ||
| 182 | #define mmio_outsl(p,s,c) __raw_writesl(p,s,c) | ||
| 169 | 183 | ||
| 170 | /* synco on SH-4A, otherwise a nop */ | 184 | /* synco on SH-4A, otherwise a nop */ |
| 171 | #define mmiowb() wmb() | 185 | #define mmiowb() wmb() |
diff --git a/arch/sh/include/asm/unistd_32.h b/arch/sh/include/asm/unistd_32.h index 61d6ad93d786..925dd40d9d55 100644 --- a/arch/sh/include/asm/unistd_32.h +++ b/arch/sh/include/asm/unistd_32.h | |||
| @@ -132,7 +132,7 @@ | |||
| 132 | #define __NR_clone 120 | 132 | #define __NR_clone 120 |
| 133 | #define __NR_setdomainname 121 | 133 | #define __NR_setdomainname 121 |
| 134 | #define __NR_uname 122 | 134 | #define __NR_uname 122 |
| 135 | #define __NR_modify_ldt 123 | 135 | #define __NR_cacheflush 123 |
| 136 | #define __NR_adjtimex 124 | 136 | #define __NR_adjtimex 124 |
| 137 | #define __NR_mprotect 125 | 137 | #define __NR_mprotect 125 |
| 138 | #define __NR_sigprocmask 126 | 138 | #define __NR_sigprocmask 126 |
diff --git a/arch/sh/include/asm/unistd_64.h b/arch/sh/include/asm/unistd_64.h index a751699afda3..2b84bc916bc5 100644 --- a/arch/sh/include/asm/unistd_64.h +++ b/arch/sh/include/asm/unistd_64.h | |||
| @@ -137,7 +137,7 @@ | |||
| 137 | #define __NR_clone 120 | 137 | #define __NR_clone 120 |
| 138 | #define __NR_setdomainname 121 | 138 | #define __NR_setdomainname 121 |
| 139 | #define __NR_uname 122 | 139 | #define __NR_uname 122 |
| 140 | #define __NR_modify_ldt 123 | 140 | #define __NR_cacheflush 123 |
| 141 | #define __NR_adjtimex 124 | 141 | #define __NR_adjtimex 124 |
| 142 | #define __NR_mprotect 125 | 142 | #define __NR_mprotect 125 |
| 143 | #define __NR_sigprocmask 126 | 143 | #define __NR_sigprocmask 126 |
