/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_LICENSE_OSREFERENCE_HEADER_START@
*
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
- *
- * 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
+ * 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.
+ *
+ * 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, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
+ *
+ * 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, 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_LICENSE_OSREFERENCE_HEADER_END@
*/
/*
* @OSF_COPYRIGHT@
#include <mach/vm_param.h>
#include <mach/std_types.h>
#include <mach/mach_types.h>
-#include <mach/mach_host_server.h> /* prototype */
+#include <mach/host_priv_server.h> /* prototype */
#if MACH_KDB && MACH_DEBUG
#include <vm/vm_map.h>
* Loads a symbol table for an external file into the kernel debugger.
* The symbol table data is an array of characters. It is assumed that
* the caller and the kernel debugger agree on its format.
+
+ * This has never and will never be supported on MacOS X. The only reason I don't remove
+ * it entirely is that it is an exported symbol.
*/
kern_return_t
host_load_symbol_table(
- host_priv_t host_priv,
- task_t task,
- char * name,
- pointer_t symtab,
- mach_msg_type_number_t symtab_count)
+ __unused host_priv_t host_priv,
+ __unused task_t task,
+ __unused char * name,
+ __unused pointer_t symtab,
+ __unused mach_msg_type_number_t symtab_count)
{
-#if !MACH_DEBUG || !MACH_KDB
return KERN_FAILURE;
-#else
- kern_return_t result;
- vm_offset_t symtab_start;
- vm_offset_t symtab_end;
- vm_map_t map;
- vm_map_copy_t symtab_copy_object;
-
- if (host_priv == HOST_PRIV_NULL)
- return (KERN_INVALID_ARGUMENT);
-
- /*
- * Copy the symbol table array into the kernel.
- * We make a copy of the copy object, and clear
- * the old one, so that returning error will not
- * deallocate the data twice.
- */
- symtab_copy_object = (vm_map_copy_t) symtab;
- result = vm_map_copyout(
- kernel_map,
- &symtab_start,
- vm_map_copy_copy(symtab_copy_object));
- if (result != KERN_SUCCESS)
- return (result);
-
- symtab_end = symtab_start + symtab_count;
-
- /*
- * Add the symbol table.
- * Do not keep a reference for the task map. XXX
- */
- if (task == TASK_NULL)
- map = VM_MAP_NULL;
- else
- map = task->map;
- if (!X_db_sym_init((char *)symtab_start,
- (char *)symtab_end,
- name,
- (char *)map))
- {
- /*
- * Not enough room for symbol table - failure.
- */
- (void) vm_deallocate(kernel_map,
- symtab_start,
- symtab_count);
- return (KERN_FAILURE);
- }
-
- /*
- * Wire down the symbol table
- */
- (void) vm_map_wire(kernel_map,
- symtab_start,
- round_page(symtab_end),
- VM_PROT_READ|VM_PROT_WRITE, FALSE);
-
- /*
- * Discard the original copy object
- */
- vm_map_copy_discard(symtab_copy_object);
-
- return (KERN_SUCCESS);
-#endif /* MACH_DEBUG && MACH_KDB */
}