/// <summary> /// Gets the memory map index location. /// </summary> /// <param name="index">The index.</param> /// <returns></returns> private static MultiBootMemoryMap *GetMemoryMapIndexLocation(uint index) { MultiBootMemoryMap *location = (MultiBootMemoryMap *)MemoryMapStart; for (uint i = 0; i < index; i++) { location = location->Next; } return(location); }
/// <summary> /// Counts the memory map. /// </summary> private static void CountMemoryMap() { memoryMapCount = 0; MultiBootMemoryMap *location = (MultiBootMemoryMap *)MemoryMapStart; while ((uint)location < (MemoryMapStart + MemoryMapLength)) { memoryMapCount++; //location = (MultiBootMemoryMap*)(((uint)location) + location->size + 4); location = location->Next; } }