swis.h

来自「一个简单的小型操作系统」· C头文件 代码 · 共 68 行

H
68
字号

/*****************************************************************************
 *
 * Module       : swis.h
 * Description  : this file contain the various system calls swi numbers
 *                they all operate through the SLOS SWI entry 5507
 * OS           : SLOS 0.09
 * Platform     : generic
 * History      :
 *
 * December 7th 2001 Andrew N. Sloss
 * - start creating a SWI interface to SLOS system calls
 * 
 * Note         :
 *
 *  May need to move this in to a generic header sometime.
 *
 *****************************************************************************/
 
/*****************************************************************************
 * MACROS
 *****************************************************************************/

#ifndef SLOS

/* ------------------------------------------------------------
 * SWI: SLOS (5075)
 * ------------------------------------------------------------
 */

#define SLOS 	5075

/* ------------------------------------------------------------ 
 * Device Driver SWI SLOS 
 * ------------------------------------------------------------ */

#define Event_IODeviceInit         0x800
#define Event_IODeviceOpen         Event_IODeviceInit+1
#define Event_IODeviceClose        Event_IODeviceInit+2
#define Event_IODeviceWriteByte    Event_IODeviceInit+3
#define Event_IODeviceReadByte     Event_IODeviceInit+4	
#define Event_IODeviceWriteBit     Event_IODeviceInit+5
#define Event_IODeviceReadBit      Event_IODeviceInit+6	
#define Event_IODeviceWriteBlock   Event_IODeviceInit+7
#define Event_IODeviceReadBlock    Event_IODeviceInit+8

/* ------------------------------------------------------------ 
 * Bring up SWI's
 * ------------------------------------------------------------ */

#define BringUp_Base          0x700
#define BringUp_Trace         BringUp_Base
#define BringUp_FatalError    BringUp_Base+1

/* ------------------------------------------------------------ 
 * SWI Register Structure
 * ------------------------------------------------------------ */

typedef struct SwiRegs 
{
unsigned int r[13];     /* R0 - R12 */
unsigned int cpsr;      /* spsr on entry to SWI */
unsigned int pc;        /* lr on entry to SWI */
} SwiRegs;

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?