C# Class SharpOS.Kernel.ADC.X86.Pager

Hardware specific paging layer
Mostrar archivo Open project: sharpos/SharpOS

Public Methods

Method Description
Enable ( PageAllocator error ) : PageAllocator.Errors
GetBigGranularity ( ) : uint
GetGranularitySize ( uint granularity, PageAllocator ret_err ) : uint
GetMemoryRequirements ( uint totalMem, PagingMemoryRequirements req ) : void
GetPageAttributes ( void page, uint granularity, PageAllocator ret_err ) : PageAttributes
MapPage ( void page, void phys_page, uint granularity, PageAttributes attr ) : PageAllocator.Errors

Changes the mapping of an individual page.

SetPageAttributes ( void page, uint granularity, PageAttributes attr ) : PageAllocator.Errors
Setup ( uint totalMem, byte pagemap, uint pagemapLen, PageAllocator error ) : PageAllocator.Errors

Private Methods

Method Description
ComputeControlReq ( uint totalMem ) : uint
GetAbstractPMA ( PageAttr attr ) : PageAttributes
GetNativePMA ( PageAttributes attr ) : PageAttr
PagePtrToTables ( void page, uint ret_pde, uint ret_pte ) : void
SetDirectory ( uint page ) : void

Method Details

Enable() public static method

public static Enable ( PageAllocator error ) : PageAllocator.Errors
error SharpOS.Kernel.Memory.PageAllocator
return PageAllocator.Errors

GetBigGranularity() public static method

public static GetBigGranularity ( ) : uint
return uint

GetGranularitySize() public static method

public static GetGranularitySize ( uint granularity, PageAllocator ret_err ) : uint
granularity uint
ret_err SharpOS.Kernel.Memory.PageAllocator
return uint

GetMemoryRequirements() public static method

public static GetMemoryRequirements ( uint totalMem, PagingMemoryRequirements req ) : void
totalMem uint
req SharpOS.Kernel.ADC.PagingMemoryRequirements
return void

GetPageAttributes() public static method

public static GetPageAttributes ( void page, uint granularity, PageAllocator ret_err ) : PageAttributes
page void
granularity uint
ret_err SharpOS.Kernel.Memory.PageAllocator
return PageAttributes

MapPage() public static method

Changes the mapping of an individual page.
public static MapPage ( void page, void phys_page, uint granularity, PageAttributes attr ) : PageAllocator.Errors
page void
phys_page void
granularity uint
attr PageAttributes
return PageAllocator.Errors

SetPageAttributes() public static method

public static SetPageAttributes ( void page, uint granularity, PageAttributes attr ) : PageAllocator.Errors
page void
granularity uint
attr PageAttributes
return PageAllocator.Errors

Setup() public static method

public static Setup ( uint totalMem, byte pagemap, uint pagemapLen, PageAllocator error ) : PageAllocator.Errors
totalMem uint
pagemap byte
pagemapLen uint
error SharpOS.Kernel.Memory.PageAllocator
return PageAllocator.Errors