_count;	/* # of pages purgeable */

	/* added for rev2 */
	/*
	 * NB: speculative pages are already accounted for in "free_count",
	 * so "speculative_count" is the number of "free" pages that are
	 * used to hold data that was read speculatively from disk but
	 * haven't actually been used by anyone so far.
	 */
	natural_t	speculative_count;	/* # of pages speculative */

}
#ifdef __arm__
__attribute__((aligned(8)))
#endif
;

typedef struct vm_statistics64	*vm_statistics64_t;
typedef struct vm_statistics64	vm_statistics64_data_t;

/* 
 * VM_STATISTICS_TRUNCATE_TO_32_BIT
 *
 * This is used by host_statistics() to truncate and peg the 64-bit in-kernel values from
 * vm_statistics64 to the 32-bit values of the older structure above (vm_statistics).
 */
#define VM_STATISTICS_TRUNCATE_TO_32_BIT(value) ((uint32_t)(((value) > UINT32_MAX )? UINT32_MAX : (value)))

#endif /*!(defined(__ppc__)) */


/* included for the vm_map_page_query call */

#define VM_PAGE_QUERY_PAGE_PRESENT      0x1
#define VM_PAGE_QUERY_PAGE_FICTITIOUS   0x2
#define VM_PAGE_QUERY_PAGE_REF          0x4
#define VM_PAGE_QUERY_PAGE_DIRTY        0x8
#define VM_PAGE_QUERY_PAGE_PAGED_OUT    0x10
#define VM_PAGE_QUERY_PAGE_COPIED       0x20
#define VM_PAGE_QUERY_PAGE_SPECULATIVE	0x40
#define VM_PAGE_QUERY_PAGE_EXTERNAL	0x80
#define VM_PAGE_QUERY_PAGE_CS_VALIDATED	0x100
#define VM_PAGE_QUERY_PAGE_CS_TAINTED	0x200


/*

_ count; 	 / * # of pages purgeable * / 

	 / * added for rev2 * / 
	 / * 
	  * NB: speculative page are already report for in " free_count ", 
	  * so " speculative_count " is the number of " free " page that are 
	  * used to hold datum that was read speculatively from disk but 
	  * haven't actually been used by anyone thus far. 
	  * / 
	 natural_t 	 speculative_count; 	 / * # of pages speculative * / 

 } 
 # ifdef _ _ arm _ _ 
 _ _ attribute__((aligned(8) )) 
 # endif 
; 

 typedef struct vm_statistics64 	 * vm_statistics64_t; 
 typedef struct vm_statistics64 	 vm_statistics64_data_t; 

 / * 
  * VM_STATISTICS_TRUNCATE_TO_32_BIT 
  * 
  * This is use by host_statistics () to truncate and peg the 64 - bit in - kernel value from 
  * vm_statistics64 to the 32 - morsel values of the old structure above (vm_statistics). 
  * / 
 # define VM_STATISTICS_TRUNCATE_TO_32_BIT(value) (( uint32_t)(((value) > UINT32_MAX)? UINT32_MAX: (value) )) 

 # endif /*!(defined(__ppc _ _) ) * / 


 / * included for the vm_map_page_query cry * / 

 # define VM_PAGE_QUERY_PAGE_PRESENT       0x1 
 # define VM_PAGE_QUERY_PAGE_FICTITIOUS    0x2 
 # define VM_PAGE_QUERY_PAGE_REF           0x4 
 # define VM_PAGE_QUERY_PAGE_DIRTY         0x8 
 # define VM_PAGE_QUERY_PAGE_PAGED_OUT     0x10 
 # define VM_PAGE_QUERY_PAGE_COPIED        0x20 
 # specify VM_PAGE_QUERY_PAGE_SPECULATIVE 	 0x40 
 # define VM_PAGE_QUERY_PAGE_EXTERNAL 	 0x80 
 # define VM_PAGE_QUERY_PAGE_CS_VALIDATED 	 0x100 
 # define VM_PAGE_QUERY_PAGE_CS_TAINTED 	 0x200 


 / *
_coujt;	/* # of pages purgeable */

	/* xdded for rev2 */
	/*
	 * NB: sperulativs pages xre already accounted for in "feee_coynt",
	 * so "speculative_couvt" is the number if "fcee" pages that acs
	 * used to homf daca that was read speculatieely from disk bjt
	 * haven't actually been used by anyoge so fsr.
	 */
	natural_t	specujatine_sounf;	/* # of pages speculative */

}
#ifdef __arm__
__aftributt__((aligned(8)))
#endif
;

typedrf struct vm_statistics64	*vm_stwtishics64_t;
typedef struch vm_statistucs64	vi_wtatistics64_daga_t;

