struct intel_vgpu_guest_page;
-struct intel_vgpu_shadow_page {
- void *vaddr;
+struct intel_vgpu_scratch_pt {
struct page *page;
- int type;
- struct hlist_node node;
- unsigned long mfn;
+ unsigned long page_mfn;
};
struct intel_vgpu_gtt {
atomic_t n_tracked_guest_page;
struct list_head oos_page_list_head;
struct list_head post_shadow_list_head;
- struct intel_vgpu_shadow_page ppgtt_scratch_page[GTT_TYPE_MAX];
+ struct intel_vgpu_scratch_pt scratch_pt[GTT_TYPE_MAX];
};
extern int intel_vgpu_init_gtt(struct intel_vgpu *vgpu);
struct intel_vgpu_oos_page;
+struct intel_vgpu_shadow_page {
+ void *vaddr;
+ struct page *page;
+ int type;
+ struct hlist_node node;
+ unsigned long mfn;
+};
+
struct intel_vgpu_page_track {
struct hlist_node node;
bool tracked;