diff options
author | imp <imp@FreeBSD.org> | 2011-02-05 03:30:29 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2011-02-05 03:30:29 +0000 |
commit | e6672e4eca0cb9a8b95bf8a5ee80a4011543297f (patch) | |
tree | 0dfd0768d3e7e017520885e4eda9fdc94ab9bf45 /sys/arm | |
parent | 95ad413d4a493285a5560182fb10217819d7c357 (diff) | |
download | FreeBSD-src-e6672e4eca0cb9a8b95bf8a5ee80a4011543297f.zip FreeBSD-src-e6672e4eca0cb9a8b95bf8a5ee80a4011543297f.tar.gz |
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...
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/sys_machdep.c | 4 | ||||
-rw-r--r-- | sys/arm/arm/vm_machdep.c | 6 | ||||
-rw-r--r-- | sys/arm/include/proc.h | 2 |
3 files changed, 6 insertions, 6 deletions
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; }; |