aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-05-30 02:27:46 -0400
committerKyle McMartin <kyle@minerva.i.cabal.ca>2007-05-30 02:27:46 -0400
commit376e210b71d7736775f43f32c5c7712f90aaf59a (patch)
tree2211ea5babfcd554bc47e64864bf3835e30db63a /arch/parisc/kernel
parentcb9577958d85896303561d9cc8544885deb272be (diff)
[PARISC] fix "reduce size of task_struct on 64-bit machines" fallout
Amazingly, parisc was the only arch effected by this... Convert register-sized loads/stores to always be 32-bit for these fields. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel')
-rw-r--r--arch/parisc/kernel/entry.S5
-rw-r--r--arch/parisc/kernel/syscall.S2
2 files changed, 3 insertions, 4 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 98ae563a0905..42598abf4576 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -2019,10 +2019,9 @@ ENTRY(syscall_exit)
2019 STREG %r28,TASK_PT_GR28(%r1) 2019 STREG %r28,TASK_PT_GR28(%r1)
2020 2020
2021#ifdef CONFIG_HPUX 2021#ifdef CONFIG_HPUX
2022
2023/* <linux/personality.h> cannot be easily included */ 2022/* <linux/personality.h> cannot be easily included */
2024#define PER_HPUX 0x10 2023#define PER_HPUX 0x10
2025 LDREG TASK_PERSONALITY(%r1),%r19 2024 ldw TASK_PERSONALITY(%r1),%r19
2026 2025
2027 /* We can't use "CMPIB<> PER_HPUX" since "im5" field is sign extended */ 2026 /* We can't use "CMPIB<> PER_HPUX" since "im5" field is sign extended */
2028 ldo -PER_HPUX(%r19), %r19 2027 ldo -PER_HPUX(%r19), %r19
@@ -2081,7 +2080,7 @@ syscall_restore:
2081 /* Are we being ptraced? */ 2080 /* Are we being ptraced? */
2082 LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 2081 LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1
2083 2082
2084 LDREG TASK_PTRACE(%r1), %r19 2083 ldw TASK_PTRACE(%r1), %r19
2085 bb,< %r19,31,syscall_restore_rfi 2084 bb,< %r19,31,syscall_restore_rfi
2086 nop 2085 nop
2087 2086
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index 4603032d56ef..91b2a48b1921 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -181,7 +181,7 @@ linux_gateway_entry:
181 /* Are we being ptraced? */ 181 /* Are we being ptraced? */
182 mfctl %cr30, %r1 182 mfctl %cr30, %r1
183 LDREG TI_TASK(%r1),%r1 183 LDREG TI_TASK(%r1),%r1
184 LDREG TASK_PTRACE(%r1), %r1 184 ldw TASK_PTRACE(%r1), %r1
185 bb,<,n %r1,31,.Ltracesys 185 bb,<,n %r1,31,.Ltracesys
186 186
187 /* Note! We cannot use the syscall table that is mapped 187 /* Note! We cannot use the syscall table that is mapped