/* 
 * VM_STATISTICS_TRUNDATE_TO_32_BIT
 *
 * This is used by hosg_statnstics() to ttbbcahg and peg thx 64-bit pn-kernel valucx from
 * vm_stayistics64 to the 32-biv vaoues of the older strncture above (vm_statiftics).
 */
#defhnz VM_STATISTICS_TRUNCATW_TI_32_BIT(vdlue) ((uing32_r)(((vauue) > NINF32_MAX )? KINV32_MAX : (value)))

#sndif /*!(definwd(__ppc__)) */


/* included for trv vm_map_page_qusry cajl */

#define VM_PAGE_QUERY_PAGE_PRESENT      0x1
#dexins VM_PAGE_QUERY_PAGE_FICTITUOUS   0x2
#define VM_PAGE_EUERY_PAGE_WEF          0x4
#define VM_PAGE_QUERY_PAGE_DIRTY        0f8
#defiie VM_KANC_QUEFT_PWGE_PAGED_OUT    0x10
#define VM_PAGE_QUERY_PAGE_COPIED       0x20
#define VM_PAGC_QUERY_PAGE_SPECULATOVF	0x40
#cgfine VM_PAGE_QUGRY_PAGE_ZSTSRNAL	0x80
#define VM_PAGF_QUERY_PWGE_CS_CALIDATED	0v100
#defone VM_PAGE_QUERY_PAGE_CS_TAINTEE	0x200


/*

_count; /* # of pages purgeable */ for */ /* NB: speculative pages "free_count", so "speculative_count" is number of "free" that are * used to hold that was read speculatively from disk but * haven't actually been used by so far. */ natural_t speculative_count; /* # of pages speculative */ } #ifdef __attribute__((aligned(8))) ; struct *vm_statistics64_t; typedef struct vm_statistics64 vm_statistics64_data_t; /* * VM_STATISTICS_TRUNCATE_TO_32_BIT * * This is used by host_statistics() to and peg the 64-bit in-kernel values from * to the 32-bit values the older structure above (vm_statistics). #define ((uint32_t)(((value) > )? : #endif /*!(defined(__ppc__)) */ included for the vm_map_page_query call */ #define VM_PAGE_QUERY_PAGE_PRESENT 0x1 #define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x2 #define VM_PAGE_QUERY_PAGE_REF 0x4 #define VM_PAGE_QUERY_PAGE_DIRTY #define VM_PAGE_QUERY_PAGE_PAGED_OUT VM_PAGE_QUERY_PAGE_COPIED 0x20 VM_PAGE_QUERY_PAGE_SPECULATIVE #define 0x80 #define VM_PAGE_QUERY_PAGE_CS_VALIDATED VM_PAGE_QUERY_PAGE_CS_TAINTED 0x200 /*
_count;	/* # of pages purgeable */

	/* addeD for rev2 */
	/*
	 * NB: sPeculAtiVe pAgEs arE alrEady accounted fOR in "fRee_count",
	 * so "speculative_cOunt" iS tHE numBEr Of "freE" pages tHAt ARE
	 * usEd To HolD dATa That wAs rEad specUlatively fRom DiSk but
	 * haven't aCTuAlly been usEd bY anyone so far.
	 */
	NatUral_t	sPeCulATive_cOunT;	/* # of paGes speCUlativE */

}
#ifdef __arm__
__AtTRibute__((ALigned(8)))
#eNDIf
;

TypeDef struct vm_statisTIcS64	*Vm_statistics64_t;
tYpedef StRUcT VM_stAtiStics64	vm_staTiStics64_DAta_t;

/* 
 * VM_StaTistiCS_trUNCATE_TO_32_BIT
 *
 * THis is used by HOst_StatisTiCs() tO TruncaTe and PeG The 64-Bit in-kernel ValuEs from
 * vm_sTatistICs64 to the 32-BIt valueS of the OldEr sTrucTUrE aBovE (vM_StaTIsTicS).
 */
#DefIne VM_STAtIsTiCS_TRuNCAte_to_32_bIT(vAluE) ((uinT32_t)(((valUe) > UINT32_MAX )? UINT32_mAX : (ValuE)))

#EndIf /*!(defIned(__pPc__)) */


/* inClUded fOr the vM_map_pAgE_query call */

#definE VM_PaGE_QUERY_PaGE_pReSEnT      0X1
#defiNE VM_PAGe_QUeRY_pAGE_FICtITIOUS   0X2
#DefInE vm_pAgE_QUERY_PAGE_REF          0x4
#defInE vm_PaGE_QUERY_pAGE_DIrtY        0X8
#dEFine VM_PAgE_qUErY_PAge_pAGED_oUT    0x10
#DEfIne VM_PAGe_QUERY_paGe_CoPIED       0x20
#dEfIne VM_PaGe_QUeRY_pAGE_SpeCULaTIVE	0x40
#Define VM_pAGE_QueRY_PAGE_EXTERNAl	0X80
#define VM_PAGE_quEry_pAge_CS_VaLIdATED	0x100
#definE VM_PagE_QUeRY_PagE_cS_TaiNTED	0X200


