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

📄 page.h

📁 南京航空航天大学开发的一个类Unix和Linux的操作系统,好不好看看就知道了,
💻 H
字号:
#ifndef	_ASMPAGE_H#define _ASMPAGE_H#define PAGESIZE 4096#define PAGEBITS 12#define PAGE0011 (PAGESIZE - 1)#define PAGE1100 (~PAGE0011)/* round page up/down */#define cast(type, value) ((type)(value))#define pageup(addr) \cast(typeof(addr), (cast(ulong, addr) + PAGESIZE - 1) & PAGE1100)#define pagedown(addr) cast(typeof(addr), cast(ulong, addr) & PAGE1100)#define pagemul(addr) cast(typeof(addr), cast(ulong, addr) << PAGEBITS)#define pagediv(addr) cast(typeof(addr), cast(ulong, addr) >> PAGEBITS)#define pagemod(addr) cast(typeof(addr), cast(ulong, addr) & PAGE0011) #if 0#define pageup(addr) (((ulong)(addr) + PAGESIZE - 1) & PAGE1100)#define pagedown(addr) ((ulong)(addr) & PAGE1100)#define pagemul(addr) ((ulong)(addr) << PAGEBITS)#define pagediv(addr) ((ulong)(addr) >> PAGEBITS)#define pagemod(addr) ((ulong)(addr) & PAGE0011)#endif#define clearpage(addr) memset((void*)addr,0,PAGESIZE)/* PDECOVERED determines what a third-level page table entry can map */#define PDECOVERED (1UL<<22)extern inline int pdeidx(ulong vaddr){	return (vaddr >> 22);}extern inline int pteidx(ulong vaddr){	return (vaddr >> 12) & 1023; }#endif

⌨️ 快捷键说明

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