mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-11-16 13:55:04 +00:00
add pgtable callbacks set_pgentry to implement arch specific set generic page table entry for any paging level, and remove x86 specific tweak_exe_right/recover_exe_right callbacks, move the logic in set_pgentry callback. remove common set_pgentry function to avoid confusing. Tracked-On: #8831 Signed-off-by: hangliu1 <hang1.liu@intel.com> Reviewed-by: Fei Li <fei1.li@intel.com> Acked-by: Wang, Yu1 <yu1.wang@intel.com>
31 lines
864 B
C
31 lines
864 B
C
/*
|
|
* Copyright (C) 2023-2024 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
*/
|
|
|
|
#ifndef __X86_MM_COMMON_H__
|
|
#define __X86_MM_COMMON_H__
|
|
#include <asm/pgtable.h>
|
|
|
|
#define PGTL3_SHIFT PML4E_SHIFT
|
|
#define PGTL3_SIZE (1UL << PGTL3_SHIFT)
|
|
#define PGTL3_MASK (~(PGTL3_SIZE - 1UL))
|
|
#define PTRS_PER_PGTL3E PTRS_PER_PML4E
|
|
#define PGTL2_SHIFT PDPTE_SHIFT
|
|
#define PGTL2_SIZE (1UL << PGTL2_SHIFT)
|
|
#define PGTL2_MASK (~(PGTL2_SIZE - 1UL))
|
|
#define PTRS_PER_PGTL2E PTRS_PER_PDPTE
|
|
#define PGTL1_SHIFT PDE_SHIFT
|
|
#define PGTL1_SIZE (1UL << PGTL1_SHIFT)
|
|
#define PGTL1_MASK (~(PGTL1_SIZE - 1UL))
|
|
#define PTRS_PER_PGTL1E PTRS_PER_PDE
|
|
#define PGTL0_SHIFT PTE_SHIFT
|
|
#define PGTL0_SIZE (1UL << PGTL0_SHIFT)
|
|
#define PGTL0_MASK (~(PGTL0_SIZE - 1UL))
|
|
#define PTRS_PER_PGTL0E PTRS_PER_PTE
|
|
#define PAGE_PFN_OFFSET 12
|
|
|
|
#endif /*__X86_MM_COMMON_H__ */
|