1*4b88e723SAugustin Cavalier /* 2*4b88e723SAugustin Cavalier * Copyright 2019, Haiku, Inc. All rights reserved. 3*4b88e723SAugustin Cavalier * Distributed under the terms of the MIT License. 4*4b88e723SAugustin Cavalier * 5*4b88e723SAugustin Cavalier * Authors: 6*4b88e723SAugustin Cavalier * Augustin Cavalier <waddlesplash> 7*4b88e723SAugustin Cavalier */ 8*4b88e723SAugustin Cavalier #ifndef __NVME_MEMORY_H_ 9*4b88e723SAugustin Cavalier #define __NVME_MEMORY_H_ 10*4b88e723SAugustin Cavalier 11*4b88e723SAugustin Cavalier #include <OS.h> 12*4b88e723SAugustin Cavalier 13*4b88e723SAugustin Cavalier 14*4b88e723SAugustin Cavalier int nvme_mem_init(); 15*4b88e723SAugustin Cavalier void nvme_mem_cleanup(); 16*4b88e723SAugustin Cavalier 17*4b88e723SAugustin Cavalier void* nvme_mem_alloc_node(size_t size, size_t align, 18*4b88e723SAugustin Cavalier unsigned int node_id, phys_addr_t* paddr); 19*4b88e723SAugustin Cavalier void* nvme_malloc_node(size_t size, size_t align, 20*4b88e723SAugustin Cavalier unsigned int node_id); 21*4b88e723SAugustin Cavalier 22*4b88e723SAugustin Cavalier phys_addr_t nvme_mem_vtophys(void* vaddr); 23*4b88e723SAugustin Cavalier 24*4b88e723SAugustin Cavalier 25*4b88e723SAugustin Cavalier #define NVME_VTOPHYS_ERROR (~0ULL) 26*4b88e723SAugustin Cavalier 27*4b88e723SAugustin Cavalier #define nvme_node_max() (1) 28*4b88e723SAugustin Cavalier #define NVME_NODE_MAX (1) 29*4b88e723SAugustin Cavalier #define nvme_node_id() (0) 30*4b88e723SAugustin Cavalier 31*4b88e723SAugustin Cavalier 32*4b88e723SAugustin Cavalier #endif /* __NVME_MEMORY_H_ */ 33