Re: [PATCH 5/7] KVM: mmu virtualization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>+static int is_write_protection(void)
>+{
>+    return guest_cr0() & CR0_WP_MASK;
>+}
>+
>+static int is_cpuid_PSE36(void)
>+{
>+    return 1;
>+}
>+
>+static int is_present_pte(unsigned long pte)
>+{
>+    return pte & PT_PRESENT_MASK;
>+}
>+
>+static int is_writeble_pte(unsigned long pte)
>+{
>+    return pte & PT_WRITABLE_MASK;
>+}
>+
>+static int is_io_pte(unsigned long pte)
>+{
>+    return pte & PT_SHADOW_IO_MARK;
>+}

Unless the above will grow in size by later patches, or is taken address of,
mark them static inline.

>+static void nonpaging_new_cr3(struct kvm_vcpu *vcpu)
>+{
>+}

Remove it unless needed shortly afterwards.

>+static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr)
>+{
>+    return vaddr;
>+}

Candidate for inline too.

>+static void nonpaging_inval_page(struct kvm_vcpu *vcpu, gva_t addr)
>+{
>+}

Removal candidate

>+
>+static void paging_new_cr3(struct kvm_vcpu *vcpu)
>+{
>+    kvm_mmu_flush_tlb(vcpu);
>+}
>+
>+static void mark_pagetable_nonglobal(void *shadow_pte)
>+{
>+    page_header(__pa(shadow_pte))->global = 0;
>+}
>
>+static void paging_free(struct kvm_vcpu *vcpu)
>+{
>+    nonpaging_free(vcpu);
>+}

>+int kvm_mmu_reset_context(struct kvm_vcpu *vcpu)
>+{
>+    destroy_kvm_mmu(vcpu);
>+    return init_kvm_mmu(vcpu);
>+}

Inline candidate.

>Index: linux-2.6/drivers/kvm/paging_tmpl.h
>===================================================================
>+    #define PT_DIR_BASE_ADDR_MASK PT32_DIR_BASE_ADDR_MASK
>+    #define PT_INDEX(addr, level) PT32_INDEX(addr, level)
>+    #define SHADOW_PT_INDEX(addr, level) PT64_INDEX(addr, level)
>+    #define PT_LEVEL_MASK(level) PT32_LEVEL_MASK(level)
>+    #define PT_PTE_COPY_MASK PT32_PTE_COPY_MASK
>+    #define PT_NON_PTE_COPY_MASK PT32_NON_PTE_COPY_MASK
>+#else
>+    error
>+#endif

	#error Free Ad Space Here
it is.

>+static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
>+                  struct guest_walker *walker)

I am not particularly thrilled about the FNAME() thing but I do not see a
better way ATM. Maybe someone else does.



	-`J'
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux