X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/91447636331957f3d9b5ca5b508f07c526b0074d..bca245acd4c03fd752d1a45f011ad495e60fe53d:/osfmk/mach/vm_map.defs diff --git a/osfmk/mach/vm_map.defs b/osfmk/mach/vm_map.defs index 889d71416..7caa92639 100644 --- a/osfmk/mach/vm_map.defs +++ b/osfmk/mach/vm_map.defs @@ -1,23 +1,29 @@ /* * Copyright (c) 2000-2004 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_FREE_COPYRIGHT@ @@ -65,6 +71,19 @@ subsystem #include #include +#define CONCAT(a,b) a ## b +#if !KERNEL && !LIBSYSCALL_INTERFACE +#define PREFIX(NAME) CONCAT(_kernelrpc_, NAME) +#else +#define PREFIX(NAME) NAME +#endif + +#if KERNEL_SERVER +#define KERNEL_SERVER_SUFFIX(NAME) CONCAT(NAME, _external) +#else +#define KERNEL_SERVER_SUFFIX(NAME) NAME +#endif + /* * Returns information about the contents of the virtual * address space of the target task at the specified @@ -93,21 +112,33 @@ routine vm_region( * of the specified size. The address at which the * allocation actually took place is returned. */ -routine vm_allocate( + +#if !KERNEL && !LIBSYSCALL_INTERFACE +skip; +#else +routine PREFIX(KERNEL_SERVER_SUFFIX(vm_allocate))( target_task : vm_task_entry_t; inout address : vm_address_t; size : vm_size_t; flags : int); +#endif + /* * Deallocate the specified range from the virtual * address space of the target task. */ -routine vm_deallocate( + +#if !KERNEL && !LIBSYSCALL_INTERFACE +skip; +#else +routine PREFIX(vm_deallocate)( target_task : vm_task_entry_t; address : vm_address_t; size : vm_size_t); +#endif + /* * Set the current or maximum protection attribute * for the specified range of the virtual address @@ -118,12 +149,17 @@ routine vm_deallocate( * Protections are specified as a set of {read, write, execute} * *permissions*. */ -routine vm_protect( + +#if !KERNEL && !LIBSYSCALL_INTERFACE +skip; +#else +routine PREFIX(vm_protect)( target_task : vm_task_entry_t; address : vm_address_t; size : vm_size_t; set_maximum : boolean_t; new_protection : vm_prot_t); +#endif /* * Set the inheritance attribute for the specified range @@ -145,7 +181,7 @@ routine vm_inherit( * and must be a multiple of pages in extent. The * protection on the specified range must permit reading.] */ -routine vm_read( +routine PREFIX(vm_read) ( target_task : vm_map_t; address : vm_address_t; size : vm_size_t; @@ -254,7 +290,7 @@ routine vm_behavior_set( * The user-defined memory manager for this object is responsible * for further consistency.] */ -routine vm_map( +routine PREFIX(KERNEL_SERVER_SUFFIX(vm_map)) ( target_task : vm_task_entry_t; inout address : vm_address_t; size : vm_size_t; @@ -282,12 +318,12 @@ routine vm_machine_attribute( /* * Map portion of a task's address space. */ -routine vm_remap( +routine PREFIX(KERNEL_SERVER_SUFFIX(vm_remap)) ( target_task : vm_map_t; inout target_address : vm_address_t; size : vm_size_t; mask : vm_address_t; - anywhere : boolean_t; + flags : int; src_task : vm_map_t; src_address : vm_address_t; copy : boolean_t; @@ -413,7 +449,7 @@ routine mach_make_memory_entry_64( -routine vm_map_64( +routine KERNEL_SERVER_SUFFIX(vm_map_64)( target_task : vm_task_entry_t; inout address : vm_address_t; size : vm_size_t; @@ -432,7 +468,7 @@ routine vm_map_64( */ routine vm_map_get_upl( target_task : vm_map_t; - address : vm_address_t; + address : vm_map_offset_t; inout size : vm_size_t; out upl : upl_t; out page_info : upl_page_info_array_t, CountInOut; @@ -460,10 +496,15 @@ skip; /* was vm_upl_unmap */ * specified. See the routine implementation for a complete * definition of the routine. */ -routine vm_purgable_control( +routine PREFIX(vm_purgable_control) ( target_task : vm_map_t; address : vm_address_t; control : vm_purgable_t; inout state : int); +routine vm_map_exec_lockdown( + target_task : vm_map_t); + + +/* vim: set ft=c : */