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

📄 mm.h

📁 用于汇编领域的,运用于OS的MAIN函数.基于硬件基础的源代码
💻 H
字号:
#define PGSIZE (4*1024)  // 4K byte page#define MAXPGFRAME 1024 // handle upto 4M RAM which is 1K page frames  #define MAXDIR 1024 // max num of dir's per process. each dir can cover                    // 1024 pages, and 1024 directories cover 4G addr space. 					// Each directory can cover 1024*4K byte, that is					// 4M byte. Since we use only 4M Ram, only dir 0 will					// be active always.#define MAXFRAME 1024 // max frames per page directory. each directory can                       // cover 1024 frame locations#define USER_PAGE 512 // page num where user process locates#define USER_PROCESS_LOCATION 0x200000 //virtual addr for user process#define mloc(x)  ((x) & 0xfffff000) //mask out flag bits to get memory location                                // of directory/page table entry// following is taken from linux#define __flush_tlb() \    do {  \      unsigned int tmpreg;   \	  __asm__ __volatile__(  \		 "movl %%cr3, %0;  # flush TLB \n" \		 "movl %0, %%cr3;              \n" \		 : "=r" (tmpreg)  \		 :: "memory"); \	} while (0)/*#define __flush_tlb_global() \    do {  \      unsigned int tmpreg;   \	  __asm__ __volatile__(  \	     "movl %1, %%cr4;  # turn off PGE \n" \		 "movl %%cr3, %0;  # flush TLB \n" \		 "movl %0, %%cr3;              \n" \		 "movl %2, %%cr4;  # turn PGE back on \n" \		 : "=&r" (tmpreg)  \		 : "r" (mmu_cr4_features & ~X86_CR4_PGE), \		   "r" (mmu_cr4_features)  \		   : "memory"); \	} while (0)*/struct mm_struct{   unsigned long *pgdir;};struct vm_area_struct { //VMA   struct mm_struct * vm_mm;   unsigned long vm_start;   unsigned long vm_end;   struct vm_are_struct *vm_next;};struct page{ // 32 byte descriptor for each page frame   int count; // 0 means free page frame   struct page *next;    struct page *prev;   unsigned long index;    int d1,d2,d3,d4; // padding};extern struct page mem_map[];   

⌨️ 快捷键说明

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