The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/osfmk/ppc/FirmwareCalls.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
    7  * 
    8  * This file contains Original Code and/or Modifications of Original Code
    9  * as defined in and that are subject to the Apple Public Source License
   10  * Version 2.0 (the 'License'). You may not use this file except in
   11  * compliance with the License. Please obtain a copy of the License at
   12  * http://www.opensource.apple.com/apsl/ and read it before using this
   13  * file.
   14  * 
   15  * The Original Code and all software distributed under the License are
   16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   20  * Please see the License for the specific language governing rights and
   21  * limitations under the License.
   22  * 
   23  * @APPLE_LICENSE_HEADER_END@
   24  */
   25 /*
   26  * @OSF_FREE_COPYRIGHT@
   27  */
   28 /*
   29  * @APPLE_FREE_COPYRIGHT@
   30  */
   31  
   32 #ifdef ASSEMBLER
   33 
   34 #ifdef _FIRMWARECALLS_H_
   35 #error Hey! You can only include FirmwareCalls.h in one assembler file, dude. And it should be Firmware.s!
   36 #else /* _FIRMWARECALLS_H_ */
   37 
   38 /*
   39  *                      Entries for all firmware calls are in here (except for call 0x80000000 - CutTrace
   40  */
   41 
   42 #define _FIRMWARECALLS_H_
   43 
   44 #define fwCallEnt(name, entrypt)                                                                        \
   45                         .globl  name                                                            __ASMNL__       \
   46                         .set    name,(.-EXT(FWtable))/4|0x80000000      __ASMNL__       \
   47                         .long   EXT(entrypt)                                            __ASMNL__
   48                         
   49 /*
   50  *
   51  */
   52  
   53                         fwCallEnt(dbgDispCall, dbgDispLL)                               /* Write stuff to printer or modem port */
   54                         fwCallEnt(dbgCkptCall, dbgCkptLL)                               /* Save 128 bytes from r3 to 0x380 V=R mapping */
   55                         fwCallEnt(StoreRealCall, StoreRealLL)                   /* Save one word in real storage */
   56                         fwCallEnt(ClearRealCall, ClearRealLL)                   /* Clear physical pages */
   57                         fwCallEnt(LoadDBATsCall, xLoadDBATsLL)                  /* Load all DBATs */
   58                         fwCallEnt(LoadIBATsCall, xLoadIBATsLL)                  /* Load all IBATs */
   59                         fwCallEnt(DoPreemptCall, DoPreemptLL)                   /* Preempt if need be */
   60                         fwCallEnt(CreateFakeIOCall, CreateFakeIOLL)             /* Make a fake I/O interruption */
   61                         fwCallEnt(SwitchContextCall, SwitchContextLL)   /* Switch context */
   62                         fwCallEnt(Choke, DoChokeLL)                                             /* Choke (system crash) */
   63                         fwCallEnt(dbgRegsCall, dbgRegsLL)                               /* Dumps all registers */
   64                         fwCallEnt(CreateFakeDECCall, CreateFakeDECLL)   /* Make a fake decrementer interruption */
   65                         fwCallEnt(CreateShutdownCTXCall, CreateShutdownCTXLL)   /* create a shutdown context */
   66                         fwCallEnt(NullCall, NullLL)                                             /* Null Firmware call */
   67                         fwCallEnt(iNullCall, iNullLL)                                   /* Instrumented null Firmware call */
   68 
   69 #endif  /* _FIRMWARECALLS_H_ */
   70 
   71 #else /* ASSEMBLER */
   72         
   73 /*
   74  *                      The firmware function headers
   75  */
   76 extern void                     CutTrace                (unsigned int item1, ...);
   77 
   78 #endif /* ASSEMBLER */

Cache object: 07ccae2fbf776857d233a1e53cfd4f80


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.