-/**
- * \brief Sets the node and offset associated with a page
- */
-int MM_SetPageInfo(tPAddr PAddr, void *Node, Uint64 Offset)
-{
- PAddr >>= 12;
-
- // Page doesn't exist
- if( !(gaPageBitmap[PAddr / 32] & (1 << PAddr%32)) )
- return 1;
- // Allocate info block
- if( MM_GetPhysAddr( (tVAddr)&gaPageInfo[PAddr] ) == 0 )
- {
- tVAddr addr = ((tVAddr)&gaPageInfo[PAddr]) & ~0xFFF;
- Log_Debug("PMem", "MM_SetPageInfo: Info not allocated %llx", PAddr);
- if( MM_Allocate( addr ) == 0 ) {
- Log_KernelPanic("PMem", "MM_SetPageInfo: Out of physical memory");
- }
- memset( (void*)addr, 0, 0x1000);
- }
-
- gaPageInfo[ PAddr ].Node = Node;
- gaPageInfo[ PAddr ].Offset = Offset;
-
- return 0;
-}
-
-/**
- * \brief Gets the Node/Offset of a page
- */
-int MM_GetPageInfo(tPAddr PAddr, void **Node, Uint64 *Offset)
-{
- PAddr >>= 12;
-
- // Page doesn't exist
- if( !(gaPageBitmap[PAddr / 32] & (1 << PAddr%32)) )
- return 1;
- // Info is zero if block is not allocated
- if( MM_GetPhysAddr( (tVAddr)&gaPageInfo[PAddr] ) == 0 )
- {
- if(Node) *Node = NULL;
- if(Offset) *Offset = 0;
- }
- else
- {
- if(Node) *Node = gaPageInfo[ PAddr ].Node;
- if(Offset) *Offset = gaPageInfo[ PAddr ].Offset;
- }
-
- return 0;
-}