|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.