On 08/09/2011 07:31 PM, Alexander Graf wrote:
When running a PAPR guest, we need to handle a few hypercalls in kernel space, most prominently the page table invalidation (to sync the shadows). So this patch adds handling for a few PAPR hypercalls to PR mode KVM. I tried to share the code with HV mode, but it ended up being a lot easier this way around, as the two differ too much in those details. +++ b/arch/powerpc/kvm/book3s_pr_papr.c @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2011. Freescale Inc. All rights reserved. + * + * Authors: + * Alexander Graf<agraf@xxxxxxx> + * Paul Mackerras<paulus@xxxxxxxxx> + * + * Description: + * + * Hypercall handling for running PAPR guests in PR KVM on Book 3S + * processors. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + */
Copyright freescale, authors Paul and yourself?
+ +static unsigned long get_pteg_addr(struct kvm_vcpu *vcpu, long pte_index) +{ + struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); + unsigned long pteg_addr; + + pte_index<<= 4; + pte_index&= ((1<< ((vcpu_book3s->sdr1& 0x1f) + 11)) - 1)<< 7 | 0x70; + pteg_addr = vcpu_book3s->sdr1& 0xfffffffffffc0000ULL; + pteg_addr |= pte_index; + + return pteg_addr; +}
Evil space crept in. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html