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

📄 env.h

📁 jos lab3代码
💻 H
字号:
/* See COPYRIGHT for copyright information. */#ifndef JOS_KERN_ENV_H#define JOS_KERN_ENV_H#include <inc/env.h>#ifndef JOS_MULTIENV// Change this value to 1 once you're allowing multiple environments// (for UCLA: Lab 3, Part 3; for MIT: Lab 4).#define JOS_MULTIENV 0#endifextern struct Env *envs;		// All environmentsextern struct Env *curenv;	        // Current environmentLIST_HEAD(Env_list, Env);		// Declares 'struct Env_list'void	env_init(void);int	env_alloc(struct Env **e, envid_t parent_id);void	env_free(struct Env *e);void	env_create(uint8_t *binary, size_t size);void	env_destroy(struct Env *e);	// Does not return if e == curenvint	envid2env(envid_t envid, struct Env **env_store, bool checkperm);// The following two functions do not returnvoid	env_run(struct Env *e) __attribute__((noreturn));void	env_pop_tf(struct Trapframe *tf) __attribute__((noreturn));// For the grading script#define ENV_CREATE2(start, size)	{		\	extern uint8_t start[], size[];			\	env_create(start, (int)size);			\}#define ENV_CREATE(x)			{		\	extern uint8_t _binary_obj_##x##_start[],	\		_binary_obj_##x##_size[];		\	env_create(_binary_obj_##x##_start,		\		(int)_binary_obj_##x##_size);		\}#endif // !JOS_KERN_ENV_H

⌨️ 快捷键说明

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