| 1 |
|
| 2 | #ifndef _LINUX_HUGETLB_CMA_H
|
| 3 | #define _LINUX_HUGETLB_CMA_H
|
| 4 |
|
| 5 | #include <linux/hugetlb.h>
|
| 6 |
|
| 7 | #ifdef CONFIG_CMA
|
| 8 | void hugetlb_cma_free_frozen_folio(struct folio *folio);
|
| 9 | struct folio *hugetlb_cma_alloc_frozen_folio(int order, gfp_t gfp_mask,
|
| 10 | int nid, nodemask_t *nodemask);
|
| 11 | void *hugetlb_cma_alloc_bootmem(struct hstate *h, int nid, bool node_exact);
|
| 12 | bool hugetlb_cma_exclusive_alloc(void);
|
| 13 | unsigned long hugetlb_cma_total_size(void);
|
| 14 | void hugetlb_cma_validate_params(void);
|
| 15 | bool hugetlb_early_cma(struct hstate *h);
|
| 16 | #else
|
| 17 | static inline void hugetlb_cma_free_frozen_folio(struct folio *folio)
|
| 18 | {
|
| 19 | }
|
| 20 |
|
| 21 | static inline struct folio *hugetlb_cma_alloc_frozen_folio(int order,
|
| 22 | gfp_t gfp_mask, int nid, nodemask_t *nodemask)
|
| 23 | {
|
| 24 | return NULL;
|
| 25 | }
|
| 26 |
|
| 27 | static inline void *hugetlb_cma_alloc_bootmem(struct hstate *h, int nid,
|
| 28 | bool node_exact)
|
| 29 | {
|
| 30 | return NULL;
|
| 31 | }
|
| 32 |
|
| 33 | static inline bool hugetlb_cma_exclusive_alloc(void)
|
| 34 | {
|
| 35 | return false;
|
| 36 | }
|
| 37 |
|
| 38 | static inline unsigned long hugetlb_cma_total_size(void)
|
| 39 | {
|
| 40 | return 0;
|
| 41 | }
|
| 42 |
|
| 43 | static inline void hugetlb_cma_validate_params(void)
|
| 44 | {
|
| 45 | }
|
| 46 |
|
| 47 | static inline bool hugetlb_early_cma(struct hstate *h)
|
| 48 | {
|
| 49 | return false;
|
| 50 | }
|
| 51 | #endif
|
| 52 | #endif
|