My Project
Loading...
Searching...
No Matches
omPage.h File Reference

Go to the source code of this file.

Macros

#define OM_SIZEOF_INDEX_PAGE   (SIZEOF_SYSTEM_PAGE << LOG_BIT_SIZEOF_LONG)
 
#define omGetPageShiftOfAddr(addr)
 
#define omGetPageIndexOfAddr(addr)
 
#define omIsPageAddr(addr)
 
#define omRegisterPageIndex(index)
 
#define omRegisterExternalAddr(addr)
 
#define omRegisterPageAddr(addr)
 
#define omIsAddrPageAligned(addr)
 
#define omGetPageOfAddr(addr)
 
#define omGetBinPageOfAddr(addr)
 
#define omIsAddrOnPage(addr, page)
 
#define omAreAddrOnSamePage(a1, a2)
 
#define omIsNotAddrOnFreePage(addr)
 

Functions

void omPageIndexFault (unsigned long page_index)
 
void * omGetPage ()
 
void omFreePage (void *page)
 
void omReleaseFreePages ()
 
int omGetNumberOfFreePages ()
 
int omGetNumberOfUsedPages ()
 
int omGetNumberOfAllocatedPages ()
 
int omIsAddrOnFreePage (void *addr)
 
int omIsAddrOnRegisteredPage (void *addr)
 

Variables

unsigned long omMaxPageIndex
 
unsigned long omMinPageIndex
 
unsigned long * omPageIndicies
 

Macro Definition Documentation

◆ OM_SIZEOF_INDEX_PAGE

#define OM_SIZEOF_INDEX_PAGE   (SIZEOF_SYSTEM_PAGE << LOG_BIT_SIZEOF_LONG)

Definition at line 36 of file omPage.h.

◆ omAreAddrOnSamePage

#define omAreAddrOnSamePage ( a1,
a2 )
Value:
#define omGetPageOfAddr(addr)
Definition omBinPage.h:19

Definition at line 114 of file omPage.h.

114#define omAreAddrOnSamePage(a1, a2) \
115 (omGetPageOfAddr(a1) == omGetPageOfAddr(a2))

◆ omGetBinPageOfAddr

#define omGetBinPageOfAddr ( addr)
Value:
((omBinPage) ((long) (addr) & ~(SIZEOF_SYSTEM_PAGE -1)))
omBinPage_t * omBinPage
Definition omStructs.h:16

Definition at line 109 of file omPage.h.

109#define omGetBinPageOfAddr(addr) \
110 ((omBinPage) ((long) (addr) & ~(SIZEOF_SYSTEM_PAGE -1)))

◆ omGetPageIndexOfAddr

#define omGetPageIndexOfAddr ( addr)
Value:
(((unsigned long) addr) >> (LOG_BIT_SIZEOF_LONG + LOG_BIT_SIZEOF_SYSTEM_PAGE))

Definition at line 41 of file omPage.h.

41#define omGetPageIndexOfAddr(addr) \
42 (((unsigned long) addr) >> (LOG_BIT_SIZEOF_LONG + LOG_BIT_SIZEOF_SYSTEM_PAGE))

◆ omGetPageOfAddr

#define omGetPageOfAddr ( addr)
Value:
((void*) ((long) (addr) & ~(SIZEOF_SYSTEM_PAGE -1)))

Definition at line 106 of file omPage.h.

106#define omGetPageOfAddr(addr) \
107 ((void*) ((long) (addr) & ~(SIZEOF_SYSTEM_PAGE -1)))

◆ omGetPageShiftOfAddr

#define omGetPageShiftOfAddr ( addr)
Value:
((((unsigned long) addr) & (OM_SIZEOF_INDEX_PAGE -1)) >> LOG_BIT_SIZEOF_SYSTEM_PAGE)
#define OM_SIZEOF_INDEX_PAGE
Definition omBinPage.h:58

Definition at line 38 of file omPage.h.

38#define omGetPageShiftOfAddr(addr) \
39 ((((unsigned long) addr) & (OM_SIZEOF_INDEX_PAGE -1)) >> LOG_BIT_SIZEOF_SYSTEM_PAGE)

◆ omIsAddrOnPage

#define omIsAddrOnPage ( addr,
page )
Value:
(omGetPageOfAddr(addr) == (void*) (page))

Definition at line 112 of file omPage.h.

◆ omIsAddrPageAligned

