]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/db_machdep.h
xnu-1228.7.58.tar.gz
[apple/xnu.git] / osfmk / i386 / db_machdep.h
index 41b2efbf02352605f4b926397a6ba0eed1b45067..fda25c022cfb7f20a8a50a441f820c365caff1c6 100644 (file)
@@ -1,14 +1,19 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -18,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * @OSF_COPYRIGHT@
 #include <i386/thread.h>               /* for thread_status */
 #include <i386/eflags.h>
 #include <i386/trap.h>
+#include <i386/pmCPU.h>
+#include <i386/hpet.h>
 
-typedef        vm_offset_t     db_addr_t;      /* address - unsigned */
-typedef        int             db_expr_t;      /* expression - signed */
+typedef        addr64_t        db_addr_t;      /* address - unsigned */
+typedef        uint64_t        db_expr_t;      /* expression */
 
-typedef struct i386_saved_state db_regs_t;
+typedef struct x86_saved_state32 db_regs_t;
 db_regs_t      ddb_regs;       /* register state */
 #define        DDB_REGS        (&ddb_regs)
 extern int     db_active;      /* ddb is active */
@@ -108,9 +115,7 @@ int db_inst_store(unsigned long);
        db_check_access(addr,size,task)
 #define DB_PHYS_EQ(task1,addr1,task2,addr2)                    \
        db_phys_eq(task1,addr1,task2,addr2)
-#define DB_VALID_KERN_ADDR(addr)                               \
-       ((addr) >= VM_MIN_KERNEL_ADDRESS &&                     \
-        (addr) < VM_MAX_KERNEL_ADDRESS)
+#define DB_VALID_KERN_ADDR(addr)               (1)
 #define DB_VALID_ADDRESS(addr,user)                            \
        ((!(user) && DB_VALID_KERN_ADDR(addr)) ||               \
         ((user) && (addr) < VM_MAX_ADDRESS))
@@ -155,6 +160,22 @@ extern void                db_reboot(
                                db_expr_t       count,
                                char            *modif);
 
+extern void db_display_kmod(db_expr_t addr, boolean_t have_addr,
+                           db_expr_t count, char *modif);
+extern void db_display_real(db_expr_t addr, boolean_t have_addr,
+                           db_expr_t count, char *modif);
+extern void db_display_iokit(db_expr_t addr, boolean_t have_addr,
+                            db_expr_t count, char * modif);
+extern void db_cpuid(db_expr_t addr, boolean_t have_addr, db_expr_t count,
+                    char *modif);
+extern void db_msr(db_expr_t addr, boolean_t have_addr, db_expr_t count,
+                  char *modif);
+extern void db_apic(db_expr_t addr, boolean_t have_addr, db_expr_t count,
+                   char *modif);
+extern void db_display_hpet(hpetReg_t *);
+extern void db_hpet(db_expr_t addr, boolean_t have_addr, db_expr_t count,
+                   char *modif);
+
 /* macros for printing OS server dependent task name */
 
 #define DB_TASK_NAME(task)     db_task_name(task)
@@ -167,21 +188,25 @@ extern void               db_task_name(
 
 /* macro for checking if a thread has used floating-point */
 
-#define db_act_fp_used(act)    (act && act->machine.pcb->ims.ifps)
+#define db_act_fp_used(act)    (act && act->machine.pcb->ifps)
 
 extern void            db_tss_to_frame(
                                int                     tss_sel,
-                               struct i386_saved_state *regs);
+                               x86_saved_state32_t     *regs);
 extern int             kdb_trap(
                                int                     type,
                                int                     code,
-                               struct i386_saved_state *regs);
+                               x86_saved_state32_t     *regs);
 extern boolean_t       db_trap_from_asm(
-                               struct i386_saved_state *regs);
-extern int             dr6(void);
+                               x86_saved_state32_t *regs);
 extern void            kdb_on(
                                int                     cpu);
-extern void            cnpollc(
-                               boolean_t               on);
+
+#if MACH_KDB
+extern void db_getpmgr(pmData_t *pmj);
+extern void db_chkpmgr(void);
+#endif /* MACH_KDB */
+extern void db_pmgr(db_expr_t addr, int have_addr, db_expr_t count, char * modif);
+extern void db_nap(db_expr_t addr, int have_addr, db_expr_t count, char * modif);
 
 #endif /* _I386_DB_MACHDEP_H_ */