]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/bsd_i386.c
xnu-4903.241.1.tar.gz
[apple/xnu.git] / osfmk / i386 / bsd_i386.c
index 9b7094974e3ca591bb3e0fa832bcce736094a451..805cbc1de6dc51d6c121ae03c7b108de1794ba16 100644 (file)
@@ -26,7 +26,6 @@
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 #ifdef MACH_BSD
-#include <mach_rt.h>
 #include <mach_debug.h>
 #include <mach_ldebug.h>
 
@@ -212,7 +211,7 @@ thread_set_child(thread_t child, int pid)
 {
        pal_register_cache_state(child, DIRTY);
 
-       if (thread_is_64bit(child)) {
+       if (thread_is_64bit_addr(child)) {
                x86_saved_state64_t     *iss64;
 
                iss64 = USER_REGS64(child);
@@ -315,6 +314,12 @@ machdep_syscall(x86_saved_state_t *state)
 
        DEBUG_KPRINT_SYSCALL_MDEP("machdep_syscall: retval=%u\n", regs->eax);
 
+#if DEBUG || DEVELOPMENT
+       kern_allocation_name_t
+       prior __assert_only = thread_get_kernel_state(current_thread())->allocation_name;
+       assertf(prior == NULL, "thread_set_allocation_name(\"%s\") not cleared", kern_allocation_get_name(prior));
+#endif /* DEBUG || DEVELOPMENT */
+
        throttle_lowpri_io(1);
 
        thread_exception_return();
@@ -361,6 +366,12 @@ machdep_syscall64(x86_saved_state_t *state)
 
        DEBUG_KPRINT_SYSCALL_MDEP("machdep_syscall: retval=%llu\n", regs->rax);
 
+#if DEBUG || DEVELOPMENT
+       kern_allocation_name_t
+       prior __assert_only = thread_get_kernel_state(current_thread())->allocation_name;
+       assertf(prior == NULL, "thread_set_allocation_name(\"%s\") not cleared", kern_allocation_get_name(prior));
+#endif /* DEBUG || DEVELOPMENT */
+
        throttle_lowpri_io(1);
 
        thread_exception_return();
@@ -477,6 +488,12 @@ mach_call_munger(x86_saved_state_t *state)
 
        regs->eax = retval;
 
+#if DEBUG || DEVELOPMENT
+       kern_allocation_name_t
+       prior __assert_only = thread_get_kernel_state(current_thread())->allocation_name;
+       assertf(prior == NULL, "thread_set_allocation_name(\"%s\") not cleared", kern_allocation_get_name(prior));
+#endif /* DEBUG || DEVELOPMENT */
+
        throttle_lowpri_io(1);
 
 #if PROC_REF_DEBUG
@@ -561,6 +578,12 @@ mach_call_munger64(x86_saved_state_t *state)
                MACHDBG_CODE(DBG_MACH_EXCP_SC,(call_number)) | DBG_FUNC_END, 
                regs->rax, 0, 0, 0, 0);
 
+#if DEBUG || DEVELOPMENT
+       kern_allocation_name_t
+       prior __assert_only = thread_get_kernel_state(current_thread())->allocation_name;
+       assertf(prior == NULL, "thread_set_allocation_name(\"%s\") not cleared", kern_allocation_get_name(prior));
+#endif /* DEBUG || DEVELOPMENT */
+
        throttle_lowpri_io(1);
 
 #if PROC_REF_DEBUG
@@ -586,7 +609,7 @@ thread_setuserstack(
        mach_vm_address_t       user_stack)
 {
        pal_register_cache_state(thread, DIRTY);
-       if (thread_is_64bit(thread)) {
+       if (thread_is_64bit_addr(thread)) {
                x86_saved_state64_t     *iss64;
 
                iss64 = USER_REGS64(thread);
@@ -613,7 +636,7 @@ thread_adjuserstack(
        int             adjust)
 {
        pal_register_cache_state(thread, DIRTY);
-       if (thread_is_64bit(thread)) {
+       if (thread_is_64bit_addr(thread)) {
                x86_saved_state64_t     *iss64;
 
                iss64 = USER_REGS64(thread);
@@ -642,7 +665,7 @@ void
 thread_setentrypoint(thread_t thread, mach_vm_address_t entry)
 {
        pal_register_cache_state(thread, DIRTY);
-       if (thread_is_64bit(thread)) {
+       if (thread_is_64bit_addr(thread)) {
                x86_saved_state64_t     *iss64;
 
                iss64 = USER_REGS64(thread);
@@ -662,7 +685,7 @@ kern_return_t
 thread_setsinglestep(thread_t thread, int on)
 {
        pal_register_cache_state(thread, DIRTY);
-       if (thread_is_64bit(thread)) {
+       if (thread_is_64bit_addr(thread)) {
                x86_saved_state64_t     *iss64;
 
                iss64 = USER_REGS64(thread);
@@ -705,7 +728,6 @@ find_user_regs(thread_t thread)
 #if CONFIG_DTRACE
 /*
  * DTrace would like to have a peek at the kernel interrupt state, if available.
- * Based on osfmk/chud/i386/chud_thread_i386.c:chudxnu_thread_get_state(), which see.
  */
 x86_saved_state_t *find_kern_regs(thread_t);