Lines Matching +full:boot +full:- +full:pages
1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2017-2022 Google LLC
22 #define shadow_page_for(page) ((page)->kmsan_shadow)
24 #define origin_page_for(page) ((page)->kmsan_origin)
48 * Dummy load and store pages to be used when the real metadata is unavailable.
49 * There are separate pages for loads and stores, so that every load returns a
61 off = addr64 - VMALLOC_START;
66 off = addr64 - MODULES_VADDR;
120 * none. The caller must check the return value for being non-NULL if needed.
175 int pages = 1 << order;
184 __memset(page_address(shadow), 0, PAGE_SIZE * pages);
185 __memset(page_address(origin), 0, PAGE_SIZE * pages);
189 /* Zero pages allocated by the runtime should also be initialized. */
193 __memset(page_address(shadow), -1, PAGE_SIZE * pages);
198 * Addresses are page-aligned, pages are contiguous, so it's ok
199 * to just fill the origin pages with @handle.
201 for (int i = 0; i < PAGE_SIZE * pages / sizeof(handle); i++)
218 pgprot_t prot, struct page **pages,
233 nr = (end - start) / PAGE_SIZE;
237 err = -ENOMEM;
241 s_pages[i] = shadow_page_for(pages[i]);
242 o_pages[i] = origin_page_for(pages[i]);
273 /* Allocate metadata for pages allocated at boot time. */
282 size = PAGE_ALIGN((u64)end - (u64)start);