From e6672e4eca0cb9a8b95bf8a5ee80a4011543297f Mon Sep 17 00:00:00 2001 From: imp Date: Sat, 5 Feb 2011 03:30:29 +0000 Subject: Make md_tp a register_t not a void *. This will keep us from accidentally dereferencng it and might be one fewer things to change if arm64 happens... Submitted by: rwatson's question on irc... --- sys/arm/arm/sys_machdep.c | 4 ++-- sys/arm/arm/vm_machdep.c | 6 +++--- sys/arm/include/proc.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'sys/arm') diff --git a/sys/arm/arm/sys_machdep.c b/sys/arm/arm/sys_machdep.c index b7b5285..1dd8677 100644 --- a/sys/arm/arm/sys_machdep.c +++ b/sys/arm/arm/sys_machdep.c @@ -85,7 +85,7 @@ static int arm32_set_tp(struct thread *td, void *args) { - td->td_md.md_tp = args; + td->td_md.md_tp = (register_t)args; return (0); } @@ -93,7 +93,7 @@ static int arm32_get_tp(struct thread *td, void *args) { - td->td_retval[0] = (uint32_t)td->td_md.md_tp; + td->td_retval[0] = td->td_md.md_tp; return (0); } diff --git a/sys/arm/arm/vm_machdep.c b/sys/arm/arm/vm_machdep.c index 05015e9..3ff111c 100644 --- a/sys/arm/arm/vm_machdep.c +++ b/sys/arm/arm/vm_machdep.c @@ -146,7 +146,7 @@ cpu_fork(register struct thread *td1, register struct proc *p2, /* Setup to release spin count in fork_exit(). */ td2->td_md.md_spinlock_count = 1; td2->td_md.md_saved_cspr = 0; - td2->td_md.md_tp = *(uint32_t **)ARM_TP_ADDRESS; + td2->td_md.md_tp = *(register_t *)ARM_TP_ADDRESS; } void @@ -370,10 +370,10 @@ cpu_set_user_tls(struct thread *td, void *tls_base) { if (td != curthread) - td->td_md.md_tp = tls_base; + td->td_md.md_tp = (register_t)tls_base; else { critical_enter(); - *(void **)ARM_TP_ADDRESS = tls_base; + *(register_t *)ARM_TP_ADDRESS = (register_t)tls_base; critical_exit(); } return (0); diff --git a/sys/arm/include/proc.h b/sys/arm/include/proc.h index 0885744..7032be5 100644 --- a/sys/arm/include/proc.h +++ b/sys/arm/include/proc.h @@ -50,7 +50,7 @@ struct mdthread { register_t md_saved_cspr; /* (k) */ int md_ptrace_instr; int md_ptrace_addr; - void *md_tp; + register_t md_tp; void *md_ras_start; void *md_ras_end; }; -- cgit v1.1