亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pal.h

?? 講述linux的初始化過程
?? H
?? 第 1 頁 / 共 3 頁
字號:
static inline s64 ia64_pal_halt (u64 halt_state) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_HALT, halt_state, 0, 0);	return iprv.status; }typedef union pal_power_mgmt_info_u {	u64			ppmi_data;	struct {	       u64		exit_latency		: 16,				entry_latency		: 16,				power_consumption	: 28,				im			: 1,				co			: 1,				reserved		: 2;	} pal_power_mgmt_info_s;} pal_power_mgmt_info_u_t;/* Return information about processor's optional power management capabilities. */static inline s64 ia64_pal_halt_info (pal_power_mgmt_info_u_t *power_buf) {		struct ia64_pal_retval iprv;	PAL_CALL_STK(iprv, PAL_HALT_INFO, (unsigned long) power_buf, 0, 0);	return iprv.status; }/* Cause the processor to enter LIGHT HALT state, where prefetching and execution are * suspended, but cache and TLB coherency is maintained. */static inline s64 ia64_pal_halt_light (void) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_HALT_LIGHT, 0, 0, 0);	return iprv.status; }/* Clear all the processor error logging   registers and reset the indicator that allows * the error logging registers to be written. This procedure also checks the pending * machine check bit and pending INIT bit and reports their states. */static inline s64 ia64_pal_mc_clear_log (u64 *pending_vector) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_CLEAR_LOG, 0, 0, 0);	if (pending_vector)		*pending_vector = iprv.v0;	return iprv.status; }/* Ensure that all outstanding transactions in a processor are completed or that any  * MCA due to thes outstanding transaction is taken. */static inline s64 ia64_pal_mc_drain (void) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_DRAIN, 0, 0, 0);	return iprv.status; }/* Return the machine check dynamic processor state */static inline s64 ia64_pal_mc_dynamic_state (u64 offset, u64 *size, u64 *pds) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_DYNAMIC_STATE, offset, 0, 0);	if (size)		*size = iprv.v0;	if (pds)		*pds = iprv.v1;	return iprv.status; }/* Return processor machine check information */static inline s64 ia64_pal_mc_error_info (u64 info_index, u64 type_index, u64 *size, u64 *error_info) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_ERROR_INFO, info_index, type_index, 0);	if (size)		*size = iprv.v0;	if (error_info)		*error_info = iprv.v1;		return iprv.status; }/* Inform PALE_CHECK whether a machine check is expected so that PALE_CHECK willnot * attempt to correct any expected machine checks. */static inline s64 ia64_pal_mc_expected (u64 expected, u64 *previous) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_EXPECTED, expected, 0, 0);	if (previous)		*previous = iprv.v0;	return iprv.status; }/* Register a platform dependent location with PAL to which it can save * minimal processor state in the event of a machine check or initialization * event. */static inline s64ia64_pal_mc_register_mem (u64 physical_addr) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_REGISTER_MEM, physical_addr, 0, 0);	return iprv.status; }/* Restore minimal architectural processor state, set CMC interrupt if necessary * and resume execution */static inline s64 ia64_pal_mc_resume (u64 set_cmci, u64 save_ptr) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MC_RESUME, set_cmci, save_ptr, 0);	return iprv.status; }/* Return the memory attributes implemented by the processor */static inline s64 ia64_pal_mem_attrib (u64 *mem_attrib) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MEM_ATTRIB, 0, 0, 0);	if (mem_attrib)		*mem_attrib = iprv.v0 & 0xff;	return iprv.status; }/* Return the amount of memory needed for second phase of processor * self-test and the required alignment of memory. */static inline s64 ia64_pal_mem_for_test (u64 *bytes_needed, u64 *alignment){	struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_MEM_FOR_TEST, 0, 0, 0);	if (bytes_needed)		*bytes_needed = iprv.v0;	if (alignment)		*alignment = iprv.v1;	return iprv.status; }typedef union pal_perf_mon_info_u {	u64			  ppmi_data;	struct {	       u64		generic		: 8,	       			width		: 8,		       		cycles		: 8,				retired		: 8,				reserved	: 32;	} pal_perf_mon_info_s;} pal_perf_mon_info_u_t;	       /* Return the performance monitor information about what can be counted * and how to configure the monitors to count the desired events. */static inline s64 ia64_pal_perf_mon_info (u64 *pm_buffer, pal_perf_mon_info_u_t *pm_info) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_PERF_MON_INFO, (unsigned long) pm_buffer, 0, 0);	if (pm_info)		pm_info->ppmi_data = iprv.v0;	return iprv.status; }/* Specifies the physical address of the processor interrupt block * and I/O port space. */static inline s64 ia64_pal_platform_addr (u64 type, u64 physical_addr) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_PLATFORM_ADDR, type, physical_addr, 0);	return iprv.status; }/* Set the SAL PMI entrypoint in memory */static inline s64 ia64_pal_pmi_entrypoint (u64 sal_pmi_entry_addr) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_PMI_ENTRYPOINT, sal_pmi_entry_addr, 0, 0);	return iprv.status; }struct pal_features_s;/* Provide information about configurable processor features */static inline s64 ia64_pal_proc_get_features (u64 *features_avail, 			    u64 *features_status, 			    u64 *features_control){		struct ia64_pal_retval iprv;	PAL_CALL_PHYS(iprv, PAL_PROC_GET_FEATURES, 0, 0, 0);	if (iprv.status == 0) {		*features_avail   = iprv.v0;		*features_status  = iprv.v1;		*features_control = iprv.v2;	}	return iprv.status; }/* Enable/disable processor dependent features */static inline s64 ia64_pal_proc_set_features (u64 feature_select) {		struct ia64_pal_retval iprv;	PAL_CALL_PHYS(iprv, PAL_PROC_SET_FEATURES, feature_select, 0, 0);	return iprv.status; }/* * Put everything in a struct so we avoid the global offset table whenever * possible. */typedef struct ia64_ptce_info_s {	u64		base;	u32 		count[2];	u32		stride[2];} ia64_ptce_info_t;/* Return the information required for the architected loop used to purge * (initialize) the entire TC */static inline s64ia64_get_ptce (ia64_ptce_info_t *ptce){	struct ia64_pal_retval iprv;	if (!ptce)		return -1;	PAL_CALL(iprv, PAL_PTCE_INFO, 0, 0, 0);	if (iprv.status == 0) {		ptce->base = iprv.v0;		ptce->count[0] = iprv.v1 >> 32;		ptce->count[1] = iprv.v1 & 0xffffffff;		ptce->stride[0] = iprv.v2 >> 32;		ptce->stride[1] = iprv.v2 & 0xffffffff;	}	return iprv.status;}/* Return info about implemented application and control registers. */static inline s64 ia64_pal_register_info (u64 info_request, u64 *reg_info_1, u64 *reg_info_2) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_REGISTER_INFO, info_request, 0, 0);	if (reg_info_1)		*reg_info_1 = iprv.v0;	if (reg_info_2)		*reg_info_2 = iprv.v1;	return iprv.status;}	typedef union pal_hints_u {	u64			ph_data;	struct {	       u64		si		: 1,				li		: 1,				reserved	: 62;	} pal_hints_s;} pal_hints_u_t;/* Return information about the register stack and RSE for this processor  * implementation. */static inline s64 ia64_pal_rse_info (u64 *num_phys_stacked, pal_hints_u_t *hints){		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_RSE_INFO, 0, 0, 0);	if (num_phys_stacked)		*num_phys_stacked = iprv.v0;	if (hints)		hints->ph_data = iprv.v1;	return iprv.status;	}/* Cause the processor to enter	SHUTDOWN state, where prefetching and execution are  * suspended, but cause cache and TLB coherency to be maintained. * This is usually called in IA-32 mode. */static inline s64 ia64_pal_shutdown (void) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_SHUTDOWN, 0, 0, 0);	return iprv.status; }/* Perform the second phase of processor self-test. */static inline s64 ia64_pal_test_proc (u64 test_addr, u64 test_size, u64 attributes, u64 *self_test_state){	struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_TEST_PROC, test_addr, test_size, attributes);	if (self_test_state)		*self_test_state = iprv.v0;	return iprv.status; }typedef union  pal_version_u {	u64	pal_version_val;	struct {		u64	pv_pal_b_rev 		: 	8;		u64	pv_pal_b_model		:	8;		u64	pv_reserved1		:	8;		u64	pv_pal_vendor		:	8;		u64	pv_pal_a_rev		:	8;		u64	pv_pal_a_model		:	8;		u64	pv_reserved2		: 	16;	} pal_version_s;} pal_version_u_t;/* Return PAL version information */static inline s64 ia64_pal_version (pal_version_u_t *pal_min_version, pal_version_u_t *pal_cur_version) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_VERSION, 0, 0, 0);	if (pal_min_version)		pal_min_version->pal_version_val = iprv.v0;	if (pal_cur_version)		pal_cur_version->pal_version_val = iprv.v1;	return iprv.status; }typedef union pal_tc_info_u {	u64			pti_val;	struct {	       u64		num_sets	:	8,				associativity	:	8,				num_entries	:	16,				pf		:	1,				unified		:	1,				reduce_tr	:	1,				reserved	:	29;	} pal_tc_info_s;} pal_tc_info_u_t;								#define tc_reduce_tr		pal_tc_info_s.reduce_tr#define tc_unified		pal_tc_info_s.unified#define tc_pf			pal_tc_info_s.pf#define tc_num_entries		pal_tc_info_s.num_entries#define tc_associativity	pal_tc_info_s.associativity#define tc_num_sets		pal_tc_info_s.num_sets/* Return information about the virtual memory characteristics of the processor  * implementation. */static inline s64 ia64_pal_vm_info (u64 tc_level, u64 tc_type,  pal_tc_info_u_t *tc_info, u64 *tc_pages){	struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_VM_INFO, tc_level, tc_type, 0);	if (tc_info)		tc_info->pti_val = iprv.v0;	if (tc_pages)		*tc_pages = iprv.v1;		return iprv.status; }/* Get page size information about the virtual memory characteristics of the processor  * implementation. */static inline s64 ia64_pal_vm_page_size (u64 *tr_pages, u64 *vw_pages){	struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_VM_PAGE_SIZE, 0, 0, 0);	if (tr_pages)		*tr_pages = iprv.v0;	if (vw_pages)		*vw_pages = iprv.v1;		return iprv.status; }typedef union pal_vm_info_1_u {	u64			pvi1_val;	struct {		u64		vw		: 1,				phys_add_size	: 7,				key_size	: 8,				max_pkr		: 8,				hash_tag_id	: 8,				max_dtr_entry	: 8,				max_itr_entry	: 8,				max_unique_tcs	: 8,				num_tc_levels	: 8;	} pal_vm_info_1_s;} pal_vm_info_1_u_t;typedef union pal_vm_info_2_u {	u64			pvi2_val;	struct {		u64		impl_va_msb	: 8,				rid_size	: 8,				reserved	: 48;			} pal_vm_info_2_s;} pal_vm_info_2_u_t;		/* Get summary information about the virtual memory characteristics of the processor  * implementation. */static inline s64 ia64_pal_vm_summary (pal_vm_info_1_u_t *vm_info_1, pal_vm_info_2_u_t *vm_info_2) {		struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_VM_SUMMARY, 0, 0, 0);	if (vm_info_1)		vm_info_1->pvi1_val = iprv.v0;	if (vm_info_2)		vm_info_2->pvi2_val = iprv.v1;	return iprv.status; }typedef union pal_itr_valid_u {	u64			piv_val;	struct {	       u64		access_rights_valid	: 1,				priv_level_valid	: 1,				dirty_bit_valid		: 1,				mem_attr_valid		: 1,				reserved		: 60;	} pal_tr_valid_s;} pal_tr_valid_u_t;/* Read a translation register */static inline s64 ia64_pal_tr_read (u64 reg_num, u64 tr_type, u64 *tr_buffer, pal_tr_valid_u_t *tr_valid){	struct ia64_pal_retval iprv;	PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)__pa(tr_buffer));	if (tr_valid)		tr_valid->piv_val = iprv.v0;	return iprv.status; }static inline s64ia64_pal_prefetch_visibility (void){	struct ia64_pal_retval iprv;	PAL_CALL(iprv, PAL_PREFETCH_VISIBILITY, 0, 0, 0);	return iprv.status;}#endif /* __ASSEMBLY__ */#endif /* _ASM_IA64_PAL_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无码av免费一区二区三区试看 | 国产很黄免费观看久久| 一区二区三区中文字幕精品精品| 亚洲一二三四在线观看| 亚洲天堂2016| 国产福利一区二区三区视频在线 | 在线观看91精品国产入口| 国产精品毛片高清在线完整版| 国产在线精品免费av| 日韩免费视频一区二区| 色av成人天堂桃色av| 99精品国产视频| 亚洲人成小说网站色在线| 久久久不卡影院| 精品一区二区三区av| 久久99在线观看| 日韩视频国产视频| 久久久久青草大香线综合精品| 美女久久久精品| 国产传媒日韩欧美成人| 久久免费美女视频| 成人av在线网站| 色菇凉天天综合网| 亚洲少妇最新在线视频| 91国偷自产一区二区三区观看| 亚洲电影第三页| 精品国产亚洲在线| 悠悠色在线精品| 国产精品一区二区你懂的| 欧美激情在线免费观看| 91亚洲国产成人精品一区二区三 | 成人免费在线视频观看| 国产精品亚洲一区二区三区在线 | 视频一区中文字幕国产| 欧美一级淫片007| 国产亚洲成av人在线观看导航| 成人免费高清视频| 91精品国产91久久综合桃花| 蜜臀a∨国产成人精品| 日韩欧美色综合网站| 国产成人福利片| 亚洲男女一区二区三区| 6080午夜不卡| 99久久国产综合精品色伊| 一区二区三区四区中文字幕| 欧美日韩国产综合久久 | 麻豆精品在线视频| 欧美国产日韩一二三区| 欧美午夜精品免费| 国产电影一区在线| 亚洲最大成人网4388xx| 精品国产91九色蝌蚪| 99精品视频在线播放观看| 日韩黄色免费电影| 国产精品的网站| 日韩精品在线网站| 91久久国产最好的精华液| 久久国产精品免费| 一级特黄大欧美久久久| 欧美激情一区二区三区不卡| 欧美日韩精品三区| av成人老司机| 久久丁香综合五月国产三级网站 | 国产精品自拍一区| 亚洲国产精品久久久男人的天堂| 911精品产国品一二三产区| 国产电影精品久久禁18| 亚洲成年人网站在线观看| 亚洲日本韩国一区| 精品国产不卡一区二区三区| aaa国产一区| 久久99精品久久只有精品| 一二三四社区欧美黄| 国产精品久99| 久久精品视频网| 精品少妇一区二区三区免费观看| 在线日韩国产精品| 99vv1com这只有精品| 国产乱子伦视频一区二区三区 | 精品免费国产一区二区三区四区| 97se亚洲国产综合自在线观| 日韩二区三区四区| 亚洲国产精品影院| 亚洲欧美偷拍另类a∨色屁股| 国产亚洲精品久| 欧美大度的电影原声| 欧美精品丝袜中出| 欧美三级日韩三级| 欧美三级资源在线| 欧美日韩免费电影| 欧美三级蜜桃2在线观看| 日本韩国一区二区| 色婷婷综合激情| 国产精品二三区| 国产精品视频第一区| 精品久久久久久久人人人人传媒| 6080日韩午夜伦伦午夜伦| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲欧美激情一区二区| 亚洲欧洲性图库| **性色生活片久久毛片| 中文字幕不卡在线| |精品福利一区二区三区| 亚洲欧美一区二区三区极速播放 | 欧美一区二区三区视频免费| 7777女厕盗摄久久久| 欧美日韩中文精品| 在线观看91精品国产入口| 欧美性生活久久| 欧美一区二区播放| 欧美精品一区二区三区四区| 国产亚洲成aⅴ人片在线观看 | 久久这里只有精品6| 2021国产精品久久精品| 久久久99精品免费观看不卡| 中文字幕高清不卡| 亚洲精品欧美专区| 日本一区中文字幕| 福利电影一区二区三区| 91视频国产资源| 欧美日韩成人综合| 欧美xfplay| 日本一二三四高清不卡| 久久精品综合网| 国产日韩欧美精品一区| 国产精品久久久一区麻豆最新章节| 1000部国产精品成人观看| 亚洲bdsm女犯bdsm网站| 老色鬼精品视频在线观看播放| 国产一区二区三区观看| 91免费观看在线| 91精品国产综合久久久久久| 久久人人97超碰com| 亚洲在线视频免费观看| 韩国v欧美v日本v亚洲v| 99热99精品| 日韩一卡二卡三卡四卡| 日韩一区中文字幕| 日本va欧美va瓶| 成人黄动漫网站免费app| 欧美一区二区三区四区视频| 中文字幕在线不卡一区二区三区| 亚洲动漫第一页| 国产aⅴ精品一区二区三区色成熟| 色香蕉久久蜜桃| 久久综合精品国产一区二区三区| 亚洲码国产岛国毛片在线| 日韩黄色在线观看| 色综合久久88色综合天天免费| 日韩视频一区二区三区| 亚洲欧美日韩一区二区 | 91原创在线视频| 欧美mv日韩mv| 亚洲va韩国va欧美va精品| 成人成人成人在线视频| 久久综合色8888| 亚洲综合在线第一页| 粉嫩高潮美女一区二区三区| 日韩欧美在线1卡| 午夜视频一区二区三区| 91热门视频在线观看| 欧美韩国日本一区| 国产一区中文字幕| 宅男噜噜噜66一区二区66| 自拍偷自拍亚洲精品播放| 国产一区二区三区日韩| 日本道色综合久久| 久久这里只有精品6| 亚洲一区在线播放| 欧美色成人综合| 视频精品一区二区| 日韩免费在线观看| 韩国精品在线观看| 中文字幕乱码久久午夜不卡 | 日本va欧美va瓶| 日韩三级中文字幕| 极品瑜伽女神91| 久久精品夜夜夜夜久久| 国产1区2区3区精品美女| 中文字幕一区二区日韩精品绯色| 99久久久无码国产精品| 夜夜精品浪潮av一区二区三区| 欧美日韩一卡二卡三卡 | 久久综合国产精品| 粉嫩蜜臀av国产精品网站| 国产精品久久久久精k8 | 日韩欧美自拍偷拍| 国产成人一级电影| 亚洲欧美国产毛片在线| 欧美综合欧美视频| 久久国产成人午夜av影院| 亚洲国产精品黑人久久久| 97久久人人超碰| 日本成人在线视频网站| 久久久久久久久久久久久久久99| av午夜精品一区二区三区| 夜夜揉揉日日人人青青一国产精品 | 成人激情小说乱人伦| 一区二区三区国产精品| 精品国产乱码久久久久久夜甘婷婷 |