]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ddb/db_watch.c
xnu-1456.1.26.tar.gz
[apple/xnu.git] / osfmk / ddb / db_watch.c
index 513ebbb48c63997ec540fa1c00a22bc02c595fca..f4a7400288313ee1e695ef6bfd5cff1b9c247c5e 100644 (file)
 /*
- * 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(watch->loaddr),
-                            round_page(watch->hiaddr),
+                            vm_map_trunc_page(watch->loaddr),
+                            vm_map_round_page(watch->hiaddr),
                             VM_PROT_READ);
            }
            db_watchpoints_inserted = TRUE;