X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0b4e3aa066abc0728aacb4bbeb86f53f9737156e..55e303ae13a4cf49d70f2294092726f2fffb9ef2:/osfmk/ppc/db_machdep.h?ds=sidebyside diff --git a/osfmk/ppc/db_machdep.h b/osfmk/ppc/db_machdep.h index 2d997f922..cde656d26 100644 --- a/osfmk/ppc/db_machdep.h +++ b/osfmk/ppc/db_machdep.h @@ -3,19 +3,22 @@ * * @APPLE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * 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. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -63,23 +66,24 @@ #include /* for thread_status */ #include #include +#include -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 - signed??? try unsigned */ -typedef struct ppc_saved_state db_regs_t; +typedef struct savearea db_regs_t; db_regs_t ddb_regs; /* register state */ #define DDB_REGS (&ddb_regs) extern int db_active; /* ddb is active */ -#define PC_REGS(regs) ((db_addr_t)(regs)->srr0) +#define PC_REGS(regs) ((db_addr_t)(regs)->save_srr0) #define BKPT_INST 0x7c810808 /* breakpoint instruction */ #define BKPT_SIZE (4) /* size of breakpoint inst */ #define BKPT_SET(inst) (BKPT_INST) -#define db_clear_single_step(regs) ((regs)->srr1 &= ~MASK(MSR_SE)) -#define db_set_single_step(regs) ((regs)->srr1 |= MASK(MSR_SE)) +#define db_clear_single_step(regs) ((regs)->save_srr1 &= ~MASK(MSR_SE)) +#define db_set_single_step(regs) ((regs)->save_srr1 |= MASK(MSR_SE)) #define IS_BREAKPOINT_TRAP(type, code) (FALSE) #define IS_WATCHPOINT_TRAP(type, code) (FALSE) @@ -100,18 +104,18 @@ int db_inst_store(unsigned long); db_phys_eq(task1,addr1,task2,addr2) #define DB_VALID_KERN_ADDR(addr) \ ((addr) >= VM_MIN_KERNEL_ADDRESS && \ - (addr) < VM_MAX_KERNEL_ADDRESS) + (addr) < vm_last_addr) #define DB_VALID_ADDRESS(addr,user) \ ((!(user) && DB_VALID_KERN_ADDR(addr)) || \ ((user) && (addr) < VM_MAX_ADDRESS)) /* - * Given pointer to ppc_saved_state, determine if it represents + * Given pointer to savearea, determine if it represents * a thread executing a) in user space, b) in the kernel, or c) * in a kernel-loaded task. Return true for cases a) and c). */ #define IS_USER_TRAP(regs) \ - (USER_MODE(regs->srr1)) + (USER_MODE(regs->save_srr1)) extern boolean_t db_check_access( vm_offset_t addr, @@ -126,10 +130,6 @@ extern db_addr_t db_disasm( db_addr_t loc, boolean_t altfmt, task_t task); -extern vm_offset_t db_kvtophys( - space_t space, - vm_offset_t va); - extern void db_read_bytes( vm_offset_t addr, int size, @@ -175,18 +175,13 @@ extern void db_task_name( extern void kdb_trap( int type, - struct ppc_saved_state *regs); + struct savearea *regs); extern boolean_t db_trap_from_asm( - struct ppc_saved_state *regs); + struct savearea *regs); extern void kdb_on( int cpu); extern void cnpollc( boolean_t on); - -extern void db_phys_copy( - vm_offset_t, - vm_offset_t, - vm_size_t); extern boolean_t db_phys_cmp( vm_offset_t,