diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-11-23 01:53:42 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-08 22:49:46 -0500 |
commit | d1405b869850982f05c7ec0d3f137ca27588192f (patch) | |
tree | b95b4e6e36f654205ad720609734a5b2ca549de0 /include/asm-powerpc/mmu.h | |
parent | bcb05504edf0e27a648aa1059cbb71e8746758a1 (diff) |
[PATCH] powerpc: Add OF address parsing code (#2)
Parsing addresses extracted from Open Firmware isn't a simple matter. We
have various bits of code that try to do it in various place, including
some heuristics in prom.c that pre-parse addresses at boot and fill
device-nodes "addrs", but those are dodgy at best and I want to
deprecate them. So this patch introduces a new set of routines that
should be capable of parsing most types of addresses and translating
them into CPU physical addresses. It currently works for things on PCI
busses and ISA busses and should work on "standard" busses like the root
bus or the MacIO bus that don't put funky flags in addresses. If you
have other bus types that do use funky flags, you'll have to add new bus
type translators, which is fairly easy.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/mmu.h')
-rw-r--r-- | include/asm-powerpc/mmu.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-powerpc/mmu.h b/include/asm-powerpc/mmu.h index 29b0bb0086d3..29613500c2c2 100644 --- a/include/asm-powerpc/mmu.h +++ b/include/asm-powerpc/mmu.h | |||
@@ -394,6 +394,10 @@ static inline unsigned long get_vsid(unsigned long context, unsigned long ea) | |||
394 | #define VSID_SCRAMBLE(pvsid) (((pvsid) * VSID_MULTIPLIER) % VSID_MODULUS) | 394 | #define VSID_SCRAMBLE(pvsid) (((pvsid) * VSID_MULTIPLIER) % VSID_MODULUS) |
395 | #define KERNEL_VSID(ea) VSID_SCRAMBLE(GET_ESID(ea)) | 395 | #define KERNEL_VSID(ea) VSID_SCRAMBLE(GET_ESID(ea)) |
396 | 396 | ||
397 | /* Physical address used by some IO functions */ | ||
398 | typedef unsigned long phys_addr_t; | ||
399 | |||
400 | |||
397 | #endif /* __ASSEMBLY */ | 401 | #endif /* __ASSEMBLY */ |
398 | 402 | ||
399 | #endif /* CONFIG_PPC64 */ | 403 | #endif /* CONFIG_PPC64 */ |