diff options
author | Jody McIntyre <scjody@modernduck.com> | 2006-03-28 20:24:39 -0500 |
---|---|---|
committer | Jody McIntyre <scjody@modernduck.com> | 2006-03-28 20:24:39 -0500 |
commit | c0e4077c946104e5d8a62f835dcdca5c79c8af7d (patch) | |
tree | c1f458722f86690a6172bbac2dfef3241ba0ec7e /include/asm-arm/domain.h | |
parent | 94c2d01a537daf51a9fcf229d7d2204c979355d9 (diff) | |
parent | ca9ba4471c1203bb6e759b76e83167fec54fe590 (diff) |
Merge with git+ssh://master.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'include/asm-arm/domain.h')
-rw-r--r-- | include/asm-arm/domain.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-arm/domain.h b/include/asm-arm/domain.h index da1d960387d..f8ea2de4848 100644 --- a/include/asm-arm/domain.h +++ b/include/asm-arm/domain.h @@ -16,11 +16,29 @@ * DOMAIN_IO - domain 2 includes all IO only * DOMAIN_USER - domain 1 includes all user memory only * DOMAIN_KERNEL - domain 0 includes all kernel memory only + * + * The domain numbering depends on whether we support 36 physical + * address for I/O or not. Addresses above the 32 bit boundary can + * only be mapped using supersections and supersections can only + * be set for domain 0. We could just default to DOMAIN_IO as zero, + * but there may be systems with supersection support and no 36-bit + * addressing. In such cases, we want to map system memory with + * supersections to reduce TLB misses and footprint. + * + * 36-bit addressing and supersections are only available on + * CPUs based on ARMv6+ or the Intel XSC3 core. */ +#ifndef CONFIG_IO_36 #define DOMAIN_KERNEL 0 #define DOMAIN_TABLE 0 #define DOMAIN_USER 1 #define DOMAIN_IO 2 +#else +#define DOMAIN_KERNEL 2 +#define DOMAIN_TABLE 2 +#define DOMAIN_USER 1 +#define DOMAIN_IO 0 +#endif /* * Domain types |