Author: imp
Date: Sat Feb  5 03:30:29 2011
New Revision: 218310
URL: http://svn.freebsd.org/changeset/base/218310

Log:
  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...

Modified:
  head/sys/arm/arm/sys_machdep.c
  head/sys/arm/arm/vm_machdep.c
  head/sys/arm/include/proc.h

Modified: head/sys/arm/arm/sys_machdep.c
==============================================================================
--- head/sys/arm/arm/sys_machdep.c      Sat Feb  5 03:15:28 2011        
(r218309)
+++ head/sys/arm/arm/sys_machdep.c      Sat Feb  5 03:30:29 2011        
(r218310)
@@ -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);
 }
 

Modified: head/sys/arm/arm/vm_machdep.c
==============================================================================
--- head/sys/arm/arm/vm_machdep.c       Sat Feb  5 03:15:28 2011        
(r218309)
+++ head/sys/arm/arm/vm_machdep.c       Sat Feb  5 03:30:29 2011        
(r218310)
@@ -146,7 +146,7 @@ cpu_fork(register struct thread *td1, re
        /* 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
 {
 
        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);

Modified: head/sys/arm/include/proc.h
==============================================================================
--- head/sys/arm/include/proc.h Sat Feb  5 03:15:28 2011        (r218309)
+++ head/sys/arm/include/proc.h Sat Feb  5 03:30:29 2011        (r218310)
@@ -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;
 };
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to