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

📄 portal.h

📁 pebble
💻 H
字号:
/* 
 * Copyright 1999, 2000, 2001, 2002 Lucent Technologies Inc.
 * All Rights Reserved.
 * Information Sciences Research Center, Bell Labs.
 *
 * LUCENT TECHNOLOGIES DOES NOT CLAIM MERCHANTABILITY OF THIS SOFTWARE 
 * OR THE SUITABILITY OF THIS SOFTWARE FOR ANY PARTICULAR PURPOSE. The
 * software is provided "as is" without expressed or implied warranty 
 * of any kind.
 *
 * These notices must be retained in any copies of any part of this
 * software.
 *
 */

/*
 * Definitions for the portal manager
 */

#ifndef	_PORTAL_H
#define	_PORTAL_H

enum	{
	MAX_PORTAL_LEN = (PAGESIZE/2),            /* in bytes */
};

typedef	enum {STACK_SHARED, STACK_QUEUE, STACK_EXCEPTION} PortalStack;
typedef	enum {SAVE_FULL, SAVE_PARTIAL, SAVE_MINIMAL} PortalSave;

extern Portal gen_portal(vlong *save_p, int (*entry)(), int *epilog,
        PortalStack stack_type, PortalSave save_type, StackQ *stack_q,
	uint thread_reg, uint const_reg, int c, uint asid_reg, uint window_reg,
	uchar window_type, uint bad_vaddr_reg,
	int *portal_len, int *const_offset, int *c_reg);
extern Portal gen_null_portal(vlong *save_p, int (*entry)(), int *portal_len);

extern int *bad_win_call, *bad_win_rtn;
extern int *thr_stack_overflow;
extern int *ptable_level1;
extern int *log;
extern ulong excpt_stack_sp, excpt_stack_tlbhi, excpt_stack_tlblo0;

extern void *aligned_malloc(int size);
extern void aligned_incref(void *p), aligned_decref(void *p);
#endif	/* _PORTAL_H */

⌨️ 快捷键说明

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