diff options
author | raj <raj@FreeBSD.org> | 2008-02-05 10:22:33 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2008-02-05 10:22:33 +0000 |
commit | a6d33e31649c175889ccaf55a0bf9374041e2667 (patch) | |
tree | 26cb5987a5c7544a3bc7975b6c1134fe1a52d180 /sys/arm/arm/swtch.S | |
parent | a2636de674ca0feb2c4a25f90808e99029868d14 (diff) | |
download | FreeBSD-src-a6d33e31649c175889ccaf55a0bf9374041e2667.zip FreeBSD-src-a6d33e31649c175889ccaf55a0bf9374041e2667.tar.gz |
Improve ARM_TP_ADDRESS and RAS area.
De-hardcode usage of ARM_TP_ADDRESS and RAS local storage, and move this
special purpose page to a more convenient place i.e. after the vectors high
page, more towards the end of address space. Previous location (0xe000_0000)
caused grief if KVA was to go beyond the default limit.
Note that ARM world rebuilding is required after this change since the
location of ARM_TP_ADDRESS is shared between kernel and userland.
Submitted by: Grzegorz Bernacki (gjb AT semihalf dot com)
Reviewed by: imp
Approved by: cognet (mentor)
Diffstat (limited to 'sys/arm/arm/swtch.S')
-rw-r--r-- | sys/arm/arm/swtch.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/swtch.S b/sys/arm/arm/swtch.S index 5d59f99..77703a2 100644 --- a/sys/arm/arm/swtch.S +++ b/sys/arm/arm/swtch.S @@ -205,7 +205,7 @@ ENTRY(cpu_throw) /* Set the new tp */ ldr r6, [r5, #(TD_MD + MD_TP)] - mov r5, #ARM_TP_ADDRESS + ldr r5, =ARM_TP_ADDRESS strt r6, [r5] /* Hook in a new pcb */ @@ -263,7 +263,7 @@ ENTRY(cpu_switch) * them for the new process. */ /* Store the old tp */ - mov r3, #ARM_TP_ADDRESS + ldr r3, =ARM_TP_ADDRESS ldrt r9, [r3] str r9, [r0, #(TD_MD + MD_TP)] |