mem.h

来自「别人的根据linux0.11改的一个小的操作系统」· C头文件 代码 · 共 36 行

H
36
字号
/* 
 * mem.h
 *
 * it is no used in this version.
 */
#ifndef _MEM_H
#define _MEM_H

#define invalidate()\
	asm(\
		"movl	$0x0000,%%eax;"\
		"movl	%%eax,%%cr3;"\
		::)
		
#define copy_page(from,to)\
	asm(\
		"movl	%0,%%esi;"\
		"movl	%1,%%edi;"\
		"movl	$1024,%%ecx;"\
		"cld;"\
		"rep;"\
		"movsl"\
		::"r"(from),"r"(to)
		:"%%ecx","%%edi","%%esi")

unsigned long get_free_page(void);
void free_page(unsigned long);
int free_page_tables(unsigned long,unsigned long);
int copy_page_tables(unsigned long,unsigned long,long);
unsigned long put_page(unsigned long,unsigned long);
void un_wp_page(unsigned long *);
void do_wp_page(unsigned long,unsigned long);
void write_verify(unsigned long);
void do_no_page(unsigned long,unsigned long);
void calculate_mem(void);
#endif

⌨️ 快捷键说明

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