18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* Shadow paging constants/helpers that don't need to be #undef'd. */ 38c2ecf20Sopenharmony_ci#ifndef __KVM_X86_PAGING_H 48c2ecf20Sopenharmony_ci#define __KVM_X86_PAGING_H 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#define GUEST_PT64_BASE_ADDR_MASK (((1ULL << 52) - 1) & ~(u64)(PAGE_SIZE-1)) 78c2ecf20Sopenharmony_ci#define PT64_LVL_ADDR_MASK(level) \ 88c2ecf20Sopenharmony_ci (GUEST_PT64_BASE_ADDR_MASK & ~((1ULL << (PAGE_SHIFT + (((level) - 1) \ 98c2ecf20Sopenharmony_ci * PT64_LEVEL_BITS))) - 1)) 108c2ecf20Sopenharmony_ci#define PT64_LVL_OFFSET_MASK(level) \ 118c2ecf20Sopenharmony_ci (GUEST_PT64_BASE_ADDR_MASK & ((1ULL << (PAGE_SHIFT + (((level) - 1) \ 128c2ecf20Sopenharmony_ci * PT64_LEVEL_BITS))) - 1)) 138c2ecf20Sopenharmony_ci#endif /* __KVM_X86_PAGING_H */ 148c2ecf20Sopenharmony_ci 15