summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2011-02-05 03:30:29 +0000
committerimp <imp@FreeBSD.org>2011-02-05 03:30:29 +0000
commite6672e4eca0cb9a8b95bf8a5ee80a4011543297f (patch)
tree0dfd0768d3e7e017520885e4eda9fdc94ab9bf45 /sys/arm
parent95ad413d4a493285a5560182fb10217819d7c357 (diff)
downloadFreeBSD-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.c4
-rw-r--r--sys/arm/arm/vm_machdep.c6
-rw-r--r--sys/arm/include/proc.h2
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;
};
OpenPOWER on IntegriCloud