On 08/09/2011 06:40 PM, Avi Kivity wrote:
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<ag...@suse.de>
+ *    Paul Mackerras<pau...@samba.org>
+ *
+ * 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?

Yeah, I'm reasonably clueless when it comes to legal stuff. This code is inspired by Paul's, but is mostly rewritten since it's so tied into the virtual MMU. What would the copyright be in that case?


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


Oh noez! Fixed it :)


Alex

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to