diff options
author | David Howells <dhowells@redhat.com> | 2008-04-10 11:11:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-10 16:41:29 -0400 |
commit | ed9b949f55bc8a6bb6083ce0eddb53d06aee302a (patch) | |
tree | 03c7005beb1611028c13a34766f87da848b13859 | |
parent | e31c243f984628d02f045dc4b622f1e2827860dc (diff) |
FRV: Make NOMMU-mode work with base addresses other than 0xC0000000 [try #2]
Make NOMMU-mode work with base addresses other than 0xC0000000 by:
(1) Giving the code that sets up the protection registers the right address
in __sdram_base. Rather than being hard coded to 0xC0000000, the value
of __page_offset is obtained from the linker script.
(2) Eliminate the check in __switch_to() that verifies the current thread
info is in the 0xCxxxxxxx region.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/frv/kernel/head.inc | 2 | ||||
-rw-r--r-- | arch/frv/kernel/switch_to.S | 7 |
2 files changed, 1 insertions, 8 deletions
diff --git a/arch/frv/kernel/head.inc b/arch/frv/kernel/head.inc index d424cd2eb213..bff66628b99a 100644 --- a/arch/frv/kernel/head.inc +++ b/arch/frv/kernel/head.inc | |||
@@ -46,5 +46,5 @@ | |||
46 | #ifdef CONFIG_MMU | 46 | #ifdef CONFIG_MMU |
47 | __sdram_base = 0x00000000 /* base address to which SDRAM relocated */ | 47 | __sdram_base = 0x00000000 /* base address to which SDRAM relocated */ |
48 | #else | 48 | #else |
49 | __sdram_base = 0xc0000000 /* base address to which SDRAM relocated */ | 49 | __sdram_base = __page_offset /* base address to which SDRAM relocated */ |
50 | #endif | 50 | #endif |
diff --git a/arch/frv/kernel/switch_to.S b/arch/frv/kernel/switch_to.S index b5275fa9cd0d..b06668670fcc 100644 --- a/arch/frv/kernel/switch_to.S +++ b/arch/frv/kernel/switch_to.S | |||
@@ -102,13 +102,6 @@ __switch_to: | |||
102 | movgs gr14,lr | 102 | movgs gr14,lr |
103 | bar | 103 | bar |
104 | 104 | ||
105 | srli gr15,#28,gr5 | ||
106 | subicc gr5,#0xc,gr0,icc0 | ||
107 | beq icc0,#0,111f | ||
108 | break | ||
109 | nop | ||
110 | 111: | ||
111 | |||
112 | # jump to __switch_back or ret_from_fork as appropriate | 105 | # jump to __switch_back or ret_from_fork as appropriate |
113 | # - move prev to GR8 | 106 | # - move prev to GR8 |
114 | movgs gr4,psr | 107 | movgs gr4,psr |