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 ---