#define omIsAddrPageAligned ( addr)
Value:
(((long) (addr) & (SIZEOF_SYSTEM_PAGE -1)) == 0)

Definition at line 103 of file omPage.h.

103#define omIsAddrPageAligned(addr) \
104 (((long) (addr) & (SIZEOF_SYSTEM_PAGE -1)) == 0)

◆ omIsNotAddrOnFreePage

#define omIsNotAddrOnFreePage ( addr)
Value:
int omIsAddrOnFreePage(void *addr)

Definition at line 120 of file omPage.h.

◆ omIsPageAddr

#define omIsPageAddr ( addr)
Value:
(((unsigned long)1) << omGetPageShiftOfAddr(addr))) != 0)
#define omGetPageShiftOfAddr(addr)
Definition omBinPage.h:60
#define omGetPageIndexOfAddr(addr)
Definition omBinPage.h:63
unsigned long omMinPageIndex
unsigned long * omPageIndicies

Definition at line 44 of file omPage.h.

44#define omIsPageAddr(addr) \
45 ((omPageIndicies[omGetPageIndexOfAddr(addr) - omMinPageIndex] & \
46 (((unsigned long)1) << omGetPageShiftOfAddr(addr))) != 0)

◆ omRegisterExternalAddr

#define omRegisterExternalAddr ( addr)
Value:
do \
{ \
unsigned long _omPageIndex = omGetPageIndexOfAddr(addr); \
omRegisterPageIndex(_omPageIndex); \
omPageIndicies[_omPageIndex - omMinPageIndex] &= \
~ (((unsigned long) 1) << omGetPageShiftOfAddr(addr)); \
} \
while (0)

Definition at line 63 of file omPage.h.

63#define omRegisterExternalAddr(addr) \
64do \
65{ \
66 unsigned long _omPageIndex = omGetPageIndexOfAddr(addr); \
67 omRegisterPageIndex(_omPageIndex); \
68 omPageIndicies[_omPageIndex - omMinPageIndex] &= \
69 ~ (((unsigned long) 1) << omGetPageShiftOfAddr(addr)); \
70} \
71while (0)

◆ omRegisterPageAddr

#define omRegisterPageAddr ( addr)
Value:
do \
{ \
unsigned long _omPageIndex = omGetPageIndexOfAddr(addr); \
omRegisterPageIndex(_omPageIndex); \
omPageIndicies[_omPageIndex - omMinPageIndex] |= \
(((unsigned long) 1) << omGetPageShiftOfAddr(addr)); \
} \
while (0)

Definition at line 73 of file omPage.h.

73#define omRegisterPageAddr(addr) \
74do \
75{ \
76 unsigned long _omPageIndex = omGetPageIndexOfAddr(addr); \
77 omRegisterPageIndex(_omPageIndex); \
78 omPageIndicies[_omPageIndex - omMinPageIndex] |= \
79 (((unsigned long) 1) << omGetPageShiftOfAddr(addr)); \
80} \
81while (0)

◆ omRegisterPageIndex

#define omRegisterPageIndex ( index)
Value:
do \
{ \
{ \
omPageIndexFault(index); \
} \
} \
while (0)
unsigned long omMaxPageIndex
static int index(p_Length length, p_Ord ord)

Definition at line 53 of file omPage.h.

53#define omRegisterPageIndex(index) \
54do \
55{ \
56 if (index < omMinPageIndex || index > omMaxPageIndex) \
57 { \
58 omPageIndexFault(index); \
59 } \
60} \
61while (0)

Function Documentation

◆ omFreePage()

void omFreePage ( void * page)

◆ omGetNumberOfAllocatedPages()

int omGetNumberOfAllocatedPages ( )

◆ omGetNumberOfFreePages()

int omGetNumberOfFreePages ( )

◆ omGetNumberOfUsedPages()

int omGetNumberOfUsedPages ( )

◆ omGetPage()

void * omGetPage ( )

◆ omIsAddrOnFreePage()

int omIsAddrOnFreePage ( void * addr)

◆ omIsAddrOnRegisteredPage()

int omIsAddrOnRegisteredPage ( void * addr)

◆ omPageIndexFault()

void omPageIndexFault ( unsigned long page_index)
extern

◆ omReleaseFreePages()

void omReleaseFreePages ( )

Variable Documentation

◆ omMaxPageIndex

unsigned long omMaxPageIndex
extern

◆ omMinPageIndex

unsigned long omMinPageIndex
extern

◆ omPageIndicies

unsigned long* omPageIndicies
extern