/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */ #ifndef EAL_HUGEPAGES_H #define EAL_HUGEPAGES_H #include #include #include #define MAX_HUGEPAGE_PATH PATH_MAX /** * Structure used to store informations about hugepages that we mapped * through the files in hugetlbfs. */ struct hugepage_file { void *orig_va; /**< virtual addr of first mmap() */ void *final_va; /**< virtual addr of 2nd mmap() */ uint64_t physaddr; /**< physical addr */ size_t size; /**< the page size */ int socket_id; /**< NUMA socket ID */ int file_id; /**< the '%d' in HUGEFILE_FMT */ int memseg_id; /**< the memory segment to which page belongs */ char filepath[MAX_HUGEPAGE_PATH]; /**< path to backing file on filesystem */ }; /** * Read the information from linux on what hugepages are available * for the EAL to use */ int eal_hugepage_info_init(void); #endif /* EAL_HUGEPAGES_H */