16#define kNeDMAPoolStart (0x1000000)
17#define kNeDMAPoolSize (0x1000000)
18#elif defined(__NE_ARM64__)
22#define kNeDMAPoolStart (0x1000000)
23#define kNeDMAPoolSize (0x1000000)
26#define kNeDMABestAlign (8)
52 addr = (addr + (align - 1)) & ~(align - 1);
74 if (!ptr || ptr < (
UInt8*) kNeDMAPoolStart) {
92 if (!ptr || ptr < (
UInt8*) kNeDMAPoolStart) {
97 for (
SizeT buf_idx = 0UL; buf_idx < size_buffer; ++buf_idx) {
#define kNeDMABestAlign
Definition DmaPool.h:26
#define err_global_get()
Definition KPC.h:25
EXTERN_C Int32 mm_memory_fence(VoidPtr virtual_address)
clflush+mfence helper function.
Definition HalPagingMgr.cc:104
UPS inline definitions.
Definition Device.h:12
void Void
Definition Config.h:87
__SIZE_TYPE__ SizeT
Definition Config.h:60
constexpr KPCError kErrorDmaExhausted
Definition KPC.h:66
__UINT8_TYPE__ UInt8
Definition Config.h:55
void * VoidPtr
Definition Config.h:33
UInt8 * kDmaPoolPtr
DMA pool base pointer, here we're sure that AHCI or whatever tricky standard sees it.
Definition DmaPool.h:30
const UInt8 * kDmaPoolEnd
Definition DmaPool.h:31
Void rtl_dma_free(SizeT size)
Free DMA pointer.
Definition DmaPool.h:69
VoidPtr rtl_dma_alloc(SizeT size, SizeT align)
allocate from the rtl_dma_alloc system.
Definition DmaPool.h:38
Void rtl_dma_flush(VoidPtr ptr, SizeT size_buffer)
Flush DMA pointer.
Definition DmaPool.h:87
__UINTPTR_TYPE__ UIntPtr
Definition Config.h:62