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

📄 write.c

📁 os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm os arm
💻 C
字号:
#include "../include/kernel/sys.h"
#include "../include/kernel/types.h"
//system_call3(int,write,int,fd,char *,buf,off_t,count)

/*
 *	该宏定义了一个系统调用enter_super(),
 *	他使当前的任务特进入System特权级
 */
inline system_call0(int,enter_super);

/*
 *	根据spsr对当前任务的特权级进行设置
 */
void exit_super(int spsr)
{
	write_cpsr(spsr);
}

int	write(int fd,char * buf,off_t count)
{
	unsigned int csp=read_cpsr();	//保存当前任务的特权级
	enter_super();					//当前任务进入System特权级
	//从这里开始任务是运行在System特权级下了
	sys_write(fd,buf,count);
	exit_super(csp);				//当前任务恢复为原来的特权级
}

⌨️ 快捷键说明

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