PG_LEVEL_2M
case PG_LEVEL_2M:
accept_size = try_accept_one(start, len, PG_LEVEL_2M);
#define RMP_TO_PG_LEVEL(level) (((level) == RMP_PG_SIZE_4K) ? PG_LEVEL_4K : PG_LEVEL_2M)
kvm_mmu_slot_gfn_write_protect(kvm, slot, start, PG_LEVEL_2M);
PG_LEVEL_2M);
level = PG_LEVEL_2M;
order != KVM_HPAGE_GFN_SHIFT(PG_LEVEL_2M) &&
if (order >= KVM_HPAGE_GFN_SHIFT(PG_LEVEL_2M))
return PG_LEVEL_2M;
fault->max_level = PG_LEVEL_2M;
if (huge_page_level < PG_LEVEL_2M)
max_huge_page_level = PG_LEVEL_2M;
for (i = PG_LEVEL_2M; i <= KVM_MAX_HUGEPAGE_LEVEL; ++i) {
for (level = PG_LEVEL_2M; level <= KVM_MAX_HUGEPAGE_LEVEL; level++) {
if (level == PG_LEVEL_2M)
for (level = PG_LEVEL_2M; level <= KVM_MAX_HUGEPAGE_LEVEL; level++) {
for (level = PG_LEVEL_2M; level <= KVM_MAX_HUGEPAGE_LEVEL; level++) {
for_each_tdp_pte_min_level(iter, kvm, root, PG_LEVEL_2M, start, end) {
__tdp_mmu_zap_root(kvm, root, shared, PG_LEVEL_2M);
pfn = pfn & ~(KVM_PAGES_PER_HPAGE(PG_LEVEL_2M) - 1);
if (order >= KVM_HPAGE_GFN_SHIFT(PG_LEVEL_2M))
return PG_LEVEL_2M;
level = PG_LEVEL_2M;
rc = rmp_make_shared(pfn, use_2m_update ? PG_LEVEL_2M : PG_LEVEL_4K);
return PG_LEVEL_2M;
kvm_mmu_slot_remove_write_access(kvm, new, PG_LEVEL_2M);
page_size_mask |= 1 << PG_LEVEL_2M;
if ((page_size_mask & (1<<PG_LEVEL_2M)) &&
!(mr[i].page_size_mask & (1<<PG_LEVEL_2M))) {
mr[i].page_size_mask |= 1<<PG_LEVEL_2M;
mr->page_size_mask & (1<<PG_LEVEL_2M))
if (mr->page_size_mask & (1<<PG_LEVEL_2M))
page_size_mask & (1<<PG_LEVEL_2M));
((1<<PG_LEVEL_2M)|(1<<PG_LEVEL_1G)));
page_size_mask & (1<<PG_LEVEL_2M));
int use_pse = page_size_mask == (1<<PG_LEVEL_2M);
update_page_count(PG_LEVEL_2M, pages_2m);
update_page_count(PG_LEVEL_2M, -pages);
if (page_size_mask & (1 << PG_LEVEL_2M)) {
if (page_size_mask & (1<<PG_LEVEL_2M)) {
update_page_count(PG_LEVEL_2M, pages);
case PG_LEVEL_2M:
case PG_LEVEL_2M:
if (level == PG_LEVEL_2M)
split_page_size_mask = 1 << PG_LEVEL_2M;
if (level == PG_LEVEL_2M) {
} else if (level == PG_LEVEL_2M) {
if (level == PG_LEVEL_2M)
if (level == PG_LEVEL_2M)
case PG_LEVEL_2M:
direct_pages_count[PG_LEVEL_2M] << 11);
direct_pages_count[PG_LEVEL_2M] << 12);
collapse_page_count(PG_LEVEL_2M);
*level = PG_LEVEL_2M;
case PG_LEVEL_2M:
case PG_LEVEL_2M:
if (WARN_ON_ONCE(rmp_level > PG_LEVEL_2M))
if (rmp_level == PG_LEVEL_2M &&
if (rmp_level == PG_LEVEL_2M)
#define PG_SIZE_2M PG_LEVEL_SIZE(PG_LEVEL_2M)
virt_map_level(vm, HPAGE_GVA, HPAGE_GPA, nr_bytes, PG_LEVEL_2M);