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 |