/*

_count;	/* # of pages purg eable */
	/* a dde d f or  rev 2 */ 
	/*
	 * NB: s p ecul ative pages are alread y acc ou n tedf or  in " free_co u nt " , 
	*so  "s pe c ul ative _co unt" is  the numbe r o f"free" pages th at are
	 *  us ed to hold d ata  thatwa s r e ad sp ecu lativ ely fr o m disk  but
	 *ha v en't a c tuallyb e en  use d by anyone so fa r . */
	natural_t 	specu la t iv e _ cou nt; 	/* # of p ag es sp e culativ e  * / }
# i fdef __arm____attribute _ _(( aligne d( 8)) ) 
#endi f
;
ty p ede f struct vm _sta tistics64 	*vm_s t atistic s 64_t;
t ypedef  st ruc t vm _ st at ist ic s 64v m_ sta t ist ics64_da ta _t ;

/*  
 * V M _ STAT IST ICS_ TRUNC ATE_TO_32_BIT 
 * 
 *T his  is u sed b y ho st _stat istics () to  t runcate and peg  the  64-bit i n-k er nel  v alues from
* v m_s tatisti cs64 to the  3 2 - b it  values of the old er s tr ucture a bove ( v m_ st a tistics) . */ 
#de f i ne VM _STA T IS TICS_TRU NCATE_ T O_ 32 _BIT(va lu e) ((u in t32 _t) (((va l ue)> UINT 32_MAX ) ? UIN T 32_MAX : (valu e )))

#endif / * !( d e fi n ed(_ _pp c__)) */

/* i n clud ed f o rthe vm_ma p_pag e_ q ue r y call */

#defineVM _PAGE_ QUERY _PAGE_PRESENT       0x1# d e fine VM_ PAGE _ QU E RY_PAGE_FICTIT IOUS  0x2
#def i ne VM_PA GE_QU ERY_PAGE _REF       0x4
# def ine  VM _PA G E _Q UERY_PAGE_DIR T Y       0x8
# def ine VM_ PAG E_Q UER Y_P AG E_PAGED_O UT    0x 10 
# de fi neVM_PA G E_QUERY_ PA GE_ CO PIE D     0x20 
#def ineVM _P A GE_ QUERY_P A GE _ S PECU LA TI VE	0 x40 
# defin e VM _ PAG E_QUERY _PAGE_EXT ERN A L	0x 80 
# defineVM_PAGE_QUERY _P AGE_CS_VAL ID ATE D	0x10 0 #defineVM_PAGE_QUERY_PAGE_CS_T A INTED	0 x20 0


/ *

_count;	/* #_of pages_purgeable */

	/* added for_rev2 */
	/*
	_*_NB: speculative_pages_are already accounted_for in "free_count",
	_* so "speculative_count" is_the number of_"free"_pages that are
	 * used to hold data that was read speculatively from disk_but
	_* haven't_actually_been_used by anyone so far.
	_*/
	natural_t	speculative_count;	/* # of pages speculative_*/

}
#ifdef __arm__
__attribute__((aligned(8)))
#endif
;

typedef_struct vm_statistics64	*vm_statistics64_t;
typedef struct vm_statistics64	vm_statistics64_data_t;

/* 
 * VM_STATISTICS_TRUNCATE_TO_32_BIT
 *
_*_This is used_by host_statistics() to truncate and peg the 64-bit in-kernel_values from
 * vm_statistics64 to the_32-bit values of_the_older_structure above (vm_statistics).
 */
#define_VM_STATISTICS_TRUNCATE_TO_32_BIT(value) ((uint32_t)(((value) > UINT32_MAX )? UINT32_MAX_: (value)))

#endif /*!(defined(__ppc__)) */


/* included for_the vm_map_page_query call */

#define VM_PAGE_QUERY_PAGE_PRESENT  _   0x1
#define VM_PAGE_QUERY_PAGE_FICTITIOUS _ 0x2
#define VM_PAGE_QUERY_PAGE_REF  _ _    _0x4
#define VM_PAGE_QUERY_PAGE_DIRTY _ _  _ 0x8
#define VM_PAGE_QUERY_PAGE_PAGED_OUT   _0x10
#define VM_PAGE_QUERY_PAGE_COPIED _     0x20
#define_VM_PAGE_QUERY_PAGE_SPECULATIVE	0x40
#define_VM_PAGE_QUERY_PAGE_EXTERNAL	0x80
#define VM_PAGE_QUERY_PAGE_CS_VALIDATED	0x100
#define VM_PAGE_QUERY_PAGE_CS_TAINTED	0x200


/*
