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

📄 kernel.h

📁 一个用于学习的操作系统
💻 H
字号:
/*文件名: kernel.h  说明:  作者:   marsinfan  日期:   2005/12/07*/#ifndef _LINUX_KERNEL_H#define _LINUX_KERNEL_H#include <fairysky/types.h>#define PARAMS 0x0500typedef struct params_info {    u8 cusor_x;         //光标位置    u8 cusor_y;         //光标位置    u8 mem_size;        //物理内存大小,已转化为M    u8 nouse1;    u8 display_page;    //当前显示页面    u8 nouse2;    u8 video_mode;      //显示模式    u8 window_width;    //字符列数    s16 nouse3;    u8 vidio_mem_size;  //显示内存    u8 display_stat;    //显示状态    s16 vidio_param;    //显卡特性参数    u8 BIOS[32];        //硬盘参数表    s16 DEV_ROOT;       //根文件系统设备号}__attribute__((packed)) PARAMS_INFO;extern PARAMS_INFO *pparams;/* * 'kernel.h' contains some often-used function prototypes etc */#define PAGE_OFFSET  0xC0000000   //进行分页后,内核所在的虚拟地址//虚拟地址转化为物理地址#define vaddr_to_paddr(vaddr) \    ((addr_t)(vaddr) - PAGE_OFFSET)//物理地址转化为虚拟地址#define paddr_to_vaddr(paddr) \    ((addr_t)((paddr) + PAGE_OFFSET))//物理地址转化为页面索引#define paddr_to_index(paddr) \    ((paddr) >> 12)//页面索引转化为物理地址#define index_to_paddr(index) \    ((index) << 12)//页面索引转化为虚拟地址#define index_to_vaddr(index)  \    (paddr_to_vaddr(index_to_paddr(index)))//虚拟地址转化为页面索引#define vaddr_to_index(vaddr)  \    (paddr_to_index(vaddr_to_paddr(vaddr)))void verify_area(void * addr, size_t size);//volatile void do_exit(long error_code);int printk(const char *fmt, ...);void print_hex(void *buf, size_t count);extern int panic(const char *s);extern int sprintf(char *str, const char *fmt, ...);//void * malloc(unsigned int size);//void free_s(void * obj, int size);//#define free(x) free_s((x), 0)/* * This is defined as a macro, but at some point this might become a * real subroutine that sets a flag if it returns true (to do * BSD-style accounting where the process is flagged if it uses root * privs).  The implication of this is that you should do normal * permissions checks first, and check suser() last. *///#define suser() (current->euid == 0)#endif

⌨️ 快捷键说明

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