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

📄 xenprocessor.h

📁 xen虚拟机源代码安装包
💻 H
字号:
#ifndef _ASM_IA64_XENPROCESSOR_H#define _ASM_IA64_XENPROCESSOR_H/* * xen specific processor definition * * Copyright (C) 2005 Hewlett-Packard Co. *	Dan Magenheimer (dan.magenheimer@hp.com) * * Copyright (C) 2005 Intel Co. * 	Kun Tian (Kevin Tian) <kevin.tian@intel.com> * */#define ia64_is_local_fpu_owner(t) 0/* like above but expressed as bitfields for more efficient access: */struct ia64_psr {	__u64 reserved0 : 1;	__u64 be : 1;	__u64 up : 1;	__u64 ac : 1;	__u64 mfl : 1;	__u64 mfh : 1;	__u64 reserved1 : 7;	__u64 ic : 1;	__u64 i : 1;	__u64 pk : 1;	__u64 reserved2 : 1;	__u64 dt : 1;	__u64 dfl : 1;	__u64 dfh : 1;	__u64 sp : 1;	__u64 pp : 1;	__u64 di : 1;	__u64 si : 1;	__u64 db : 1;	__u64 lp : 1;	__u64 tb : 1;	__u64 rt : 1;	__u64 reserved3 : 4;	__u64 cpl : 2;	__u64 is : 1;	__u64 mc : 1;	__u64 it : 1;	__u64 id : 1;	__u64 da : 1;	__u64 dd : 1;	__u64 ss : 1;	__u64 ri : 2;	__u64 ed : 1;	__u64 bn : 1;	__u64 ia : 1;	__u64 vm : 1;	__u64 reserved5 : 17;};/* vmx like above but expressed as bitfields for more efficient access: */typedef  union{    __u64 val;    struct{    	__u64 reserved0 : 1;	__u64 be : 1;    	__u64 up : 1;    	__u64 ac : 1;    	__u64 mfl : 1;    	__u64 mfh : 1;    	__u64 reserved1 : 7;    	__u64 ic : 1;    	__u64 i : 1;    	__u64 pk : 1;    	__u64 reserved2 : 1;    	__u64 dt : 1;    	__u64 dfl : 1;    	__u64 dfh : 1;    	__u64 sp : 1;    	__u64 pp : 1;    	__u64 di : 1;	__u64 si : 1;    	__u64 db : 1;    	__u64 lp : 1;    	__u64 tb : 1;    	__u64 rt : 1;    	__u64 reserved3 : 4;    	__u64 cpl : 2;    	__u64 is : 1;    	__u64 mc : 1;    	__u64 it : 1;    	__u64 id : 1;    	__u64 da : 1;    	__u64 dd : 1;    	__u64 ss : 1;    	__u64 ri : 2;    	__u64 ed : 1;    	__u64 bn : 1;    	__u64 reserved4 : 19;    };}   IA64_PSR;typedef union {    __u64 val;    struct {        __u64 code : 16;        __u64 vector : 8;        __u64 reserved1 : 8;        __u64 x : 1;        __u64 w : 1;        __u64 r : 1;        __u64 na : 1;        __u64 sp : 1;        __u64 rs : 1;        __u64 ir : 1;        __u64 ni : 1;        __u64 so : 1;        __u64 ei : 2;        __u64 ed : 1;        __u64 reserved2 : 20;    };}   ISR;typedef union {    __u64 val;    struct {        __u64 ve : 1;        __u64 reserved0 : 1;        __u64 size : 6;        __u64 vf : 1;        __u64 reserved1 : 6;        __u64 base : 49;    };}   PTA;typedef union {    __u64 val;    struct {        __u64  rv  : 16;        __u64  eid : 8;        __u64  id  : 8;        __u64  ig  : 32;    };} LID;typedef union{    __u64 val;    struct {        __u64 rv  : 3;        __u64 ir  : 1;        __u64 eid : 8;        __u64 id  : 8;        __u64 ib_base : 44;    };} ipi_a_t;typedef union{    __u64 val;    struct {        __u64 vector : 8;        __u64 dm  : 3;        __u64 ig  : 53;    };} ipi_d_t;typedef union {    __u64 val;    struct {        __u64 ig0 : 4;        __u64 mic : 4;        __u64 rsv : 8;        __u64 mmi : 1;        __u64 ig1 : 47;    };} tpr_t;/* indirect register type */enum {    IA64_CPUID,     /*  cpuid */    IA64_DBR,       /*  dbr */    IA64_IBR,       /*  ibr */    IA64_PKR,       /*  pkr */    IA64_PMC,       /*  pmc */    IA64_PMD,       /*  pmd */    IA64_RR         /*  rr */};/* instruction type */enum {    IA64_INST_TPA=1,    IA64_INST_TAK};/* Generate Mask * Parameter: *  bit -- starting bit *  len -- how many bits */#define MASK(bit,len)                   \({                              \        __u64    ret;                    \                                \        __asm __volatile("dep %0=-1, r0, %1, %2"    \                : "=r" (ret):                   \          "M" (bit),                    \          "M" (len) );                  \        ret;                            \})typedef union {	struct {		__u64 kr0;		__u64 kr1;		__u64 kr2;		__u64 kr3;		__u64 kr4;		__u64 kr5;		__u64 kr6;		__u64 kr7;	};	__u64 _kr[8];} cpu_kr_ia64_t;DECLARE_PER_CPU(cpu_kr_ia64_t, cpu_kr);typedef union {    struct {        u64 rv3  :  2; // 0-1        u64 ps   :  6; // 2-7        u64 key  : 24; // 8-31        u64 rv4  : 32; // 32-63    };    struct {        u64 __rv3  : 32; // 0-31        // next extension to rv4        u64 rid  : 24;  // 32-55        u64 __rv4  : 8; // 56-63    };    u64 itir;} ia64_itir_t;typedef union {	u64 val;	struct {		u64 v  : 1;		u64 wd : 1;		u64 rd : 1;		u64 xd : 1;		u64 reserved1 : 4;		u64 key : 24;		u64 reserved2 : 32;	};} ia64_pkr_t;#endif // _ASM_IA64_XENPROCESSOR_H

⌨️ 快捷键说明

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