00001 #ifndef vmspte_h 00002 #define vmspte_h 00003 00004 // _Id: vmspte.h,v 1.1 2003-01-05 14:12:28 roart Exp $ 00005 // _Locker: $ 00006 00007 // Author. Roar Thronęs. 00008 00009 // This will replace lib/src/ptedef.h, which is for Alpha 00010 // Later, this will replace include/asm/pgtable.h 00011 00012 //FreeVMS PTE additions 00013 #define _PAGE_BIT_TYP1 11 00014 #define _PAGE_BIT_TYP0 10 00015 #define _PAGE_BIT_TYP 9 00016 #define _PAGE_TYP1 0x800 00017 #define PTE_M_TYP1 0x800 00018 #define _PAGE_TYP0 0x400 00019 #define PTE_M_TYP0 0x400 00020 //#define _PAGE_TYP 0x200 00021 00022 00023 #define PTE_M_CRF 0x1000 00024 00025 struct _mypte { 00026 union { 00027 struct { 00028 unsigned page_bits : 9; //refer to pgtable.h for these 00029 unsigned yet_unused : 1; 00030 unsigned pte_v_typ0 : 1; 00031 unsigned pte_v_typ1 : 1; 00032 unsigned pte_v_stx : 16; 00033 unsigned pte_v_crf : 1; 00034 unsigned pte_v_dzro : 1; 00035 unsigned pte_v_wrt : 1; 00036 unsigned pte_v_fill : 1; 00037 }; 00038 struct { 00039 unsigned page_bits : 9; //refer to pgtable.h for these 00040 unsigned yet_unused : 1; 00041 unsigned pte_v_typ0 : 1; 00042 unsigned pte_v_typ1 : 1; 00043 unsigned pte_v_pgflpag : 18; 00044 unsigned pte_v_pgflx : 2; 00045 }; 00046 struct { 00047 unsigned page_bits : 9; //refer to pgtable.h for these 00048 unsigned yet_unused : 1; 00049 unsigned pte_v_typ0 : 1; 00050 unsigned pte_v_typ1 : 1; 00051 unsigned pte_v_gptx : 20; 00052 }; 00053 struct { 00054 unsigned page_bits : 9; //refer to pgtable.h for these 00055 unsigned yet_unused : 1; 00056 unsigned pte_v_typ0 : 1; 00057 unsigned pte_v_typ1 : 1; 00058 unsigned pte_v_pfn : 20; 00059 }; 00060 struct { 00061 unsigned page_bits : 9; //refer to pgtable.h for these 00062 unsigned pte_v_window : 1; 00063 unsigned pte_v_typ0 : 1; 00064 unsigned pte_v_typ1 : 1; 00065 unsigned pte_v_pfn : 20; 00066 }; 00067 struct { 00068 unsigned pte_v_valid : 1; 00069 unsigned nothing : 6; 00070 unsigned pte_v_global : 1; 00071 unsigned pte_v_gblwrt : 1; 00072 unsigned pte_v_fill : 23; 00073 }; 00074 unsigned long pte_l_all; 00075 }; 00076 }; 00077 00078 #endif 00079 00080