1
0
원본 프로젝트 : xt-sys/exectos

Use PHYSICAL_ADDRESS data type in MmAllocateHardwareMemory() routine as it is used in MmMapHardwareMemory() as well to avoid the need of data conversion

This commit is contained in:
2024-07-13 15:54:10 +02:00
부모 ceb36ae8ec
커밋 cb64235953
2개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제

파일 보기

@@ -17,7 +17,7 @@ XTAPI
XTSTATUS XTSTATUS
MmAllocateHardwareMemory(IN PFN_NUMBER PageCount, MmAllocateHardwareMemory(IN PFN_NUMBER PageCount,
IN BOOLEAN Aligned, IN BOOLEAN Aligned,
OUT PULONG_PTR Buffer); OUT PPHYSICAL_ADDRESS Buffer);
XTAPI XTAPI
XTSTATUS XTSTATUS

파일 보기

@@ -29,7 +29,7 @@ XTAPI
XTSTATUS XTSTATUS
MmAllocateHardwareMemory(IN PFN_NUMBER PageCount, MmAllocateHardwareMemory(IN PFN_NUMBER PageCount,
IN BOOLEAN Aligned, IN BOOLEAN Aligned,
OUT PULONG_PTR Buffer) OUT PPHYSICAL_ADDRESS Buffer)
{ {
PLOADER_MEMORY_DESCRIPTOR Descriptor, ExtraDescriptor, HardwareDescriptor; PLOADER_MEMORY_DESCRIPTOR Descriptor, ExtraDescriptor, HardwareDescriptor;
PFN_NUMBER Alignment, MaxPage; PFN_NUMBER Alignment, MaxPage;
@@ -37,7 +37,7 @@ MmAllocateHardwareMemory(IN PFN_NUMBER PageCount,
PLIST_ENTRY ListEntry; PLIST_ENTRY ListEntry;
/* Assume failure */ /* Assume failure */
*Buffer = 0; (*Buffer).QuadPart = 0;
/* Calculate maximum page address */ /* Calculate maximum page address */
MaxPage = MM_MAXIMUM_PHYSICAL_ADDRESS >> MM_PAGE_SHIFT; MaxPage = MM_MAXIMUM_PHYSICAL_ADDRESS >> MM_PAGE_SHIFT;
@@ -135,7 +135,7 @@ MmAllocateHardwareMemory(IN PFN_NUMBER PageCount,
} }
/* Return physical address */ /* Return physical address */
*Buffer = PhysicalAddress; (*Buffer).QuadPart = PhysicalAddress;
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }