hibernate.c (7ae9fb1b7ecbb5d85d07857943f677fd1a559b18) hibernate.c (907835e6dee6f77ac30ae50bb3f88bd92055c86e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Hibernation support for x86
4 *
5 * Copyright (c) 2007 Rafael J. Wysocki <rjw@sisk.pl>
6 * Copyright (c) 2002 Pavel Machek <pavel@ucw.cz>
7 * Copyright (c) 2001 Patrick Mochel <mochel@osdl.org>
8 */

--- 156 unchanged lines hidden (view full) ---

165 pgd = (pgd_t *)__va(read_cr3_pa()) +
166 pgd_index(relocated_restore_code);
167 p4d = p4d_offset(pgd, relocated_restore_code);
168 if (p4d_large(*p4d)) {
169 set_p4d(p4d, __p4d(p4d_val(*p4d) & ~_PAGE_NX));
170 goto out;
171 }
172 pud = pud_offset(p4d, relocated_restore_code);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Hibernation support for x86
4 *
5 * Copyright (c) 2007 Rafael J. Wysocki <rjw@sisk.pl>
6 * Copyright (c) 2002 Pavel Machek <pavel@ucw.cz>
7 * Copyright (c) 2001 Patrick Mochel <mochel@osdl.org>
8 */

--- 156 unchanged lines hidden (view full) ---

165 pgd = (pgd_t *)__va(read_cr3_pa()) +
166 pgd_index(relocated_restore_code);
167 p4d = p4d_offset(pgd, relocated_restore_code);
168 if (p4d_large(*p4d)) {
169 set_p4d(p4d, __p4d(p4d_val(*p4d) & ~_PAGE_NX));
170 goto out;
171 }
172 pud = pud_offset(p4d, relocated_restore_code);
173 if (pud_large(*pud)) {
173 if (pud_leaf(*pud)) {
174 set_pud(pud, __pud(pud_val(*pud) & ~_PAGE_NX));
175 goto out;
176 }
177 pmd = pmd_offset(pud, relocated_restore_code);
178 if (pmd_large(*pmd)) {
179 set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_NX));
180 goto out;
181 }

--- 38 unchanged lines hidden ---
174 set_pud(pud, __pud(pud_val(*pud) & ~_PAGE_NX));
175 goto out;
176 }
177 pmd = pmd_offset(pud, relocated_restore_code);
178 if (pmd_large(*pmd)) {
179 set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_NX));
180 goto out;
181 }

--- 38 unchanged lines hidden ---