Annotation of XNU/osfmk/ppc/FirmwareCalls.h, revision 1.1.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.