00001 #ifndef vadef_h 00002 #define vadef_h 00003 00004 #define VA_M_P1 0x40000000 00005 #define VA_M_SYSTEM 0x80000000 00006 #define VA_M_BYTES_PER_PAGELET 0x1FF 00007 #define VA_M_BYTE_IN_PAGELET 0x1FF 00008 #define VA_S_VADEF 4 00009 #define VA_C_PAGELET_SIZE 512 00010 #define VA_C_PAGELET_SHIFT_SIZE 9 00011 00012 #define VA_C_P0 0 00013 #define VA_C_P1 1 00014 #define VA_C_P2 2 00015 #define VA_M_DESCEND 0x1 00016 #define VA_M_P0_SPACE 0x2 00017 #define VA_M_P1_SPACE 0x4 00018 #define VA_M_PERMANENT 0x8 00019 #define VA_M_EXPAND_ON_ACCVIO 0x10 00020 #define VA_M_SHARED_PTS 0x40 00021 #define VA_M_OWNER_MODE 0xF 00022 #define VA_M_CREATE_MODE 0xF0 00023 #define VA_C_REGSUM_LENGTH 40 00024 #define VA__REGSUM_BY_ID 0 00025 #define VA__REGSUM_BY_VA 1 00026 #define VA__NEXT_REGSUM_BY_VA 2 00027 00028 #define VA_C_REGION_UCREATE_UOWN 51 00029 #define VA_C_REGION_UCREATE_SOWN 50 00030 #define VA_C_REGION_UCREATE_EOWN 49 00031 #define VA_C_REGION_UCREATE_KOWN 48 00032 #define VA_C_REGION_SCREATE_SOWN 34 00033 #define VA_C_REGION_SCREATE_EOWN 33 00034 #define VA_C_REGION_SCREATE_KOWN 32 00035 #define VA_C_REGION_ECREATE_EOWN 17 00036 #define VA_C_REGION_ECREATE_KOWN 16 00037 #define VA_C_REGION_KCREATE_KOWN 0 00038 00039 #define VA_M_NO_OVERMAP 0x1 00040 00041 struct _va { 00042 union { 00043 struct { 00044 unsigned vadef_$_fill_1 : 30; 00045 unsigned va_v_p1 : 1; 00046 unsigned va_v_system : 1; 00047 }; 00048 struct { 00049 unsigned va_v_bytes_per_pagelet : 9; 00050 unsigned va_v_fill_74_ : 7; 00051 }; 00052 struct { 00053 unsigned va_v_byte_in_pagelet : 9; 00054 unsigned va_v_fill_75_ : 7; 00055 }; 00056 }; 00057 }; 00058 00059 struct _regsum { 00060 unsigned long long va_q_region_id; 00061 union { 00062 unsigned int va_l_flags; 00063 struct { 00064 unsigned va_v_descend : 1; 00065 unsigned va_v_p0_space : 1; 00066 unsigned va_v_p1_space : 1; 00067 unsigned va_v_permanent : 1; 00068 unsigned va_v_expand_on_accvio : 1; 00069 unsigned va_v_no_clone : 1; 00070 00071 unsigned va_v_shared_pts : 1; 00072 unsigned va_v_fill_76_ : 1; 00073 }; 00074 }; 00075 union { 00076 int va_l_region_protection; 00077 struct { 00078 unsigned va_v_owner_mode : 4; 00079 unsigned va_v_create_mode : 4; 00080 }; 00081 }; 00082 union { 00083 void *va_pq_start_va; 00084 void *va_ps_start_va; 00085 }; 00086 union { 00087 unsigned long long va_q_region_size; 00088 unsigned int va_l_region_size; 00089 }; 00090 union { 00091 void *va_pq_first_free_va; 00092 void *va_ps_first_free_va; 00093 }; 00094 }; 00095 00096 struct _va_flags { 00097 unsigned va_v_no_overmap : 1; 00098 unsigned va_v_fill_77_ : 7; 00099 }; 00100 00101 typedef struct _regsum *regsum_pq; 00102 00103 #endif 00104 00105