00001 #ifndef mmgdef_h 00002 #define mmgdef_h 00003 00004 #define MMG_M_NO_MPL_FLUSH 4 00005 #define MMG_V_NO_MPL_FLUSH 2 00006 #define MMG_M_NOWAIT 2 00007 #define MMG_V_NOWAIT 1 00008 #define MMG_M_NOLASTUPD 1 00009 #define MMG_V_NOLASTUPD 0 00010 #define MMG_M_TICK_ENABLE 1 00011 #define MMG_V_TICK_ENABLE 0 00012 #define MMG_M_TROLL_ENABLE 2 00013 #define MMG_V_TROLL_ENABLE 1 00014 #define MMG_M_BOOTIME_MEMTEST 4 00015 #define MMG_V_BOOTIME_MEMTEST 2 00016 #define MMG_M_NO_MB 8 00017 #define MMG_V_NO_MB 3 00018 #define MMG_M_TICK_ACT 1 00019 #define MMG_V_TICK_ACT 0 00020 00021 #define MMG_C_MPL_FLUSH_LIM 16 00022 00023 #define MMG_C_SECOBJNAM_SIZE 80 00024 00025 #define MMG_K_LENGTH -40 00026 #define MMG_C_LENGTH -40 00027 #define MMG_M_DELGBLDON 0x1 00028 #define MMG_M_CHGPAGFIL 0x1 00029 #define MMG_M_NOWAIT_IPL0 0x2 00030 #define MMG_M_NO_OVERMAP 0x4 00031 #define MMG_M_PARTIAL_FIRST 0x8 00032 #define MMG_M_PARTIAL_LAST 0x10 00033 #define MMG_M_NO_IRP_DELETE 0x20 00034 #define MMG_M_DELPAG_NOP 0x40 00035 #define MMG_M_CLUSTER_DEL 0x80 00036 #define MMG_M_WINDOW 0x100 00037 #define MMG_M_SHARED_L3PTS 0x200 00038 #define MMG_M_RWAST_AT_IPL0 0x400 00039 #define MMG_S_MMGDEF 41 00040 00041 struct _mmg { 00042 unsigned long mmg_l_altsubr; 00043 unsigned long mmg_l_pgflcnt; 00044 unsigned long mmg_l_efblk; 00045 unsigned long mmg_r_bufobj_overlay; 00046 unsigned long mmg_l_vfyflags; 00047 unsigned long mmg_l_svstartva; 00048 unsigned long mmg_l_pagesubr; 00049 unsigned long mmg_l_savretadr; 00050 unsigned long mmg_l_calledipl; 00051 unsigned long mmg_r_per_page_overlay; 00052 unsigned long mmg_l_access_mode; 00053 unsigned long mmg_r_mmg_flags_overlay; 00054 struct { 00055 unsigned mmg_v_fill_1 : 1; 00056 unsigned mmg_v_chpagfil : 1; 00057 unsigned mmg_v_delgbldon : 1; 00058 unsigned mmg_v_nowait_ipl0 : 1; 00059 unsigned mmg_v_no_overmap : 1; 00060 unsigned mmg_v_jsb_altsubr : 1; 00061 }; 00062 char mmgdef_$_fill_2; 00063 }; 00064 00065 #define MMG_M_RES_MEM_ZERO 0x1 00066 #define MMG_M_RES_MEM_GROUP 0x2 00067 #define MMG_M_RES_MEM_PTS 0x4 00068 #define MMG_M_RES_MEM_GBLSEC 0x8 00069 00070 struct _res_mem { 00071 union { 00072 unsigned int mmg_l_res_mem_flags; 00073 struct { 00074 unsigned mmg_v_res_mem_zero : 1; 00075 unsigned mmg_v_res_mem_group : 1; 00076 unsigned mmg_v_res_mem_pts : 1; 00077 unsigned mmg_v_res_mem_gblsec : 1; 00078 unsigned mmg_v_fill_2_ : 4; 00079 }; 00080 }; 00081 }; 00082 00083 #define MMG_M_COLOR_MUST 0x1 00084 #define MMG_M_COLOR_RANDOM 0x2 00085 #define MMG_K_NO_VPN -1 00086 #define MMG_K_NO_RAD -1 00087 #define MMG_K_BASE_RAD -2 00088 00089 struct _page_color { 00090 union { 00091 unsigned int mmg_l_page_color_flags; 00092 struct { 00093 unsigned mmg_v_color_must : 1; 00094 unsigned mmg_v_color_random : 1; 00095 unsigned mmg_v_fill_3_ : 6; 00096 }; 00097 }; 00098 }; 00099 00100 #define MMG_C_PRIVATE 1 00101 #define MMG_C_SHARED 2 00102 #define MMG_C_IO 3 00103 00104 #if defined(DoNotDefineThisQQ_) 00105 00106 #define MMG_K_POOLTYPE_NPP 0 00107 #define MMG_K_POOLTYPE_BAP 1 00108 #define MMG_K_POOLTYPE_MAXIMUM 2 00109 00110 #endif 00111 00112 typedef enum 00113 { 00114 MMG_K_POOLTYPE_NPP=0,MMG$K_POOLTYPE_BAP, 00115 MMG_K_POOLTYPE_MAXIMUM 00116 } MMG_POOL_TYPE; 00117 00118 #endif 00119 00120