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  * 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(dbgDispCall, dbgDispLL)                               /* Write stuff to printer or modem port */
   51                         fwCallEnt(dbgCkptCall, dbgCkptLL)                               /* Save 128 bytes from r3 to 0x380 V=R mapping */
   52                         fwCallEnt(StoreRealCall, StoreRealLL)                   /* Save one word in real storage */
   53                         fwCallEnt(ClearRealCall, ClearRealLL)                   /* Clear physical pages */
   54                         fwCallEnt(LoadDBATsCall, xLoadDBATsLL)                  /* Load all DBATs */
   55                         fwCallEnt(LoadIBATsCall, xLoadIBATsLL)                  /* Load all IBATs */
   56                         fwCallEnt(DoPreemptCall, DoPreemptLL)                   /* Preempt if need be */
   57                         fwCallEnt(CreateFakeIOCall, CreateFakeIOLL)             /* Make a fake I/O interruption */
   58                         fwCallEnt(SwitchContextCall, SwitchContextLL)   /* Switch context */
   59                         fwCallEnt(Choke, DoChokeLL)                                             /* Choke (system crash) */
   60                         fwCallEnt(dbgRegsCall, dbgRegsLL)                               /* Dumps all registers */
   61                         fwCallEnt(CreateFakeDECCall, CreateFakeDECLL)   /* Make a fake decrementer interruption */
   62                         fwCallEnt(CreateShutdownCTXCall, CreateShutdownCTXLL)   /* create a shutdown context */
   63                         fwCallEnt(NullCall, NullLL)                                             /* Null Firmware call */
   64                         fwCallEnt(iNullCall, iNullLL)                                   /* Instrumented null Firmware call */
   65 
   66 #endif  /* _FIRMWARECALLS_H_ */
   67 
   68 #else /* ASSEMBLER */
   69         
   70 /*
   71  *                      The firmware function headers
   72  */
   73 extern void                     CutTrace                (unsigned int item1, ...);
   74 
   75 #endif /* ASSEMBLER */

Cache object: bddb2e72122cf907498d1580e63576ba


[ 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.