X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/e5568f75972dfc723778653c11cb6b4dc825716a..b0d623f7f2ae71ed96e60569f61f9a9a27016e80:/osfmk/ddb/db_watch.c diff --git a/osfmk/ddb/db_watch.c b/osfmk/ddb/db_watch.c index 15271dca4..f4a740028 100644 --- a/osfmk/ddb/db_watch.c +++ b/osfmk/ddb/db_watch.c @@ -1,107 +1,33 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @APPLE_OSREFERENCE_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. + * 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. 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. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * 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@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * @OSF_COPYRIGHT@ */ -/* - * HISTORY - * - * Revision 1.1.1.1 1998/09/22 21:05:48 wsanchez - * Import of Mac OS X kernel (~semeria) - * - * Revision 1.1.1.1 1998/03/07 02:26:09 wsanchez - * Import of OSF Mach kernel (~mburg) - * - * Revision 1.1.12.2 1995/01/06 19:11:06 devrcs - * mk6 CR668 - 1.3b26 merge - * * Revision 1.1.3.5 1994/05/06 18:40:29 tmt - * Merged osc1.3dec/shared with osc1.3b19 - * Merge Alpha changes into osc1.312b source code. - * 64bit cleanup. - * * End1.3merge - * [1994/11/04 08:50:16 dwm] - * - * Revision 1.1.12.1 1994/09/23 01:22:53 ezf - * change marker to not FREE - * [1994/09/22 21:11:33 ezf] - * - * Revision 1.1.10.1 1994/01/05 19:28:22 bolinger - * Be sure to count kernel-loaded tasks as part of kernel address space - * in locating watchpoints. - * [1994/01/04 17:43:33 bolinger] - * - * Revision 1.1.3.3 1993/07/27 18:28:31 elliston - * Add ANSI prototypes. CR #9523. - * [1993/07/27 18:13:30 elliston] - * - * Revision 1.1.3.2 1993/06/02 23:13:14 jeffc - * Added to OSF/1 R1.3 from NMK15.0. - * [1993/06/02 20:57:54 jeffc] - * - * Revision 1.1 1992/09/30 02:01:33 robert - * Initial revision - * - * $EndLog$ - */ -/* CMU_HIST */ -/* - * Revision 2.7 91/10/09 16:04:32 af - * Revision 2.6.3.1 91/10/05 13:08:50 jeffreyh - * Added user space watch point support including non current task. - * Changed "map" field of db_watchpoint structure to "task" - * for a user to easily understand the target space. - * [91/08/29 tak] - * - * Revision 2.6.3.1 91/10/05 13:08:50 jeffreyh - * Added user space watch point support including non current task. - * Changed "map" field of db_watchpoint structure to "task" - * for a user to easily understand the target space. - * [91/08/29 tak] - * - * Revision 2.6 91/05/14 15:37:30 mrt - * Correcting copyright - * - * Revision 2.5 91/02/05 17:07:27 mrt - * Changed to new Mach copyright - * [91/01/31 16:20:02 mrt] - * - * Revision 2.4 91/01/08 15:09:24 rpd - * Use db_map_equal, db_map_current, db_map_addr. - * [90/11/10 rpd] - * - * Revision 2.3 90/11/05 14:26:39 rpd - * Initialize db_watchpoints_inserted to TRUE. - * [90/11/04 rpd] - * - * Revision 2.2 90/10/25 14:44:16 rwd - * Made db_watchpoint_cmd parse a size argument. - * [90/10/17 rpd] - * Generalized the watchpoint support. - * [90/10/16 rwd] - * Created. - * [90/10/16 rpd] - * - */ -/* CMU_ENDHIST */ /* * Mach Operating System * Copyright (c) 1991,1990 Carnegie Mellon University @@ -317,7 +243,7 @@ db_get_task( user_space = db_option(modif, 'T'); if (user_space) { if (db_expression(&value)) { - task = (task_t)value; + task = (task_t)(unsigned long)value; if (db_lookup_task(task) < 0) { db_printf("bad task address %X\n", task); return(-1); @@ -343,11 +269,8 @@ db_get_task( /* Delete watchpoint */ void -db_deletewatch_cmd( - db_expr_t addr, - int have_addr, - db_expr_t count, - char * modif) +db_deletewatch_cmd(db_expr_t addr, __unused boolean_t have_addr, + __unused db_expr_t count, char *modif) { task_t task; @@ -358,11 +281,8 @@ db_deletewatch_cmd( /* Set watchpoint */ void -db_watchpoint_cmd( - db_expr_t addr, - int have_addr, - db_expr_t count, - char * modif) +db_watchpoint_cmd(db_expr_t addr, __unused boolean_t have_addr, + __unused db_expr_t count, char *modif) { vm_size_t size; db_expr_t value; @@ -379,7 +299,8 @@ db_watchpoint_cmd( /* list watchpoints */ void -db_listwatch_cmd(void) +db_listwatch_cmd(__unused db_expr_t addr, __unused boolean_t have_addr, + __unused db_expr_t count, __unused char *modif) { db_list_watchpoints(); } @@ -394,8 +315,8 @@ db_set_watchpoints(void) for (watch = db_watchpoint_list; watch != 0; watch = watch->link) { map = (watch->task)? watch->task->map: kernel_map; pmap_protect(map->pmap, - trunc_page_32(watch->loaddr), - round_page_32(watch->hiaddr), + vm_map_trunc_page(watch->loaddr), + vm_map_round_page(watch->hiaddr), VM_PROT_READ); } db_watchpoints_inserted = TRUE; @@ -424,8 +345,8 @@ db_find_watchpoint( if (watch->task == task_space) { if ((watch->loaddr <= addr) && (addr < watch->hiaddr)) return (TRUE); - else if ((trunc_page_32(watch->loaddr) <= addr) && - (addr < round_page_32(watch->hiaddr))) + else if ((trunc_page(watch->loaddr) <= addr) && + (addr < round_page(watch->hiaddr))) found = watch; } }