| 1234567891011121314151617181920212223242526272829303132333435363738 |
- /* SPDX-License-Identifier: GPL-2.0-or-later */
- #ifndef _LINUX_MMZONE_H
- #define _LINUX_MMZONE_H
- #include <linux/atomic.h>
- struct pglist_data *first_online_pgdat(void);
- struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
- #define for_each_online_pgdat(pgdat) \
- for (pgdat = first_online_pgdat(); \
- pgdat; \
- pgdat = next_online_pgdat(pgdat))
- enum zone_type {
- __MAX_NR_ZONES
- };
- #define MAX_NR_ZONES __MAX_NR_ZONES
- #define MAX_PAGE_ORDER 10
- #define MAX_ORDER_NR_PAGES (1 << MAX_PAGE_ORDER)
- #define pageblock_order MAX_PAGE_ORDER
- #define pageblock_nr_pages BIT(pageblock_order)
- #define pageblock_align(pfn) ALIGN((pfn), pageblock_nr_pages)
- #define pageblock_start_pfn(pfn) ALIGN_DOWN((pfn), pageblock_nr_pages)
- struct zone {
- atomic_long_t managed_pages;
- };
- typedef struct pglist_data {
- struct zone node_zones[MAX_NR_ZONES];
- } pg_data_t;
- #endif /* _LINUX_MMZONE_H */
|