Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / s390 / mm / page-states.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright IBM Corp. 2008
4  *
5  * Guest page hinting for unused pages.
6  *
7  * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
8  */
9
10 #include <linux/mm.h>
11 #include <asm/page-states.h>
12 #include <asm/sections.h>
13 #include <asm/page.h>
14
15 int __bootdata_preserved(cmma_flag);
16
17 void arch_free_page(struct page *page, int order)
18 {
19         if (!cmma_flag)
20                 return;
21         __set_page_unused(page_to_virt(page), 1UL << order);
22 }
23
24 void arch_alloc_page(struct page *page, int order)
25 {
26         if (!cmma_flag)
27                 return;
28         if (cmma_flag < 2)
29                 __set_page_stable_dat(page_to_virt(page), 1UL << order);
30         else
31                 __set_page_stable_nodat(page_to_virt(page), 1UL << order);
32 }