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