ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

marea.c File Reference
#include <ntoskrnl.h>
#include "../cache/section/newmm.h"
#include <debug.h>
#include "ARM3/miarm.h"

Go to the source code of this file.

Defines

#define NDEBUG

Functions

MmIterateFirstNode
Parameters:
NodeHead node of the MEMORY_AREA tree.
Returns:
The leftmost MEMORY_AREA node (ie. the one with lowest address)
static PMEMORY_AREA MmIterateFirstNode (PMEMORY_AREA Node)
MmIterateNextNode
Parameters:
NodeCurrent node in the tree.
Returns:
Next node in the tree (sorted by address).
static PMEMORY_AREA MmIterateNextNode (PMEMORY_AREA Node)
MmIterateLastNode
Parameters:
NodeHead node of the MEMORY_AREA tree.
Returns:
The rightmost MEMORY_AREA node (ie. the one with highest address)
static PMEMORY_AREA MmIterateLastNode (PMEMORY_AREA Node)
MmIteratePreviousNode
Parameters:
NodeCurrent node in the tree.
Returns:
Previous node in the tree (sorted by address).
static PMEMORY_AREA MmIteratePrevNode (PMEMORY_AREA Node)
PMEMORY_AREA NTAPI MmLocateMemoryAreaByAddress (PMMSUPPORT AddressSpace, PVOID Address)
PMEMORY_AREA NTAPI MmLocateMemoryAreaByRegion (PMMSUPPORT AddressSpace, PVOID Address, ULONG_PTR Length)
MmCompressHelper

This is helper of MmRebalanceTree. Performs a compression transformation count times, starting at root.

static VOID MmCompressHelper (PMMSUPPORT AddressSpace, ULONG Count)
MmRebalanceTree

Rebalance a memory area tree using the Tree->Vine->Balanced Tree method described in libavl documentation in chapter 4.12. (http://www.stanford.edu/~blp/avl/libavl.html/)

static VOID MmRebalanceTree (PMMSUPPORT AddressSpace)
VOID NTAPI MiInsertVad (IN PMMVAD Vad, IN PEPROCESS Process)
ULONG NTAPI MiMakeProtectionMask (IN ULONG Protect)
static VOID MmInsertMemoryArea (PMMSUPPORT AddressSpace, PMEMORY_AREA marea)
static PVOID MmFindGapBottomUp (PMMSUPPORT AddressSpace, ULONG_PTR Length, ULONG_PTR Granularity)
static PVOID MmFindGapTopDown (PMMSUPPORT AddressSpace, ULONG_PTR Length, ULONG_PTR Granularity)
PVOID NTAPI MmFindGap (PMMSUPPORT AddressSpace, ULONG_PTR Length, ULONG_PTR Granularity, BOOLEAN TopDown)
ULONG_PTR NTAPI MmFindGapAtAddress (PMMSUPPORT AddressSpace, PVOID Address)
VOID NTAPI MiRemoveNode (IN PMMADDRESS_NODE Node, IN PMM_AVL_TABLE Table)
MmFreeMemoryArea

Free an existing memory area.

Parameters:
AddressSpaceAddress space to free the area from.
MemoryAreaMemory area we're about to free.
FreePageCallback function for each freed page.
FreePageContextContext passed to the callback function.
Returns:
Status
Remarks:
Lock the address space before calling this function.
VOID NTAPI MiDeletePte (IN PMMPTE PointerPte, IN PVOID VirtualAddress, IN PEPROCESS CurrentProcess, IN PMMPTE PrototypePte)
NTSTATUS NTAPI MmFreeMemoryArea (PMMSUPPORT AddressSpace, PMEMORY_AREA MemoryArea, PMM_FREE_PAGE_FUNC FreePage, PVOID FreePageContext)
MmCreateMemoryArea

Create a memory area.

Parameters:
AddressSpaceAddress space to create the area in.
TypeType of the memory area.
BaseAddressBase address for the memory area we're about the create. On input it contains either 0 (auto-assign address) or preferred address. On output it contains the starting address of the newly created area.
LengthLength of the area to allocate.
AttributesProtection attributes for the memory area.
ResultReceives a pointer to the memory area on successful exit.
Returns:
Status
Remarks:
Lock the address space before calling this function.
NTSTATUS NTAPI MmCreateMemoryArea (PMMSUPPORT AddressSpace, ULONG Type, PVOID *BaseAddress, ULONG_PTR Length, ULONG Protect, PMEMORY_AREA *Result, BOOLEAN FixedAddress, ULONG AllocationFlags, PHYSICAL_ADDRESS BoundaryAddressMultiple)
VOID NTAPI MmMapMemoryArea (PVOID BaseAddress, SIZE_T Length, ULONG Consumer, ULONG Protection)
VOID NTAPI MmDeleteProcessAddressSpace2 (IN PEPROCESS Process)
NTSTATUS NTAPI MmDeleteProcessAddressSpace (PEPROCESS Process)

Variables

MEMORY_AREA MiStaticMemoryAreas [MI_STATIC_MEMORY_AREAS]
ULONG MiStaticMemoryAreaCount

Generated on Fri May 25 2012 06:06:30 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.