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
15int __bootdata_preserved(cmma_flag);
16
17void 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
24void 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}
33