⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osenv.h

📁 最近在國外網站抓到的作業系統 以Arm為基礎去開發的
💻 H
字号:
#ifndef __OS_ENV__
#define __OS_ENV__

/* *******************************************************************   */
/* constant definition                                                   */
/* *******************************************************************   */
#define KS_CONSTANT const
#define KS_FAR

#define tc_memset(A,B,C)        memset((A), (B), (C))
#define tc_movebytes(A,B,C)     memcpy((A), (B), (C))
#define tc_comparen(A,B,C)      (memcmp((A), (B), (C))==0)
#define tc_memchr(str,chr,len)  memchr(str, chr, len)

typedef volatile unsigned char * IOADDRESS; /* Memory mapped IO */

#define ARGSUSED_PVOID(x)  argsused_pvoid((PFVOID)x);
#define ARGSUSED_INT(x)    argsused_int((int)x);


/* *******************************************************************   */
/* ********************************************************************  */
/* I/O MACROS                                                            */
/* *******************************************************************   */
/* ********************************************************************  */
/* Rep in and rep out routines. The code is in osenv.c, only needed
   by device drivers. */
void insw(IOADDRESS ioaddr, unsigned short KS_FAR * dst, int n);
void insb(IOADDRESS ioaddr, unsigned char KS_FAR * dst, int n);
void outsw(IOADDRESS ioaddr, unsigned short KS_FAR * src, int n);
void outsb(IOADDRESS ioaddr, KS_CONSTANT unsigned char KS_FAR * src, int n);

#define OUTBYTE(ADD, VAL) (*(volatile unsigned char *) (ADD)) = (unsigned char)(VAL)
#define OUTWORD(ADD, VAL) (*(volatile unsigned short *)(ADD)) = (unsigned short)(VAL)
#define INBYTE(ADD)       (*(volatile unsigned char *) (ADD))
#define INWORD(ADD)       (*(volatile unsigned short *)(ADD))


#endif  /* __OS_ENV__ */

⌨️ 快捷键说明

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