diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2013-11-28 21:27:18 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-12-05 00:08:21 -0500 |
commit | 0150a3dd92fc45b599bf2442b47d40921b4aa2d2 (patch) | |
tree | 284f52f36938fff298c3e0a0ae1fe55f78db6842 | |
parent | fb48dc22824daaa60ff1d6a6c9e22c79112dfb8e (diff) |
powerpc: Add real mode cache inhibited IO accessors
These accessors allow us to do cache inhibited accesses when in real
mode. They should only be used in real mode.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/include/asm/io.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 575fbf81fad0..97d3869991ca 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h | |||
@@ -191,8 +191,24 @@ DEF_MMIO_OUT_D(out_le32, 32, stw); | |||
191 | 191 | ||
192 | #endif /* __BIG_ENDIAN */ | 192 | #endif /* __BIG_ENDIAN */ |
193 | 193 | ||
194 | /* | ||
195 | * Cache inhibitied accessors for use in real mode, you don't want to use these | ||
196 | * unless you know what you're doing. | ||
197 | * | ||
198 | * NB. These use the cpu byte ordering. | ||
199 | */ | ||
200 | DEF_MMIO_OUT_X(out_rm8, 8, stbcix); | ||
201 | DEF_MMIO_OUT_X(out_rm16, 16, sthcix); | ||
202 | DEF_MMIO_OUT_X(out_rm32, 32, stwcix); | ||
203 | DEF_MMIO_IN_X(in_rm8, 8, lbzcix); | ||
204 | DEF_MMIO_IN_X(in_rm16, 16, lhzcix); | ||
205 | DEF_MMIO_IN_X(in_rm32, 32, lwzcix); | ||
206 | |||
194 | #ifdef __powerpc64__ | 207 | #ifdef __powerpc64__ |
195 | 208 | ||
209 | DEF_MMIO_OUT_X(out_rm64, 64, stdcix); | ||
210 | DEF_MMIO_IN_X(in_rm64, 64, ldcix); | ||
211 | |||
196 | #ifdef __BIG_ENDIAN__ | 212 | #ifdef __BIG_ENDIAN__ |
197 | DEF_MMIO_OUT_D(out_be64, 64, std); | 213 | DEF_MMIO_OUT_D(out_be64, 64, std); |
198 | DEF_MMIO_IN_D(in_be64, 64, ld); | 214 | DEF_MMIO_IN_D(in_be64, 64, ld); |