xref: /haiku/src/add-ons/kernel/drivers/disk/nvme/compat/nvme_mem.h (revision 4b88e723504583a68377602ba696d386d215766d)
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