Annotation of XNU/osfmk/ppc/FirmwareCalls.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
        !             3:  *
        !             4:  * @APPLE_LICENSE_HEADER_START@
        !             5:  * 
        !             6:  * The contents of this file constitute Original Code as defined in and
        !             7:  * are subject to the Apple Public Source License Version 1.1 (the
        !             8:  * "License").  You may not use this file except in compliance with the
        !             9:  * License.  Please obtain a copy of the License at
        !            10:  * http://www.apple.com/publicsource and read it before using this file.
        !            11:  * 
        !            12:  * This Original Code and all software distributed under the License are
        !            13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
        !            14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
        !            15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
        !            16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
        !            17:  * License for the specific language governing rights and limitations
        !            18:  * under the License.
        !            19:  * 
        !            20:  * @APPLE_LICENSE_HEADER_END@
        !            21:  */
        !            22: /*
        !            23:  * @OSF_FREE_COPYRIGHT@
        !            24:  */
        !            25: /*
        !            26:  * @APPLE_FREE_COPYRIGHT@
        !            27:  */
        !            28:  
        !            29: #ifdef ASSEMBLER
        !            30: 
        !            31: #ifdef _FIRMWARECALLS_H_
        !            32: #error Hey! You can only include FirmwareCalls.h in one assembler file, dude. And it should be Firmware.s!
        !            33: #else /* _FIRMWARECALLS_H_ */
        !            34: 
        !            35: /*
        !            36:  *                     Entries for all firmware calls are in here (except for call 0x80000000 - CutTrace
        !            37:  */
        !            38: 
        !            39: #define _FIRMWARECALLS_H_
        !            40: 
        !            41: #define        fwCallEnt(name, entrypt)                                                                        \
        !            42:                        .globl  name                                                            __ASMNL__       \
        !            43:                        .set    name,(.-EXT(FWtable))/4|0x80000000      __ASMNL__       \
        !            44:                        .long   EXT(entrypt)                                            __ASMNL__
        !            45:                        
        !            46: /*
        !            47:  *
        !            48:  */
        !            49:  
        !            50:                        fwCallEnt(MPgetProcCountCall, MPgetProcCountLL) /* Call the MPgetProcCount routine */
        !            51:                        fwCallEnt(MPstartCall, MPstartLL)                               /* Call the MPstart routine */
        !            52:                        fwCallEnt(MPexternalHookCall, MPexternalHookLL) /* Get the address of the external interrupt handler */
        !            53:                        fwCallEnt(MPsignalCall, MPsignalLL)                             /* Call the MPsignal routine */
        !            54:                        fwCallEnt(MPstopCall, MPstopLL)                                 /* Call the MPstop routine */
        !            55: 
        !            56:                        fwCallEnt(dbgDispCall, dbgDispLL)                               /* Write stuff to printer or modem port */
        !            57:                        fwCallEnt(dbgCkptCall, dbgCkptLL)                               /* Save 128 bytes from r3 to 0x380 V=R mapping */
        !            58:                        fwCallEnt(StoreRealCall, StoreRealLL)                   /* Save one word in real storage */
        !            59:                        fwCallEnt(ClearRealCall, ClearRealLL)                   /* Clear physical pages */
        !            60:                        fwCallEnt(LoadDBATsCall, xLoadDBATsLL)                  /* Load all DBATs */
        !            61:                        fwCallEnt(LoadIBATsCall, xLoadIBATsLL)                  /* Load all IBATs */
        !            62:                        fwCallEnt(DoPreemptCall, DoPreemptLL)                   /* Preempt if need be */
        !            63:                        fwCallEnt(CreateFakeIOCall, CreateFakeIOLL)             /* Make a fake I/O interruption */
        !            64:                        fwCallEnt(SwitchContextCall, SwitchContextLL)   /* Switch context */
        !            65:                        fwCallEnt(Choke, DoChokeLL)                                             /* Choke (system crash) */
        !            66:                        fwCallEnt(dbgRegsCall, dbgRegsLL)                               /* Dumps all registers */
        !            67:                        fwCallEnt(CreateFakeDECCall, CreateFakeDECLL)   /* Make a fake decrementer interruption */
        !            68: #if PERF_HIST
        !            69:                        fwCallEnt(PerfCtlCall, PerfCtlLL)                               /* Control performance monitor */
        !            70: #endif
        !            71: 
        !            72: #if 0
        !            73:                        fwCallEnt(MPCPUAddressCall, 0)                                  /* Call the MPCPUAddress routine */
        !            74:                        fwCallEnt(MPresumeCall, 0)                                              /* Call the MPresume routine */
        !            75:                        fwCallEnt(MPresetCall, 0)                                               /* Call the MPreset routine */
        !            76:                        fwCallEnt(MPSenseCall, 0)                                               /* Call the MPSense routine */
        !            77:                        fwCallEnt(MPstoreStatusCall, 0)                                 /* Call the MPstoreStatus routine */
        !            78:                        fwCallEnt(MPSetStatusCall, 0)                                   /* Call the MPSetStatus routine */
        !            79:                        fwCallEnt(MPgetSignalCall, 0)                                   /* Call the MPgetSignal routine */
        !            80:                        fwCallEnt(MPsyncTBCall, 0)                                              /* Call the MPsyncTB routine */
        !            81:                        fwCallEnt(MPcheckPendingCall, 0)                                /* Call the MPcheckPending routine */
        !            82: #endif 
        !            83: #endif /* _FIRMWARECALLS_H_ */
        !            84: 
        !            85: #else /* ASSEMBLER */
        !            86:        
        !            87: /*
        !            88:  *                     The firmware function headers
        !            89:  */
        !            90: extern void                    CutTrace                (unsigned int item1, ...);
        !            91: 
        !            92: #endif /* ASSEMBLER */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.