1/* 2 * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28/* 29 * @OSF_COPYRIGHT@ 30 */ 31 32#ifdef PRIVATE 33 34#ifndef _MACH_PPC_SYSCALL_SW_H_ 35#define _MACH_PPC_SYSCALL_SW_H_ 36 37#include <mach/machine/asm.h> 38 39#define kernel_trap(trap_name,trap_number,number_args) \ 40ENTRY(trap_name, TAG_NO_FRAME_USED) @\ 41 li r0, trap_number @\ 42 sc @\ 43 blr 44 45#define ppc_trap(trap_name,trap_number) \ 46ENTRY(trap_name, TAG_NO_FRAME_USED) @\ 47 li r0, trap_number @\ 48 sc @\ 49 blr 50 51/* 52 * Put any definitions for PPC-only system calls in here (only if 53 * this file is being included from the one that instantiates the 54 * mach system calls). 55 * 56 * Note: PPC-only system calls are in the 0x6000 to 0x6FFF range 57 */ 58 59#ifdef _MACH_SYSCALL_SW_H_ 60 61ppc_trap(diagCall,0x6000) 62ppc_trap(vmm_get_version,0x6001) 63ppc_trap(vmm_get_features,0x6002) 64ppc_trap(vmm_init_context,0x6003) 65ppc_trap(vmm_dispatch,0x6004) 66ppc_trap(bb_enable_bluebox,0x6005) 67ppc_trap(bb_disable_bluebox,0x6006) 68ppc_trap(bb_settaskenv,0x6007) 69ppc_trap(vmm_stop_vm,0x6008) 70ppc_trap(CHUDCall,0x6009) 71ppc_trap(ppcNull,0x600A) 72ppc_trap(perfmon_control,0x600B) 73ppc_trap(ppcNullinst,0x600C) 74ppc_trap(pmsCPUCntrl,0x600D) 75#endif /* _MACH_SYSCALL_SW_H_ */ 76 77#endif /* _MACH_PPC_SYSCALL_SW_H_ */ 78 79#endif /* PRIVATE */ 80