kvm.c (58969eeece99abd6d31d530ad371e789419ec9bf) | kvm.c (26cd35b8613881c410d5226e6dc56e7bfb4b83d1) |
---|---|
1/* 2 * PowerPC implementation of KVM hooks 3 * 4 * Copyright IBM Corp. 2007 5 * Copyright (C) 2011 Freescale Semiconductor, Inc. 6 * 7 * Authors: 8 * Jerone Young <jyoung5@us.ibm.com> --- 434 unchanged lines hidden (view full) --- 443 444 /* Convert to QEMU form */ 445 memset(cpu->hash64_opts->sps, 0, sizeof(*cpu->hash64_opts->sps)); 446 447 /* If we have HV KVM, we need to forbid CI large pages if our 448 * host page size is smaller than 64K. 449 */ 450 if (smmu_info.flags & KVM_PPC_PAGE_SIZES_REAL) { | 1/* 2 * PowerPC implementation of KVM hooks 3 * 4 * Copyright IBM Corp. 2007 5 * Copyright (C) 2011 Freescale Semiconductor, Inc. 6 * 7 * Authors: 8 * Jerone Young <jyoung5@us.ibm.com> --- 434 unchanged lines hidden (view full) --- 443 444 /* Convert to QEMU form */ 445 memset(cpu->hash64_opts->sps, 0, sizeof(*cpu->hash64_opts->sps)); 446 447 /* If we have HV KVM, we need to forbid CI large pages if our 448 * host page size is smaller than 64K. 449 */ 450 if (smmu_info.flags & KVM_PPC_PAGE_SIZES_REAL) { |
451 env->ci_large_pages = getpagesize() >= 0x10000; | 451 if (getpagesize() >= 0x10000) { 452 cpu->hash64_opts->flags |= PPC_HASH64_CI_LARGEPAGE; 453 } else { 454 cpu->hash64_opts->flags &= ~PPC_HASH64_CI_LARGEPAGE; 455 } |
452 } 453 454 /* 455 * XXX This loop should be an entry wide AND of the capabilities that 456 * the selected CPU has with the capabilities that KVM supports. 457 */ 458 for (ik = iq = 0; ik < KVM_PPC_PAGE_SIZES_MAX_SZ; ik++) { 459 PPCHash64SegmentPageSizes *qsps = &cpu->hash64_opts->sps[iq]; --- 2405 unchanged lines hidden --- | 456 } 457 458 /* 459 * XXX This loop should be an entry wide AND of the capabilities that 460 * the selected CPU has with the capabilities that KVM supports. 461 */ 462 for (ik = iq = 0; ik < KVM_PPC_PAGE_SIZES_MAX_SZ; ik++) { 463 PPCHash64SegmentPageSizes *qsps = &cpu->hash64_opts->sps[iq]; --- 2405 unchanged lines hidden --- |