34 #define TEST_SIZE 0x200 35 #define TEST_PATTERN1 0xAA 36 #define TEST_PATTERN2 0x55 111 ERR(
"Multiboot info structure not found!\n");
117 ERR(
"Multiboot memory map is not passed!\n");
127 ERR(
"Multiboot memory map structure is malformed!\n");
163 TRACE(
"XboxMemGetMemoryMap()\n");
170 for (
i = 0;
i <
Count;
i++, MbMap++)
176 ERR(
"Memory descriptor base or size is greater than 4 GB, should not happen on Xbox!\n");
multiboot_info_t * MultibootInfoPtr
NTKERNELAPI VOID NTAPI WRITE_REGISTER_ULONG(IN PULONG Register, IN ULONG Value)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define MAX_BIOS_DESCRIPTORS
BIOS_MEMORY_MAP MemoryMap[32]
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE Usage
IN PVOID IN PVOID IN USHORT IN USHORT Size
VOID ReserveMemory(PFREELDR_MEMORY_DESCRIPTOR MemoryMap, ULONG_PTR BaseAddress, SIZE_T Size, TYPE_OF_MEMORY MemoryType, PCHAR Usage)
TYPE_OF_MEMORY XboxMultibootMemoryType(ULONG Type)
enum _TYPE_OF_MEMORY TYPE_OF_MEMORY
static ULONG AvailableMemoryMb
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
#define MB_INFO_FLAG_MEMORY_MAP
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
struct memory_map memory_map_t
PFREELDR_MEMORY_DESCRIPTOR XboxMemGetMemoryMap(ULONG *MemoryMapSize)
memory_map_t * XboxGetMultibootMemoryMap(INT *Count)
DBG_DEFAULT_CHANNEL(MEMORY)
unsigned long length_high
PPC_QUAL void __wbinvd(void)
unsigned long base_addr_low
unsigned long mmap_length
FREELDR_MEMORY_DESCRIPTOR XboxMemoryMap[MAX_BIOS_DESCRIPTORS+1]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
unsigned long base_addr_high
#define CONFIG_CMD(bus, dev_fn, where)
static ULONG InstalledMemoryMb
VOID SetMemory(PFREELDR_MEMORY_DESCRIPTOR MemoryMap, ULONG_PTR BaseAddress, SIZE_T Size, TYPE_OF_MEMORY MemoryType)
ULONG PcMemFinalizeMemoryMap(PFREELDR_MEMORY_DESCRIPTOR MemoryMap)