summaryrefslogtreecommitdiff
path: root/kvm.h
diff options
context:
space:
mode:
authormax <max@maxpad.(none)>2010-12-26 13:22:48 +0100
committermax <max@maxpad.(none)>2010-12-26 13:22:48 +0100
commit94afd93685ef1dae2f8b61e10a5bfe63eab6c651 (patch)
treefe93b9ee7d929d97e740017d1943c1333516ebd5 /kvm.h
parent74210da6801d87dcf9552c97497a60da88c99bde (diff)
downloadillumos-kvm-94afd93685ef1dae2f8b61e10a5bfe63eab6c651.tar.gz
More code added, qemu userland gets segv
Diffstat (limited to 'kvm.h')
-rw-r--r--kvm.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/kvm.h b/kvm.h
index 231f8bd..c067341 100644
--- a/kvm.h
+++ b/kvm.h
@@ -876,6 +876,24 @@ struct pvclock_wall_clock {
#ifdef _KERNEL
+struct kvm_shadow_walk_iterator {
+ uint64_t addr;
+ hpa_t shadow_addr;
+ int level;
+ uint64_t *sptep;
+ unsigned index;
+};
+
+extern void shadow_walk_init(struct kvm_shadow_walk_iterator *iterator,
+ struct kvm_vcpu *vcpu, uint64_t addr);
+extern int shadow_walk_okay(struct kvm_shadow_walk_iterator *iterator);
+extern void shadow_walk_next(struct kvm_shadow_walk_iterator *iterator);
+
+#define for_each_shadow_entry(_vcpu, _addr, _walker) \
+ for (shadow_walk_init(&(_walker), _vcpu, _addr); \
+ shadow_walk_okay(&(_walker)); \
+ shadow_walk_next(&(_walker)))
+
struct kvm {
kmutex_t mmu_lock;
kmutex_t requests_lock;
@@ -910,11 +928,11 @@ struct kvm {
/*#endif*/
kmutex_t irq_lock;
-#ifdef CONFIG_HAVE_KVM_IRQCHIP
+/*#ifdef CONFIG_HAVE_KVM_IRQCHIP*/
struct kvm_irq_routing_table *irq_routing;
list_t mask_notifier_list;
list_t irq_ack_notifier_list;
-#endif
+/*#endif*/
#ifdef XXX
#ifdef KVM_ARCH_WANT_MMU_NOTIFIER