sh: Split out 29-bit and 32-bit physical mode definitions.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2007-11-10 19:16:55 +09:00
parent af3c7dfe82
commit 36bcd39dbc
3 changed files with 29 additions and 1 deletions

View File

@ -46,9 +46,20 @@ config MEMORY_SIZE
as 0x00400000 which was the default value before this became
configurable.
# Physical addressing modes
config 29BIT
def_bool !32BIT
depends on SUPERH32
config 32BIT
bool
default y if CPU_SH5
config PMB
bool "Support 32-bit physical addressing through PMB"
depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
select 32BIT
default y
help
If you say Y here, physical addressing will be extended to

View File

@ -31,7 +31,7 @@ endif
endif
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_32BIT) += pmb.o
obj-$(CONFIG_PMB) += pmb.o
obj-$(CONFIG_NUMA) += numa.o
EXTRA_CFLAGS += -Werror

View File

@ -28,6 +28,23 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
#endif /* !__ASSEMBLY__ */
/*
* Effective and physical address definitions, to aid with sign
* extension.
*/
#define NEFF 32
#define NEFF_SIGN (1LL << (NEFF - 1))
#define NEFF_MASK (-1LL << NEFF)
#ifdef CONFIG_29BIT
#define NPHYS 29
#else
#define NPHYS 32
#endif
#define NPHYS_SIGN (1LL << (NPHYS - 1))
#define NPHYS_MASK (-1LL << NPHYS)
/*
* traditional two-level paging structure
*/