mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 10:14:23 +08:00
ed9b949f55
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>
51 lines
1.1 KiB
PHP
51 lines
1.1 KiB
PHP
/* head.inc: head common definitions -*- asm -*-
|
|
*
|
|
* Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
|
|
* Written by David Howells (dhowells@redhat.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*/
|
|
|
|
|
|
#if defined(CONFIG_MB93090_MB00)
|
|
#define LED_ADDR (0x21200000+4)
|
|
|
|
.macro LEDS val
|
|
sethi.p %hi(0xFFC00030),gr3
|
|
setlo %lo(0xFFC00030),gr3
|
|
lduh @(gr3,gr0),gr3
|
|
andicc gr3,#0x100,gr0,icc0
|
|
bne icc0,0,999f
|
|
|
|
setlos #~\val,gr3
|
|
st gr3,@(gr30,gr0)
|
|
membar
|
|
dcf @(gr30,gr0)
|
|
999:
|
|
.endm
|
|
|
|
#elif defined(CONFIG_MB93093_PDK)
|
|
#define LED_ADDR (0x20000023)
|
|
|
|
.macro LEDS val
|
|
setlos #\val,gr3
|
|
stb gr3,@(gr30,gr0)
|
|
membar
|
|
.endm
|
|
|
|
#else
|
|
#define LED_ADDR 0
|
|
|
|
.macro LEDS val
|
|
.endm
|
|
#endif
|
|
|
|
#ifdef CONFIG_MMU
|
|
__sdram_base = 0x00000000 /* base address to which SDRAM relocated */
|
|
#else
|
|
__sdram_base = __page_offset /* base address to which SDRAM relocated */
|
|
#endif
|