Deleted Added
full compact
vmm.h (241497) vmm.h (241982)
1/*-
2 * Copyright (c) 2011 NetApp, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 49 unchanged lines hidden (view full) ---

58 uint64_t val);
59typedef int (*vmi_get_desc_t)(void *vmi, int vcpu, int num,
60 struct seg_desc *desc);
61typedef int (*vmi_set_desc_t)(void *vmi, int vcpu, int num,
62 struct seg_desc *desc);
63typedef int (*vmi_inject_event_t)(void *vmi, int vcpu,
64 int type, int vector,
65 uint32_t code, int code_valid);
1/*-
2 * Copyright (c) 2011 NetApp, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 49 unchanged lines hidden (view full) ---

58 uint64_t val);
59typedef int (*vmi_get_desc_t)(void *vmi, int vcpu, int num,
60 struct seg_desc *desc);
61typedef int (*vmi_set_desc_t)(void *vmi, int vcpu, int num,
62 struct seg_desc *desc);
63typedef int (*vmi_inject_event_t)(void *vmi, int vcpu,
64 int type, int vector,
65 uint32_t code, int code_valid);
66typedef int (*vmi_inject_nmi_t)(void *vmi, int vcpu);
67typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval);
68typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val);
69
70struct vmm_ops {
71 vmm_init_func_t init; /* module wide initialization */
72 vmm_cleanup_func_t cleanup;
73
74 vmi_init_func_t vminit; /* vm-specific initialization */
75 vmi_run_func_t vmrun;
76 vmi_cleanup_func_t vmcleanup;
77 vmi_mmap_set_func_t vmmmap_set;
78 vmi_mmap_get_func_t vmmmap_get;
79 vmi_get_register_t vmgetreg;
80 vmi_set_register_t vmsetreg;
81 vmi_get_desc_t vmgetdesc;
82 vmi_set_desc_t vmsetdesc;
83 vmi_inject_event_t vminject;
66typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval);
67typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val);
68
69struct vmm_ops {
70 vmm_init_func_t init; /* module wide initialization */
71 vmm_cleanup_func_t cleanup;
72
73 vmi_init_func_t vminit; /* vm-specific initialization */
74 vmi_run_func_t vmrun;
75 vmi_cleanup_func_t vmcleanup;
76 vmi_mmap_set_func_t vmmmap_set;
77 vmi_mmap_get_func_t vmmmap_get;
78 vmi_get_register_t vmgetreg;
79 vmi_set_register_t vmsetreg;
80 vmi_get_desc_t vmgetdesc;
81 vmi_set_desc_t vmsetdesc;
82 vmi_inject_event_t vminject;
84 vmi_inject_nmi_t vmnmi;
85 vmi_get_cap_t vmgetcap;
86 vmi_set_cap_t vmsetcap;
87};
88
89extern struct vmm_ops vmm_ops_intel;
90extern struct vmm_ops vmm_ops_amd;
91
92struct vm *vm_create(const char *name);

--- 12 unchanged lines hidden (view full) ---

105int vm_set_seg_desc(struct vm *vm, int vcpu, int reg,
106 struct seg_desc *desc);
107int vm_get_pinning(struct vm *vm, int vcpu, int *cpuid);
108int vm_set_pinning(struct vm *vm, int vcpu, int cpuid);
109int vm_run(struct vm *vm, struct vm_run *vmrun);
110int vm_inject_event(struct vm *vm, int vcpu, int type,
111 int vector, uint32_t error_code, int error_code_valid);
112int vm_inject_nmi(struct vm *vm, int vcpu);
83 vmi_get_cap_t vmgetcap;
84 vmi_set_cap_t vmsetcap;
85};
86
87extern struct vmm_ops vmm_ops_intel;
88extern struct vmm_ops vmm_ops_amd;
89
90struct vm *vm_create(const char *name);

--- 12 unchanged lines hidden (view full) ---

103int vm_set_seg_desc(struct vm *vm, int vcpu, int reg,
104 struct seg_desc *desc);
105int vm_get_pinning(struct vm *vm, int vcpu, int *cpuid);
106int vm_set_pinning(struct vm *vm, int vcpu, int cpuid);
107int vm_run(struct vm *vm, struct vm_run *vmrun);
108int vm_inject_event(struct vm *vm, int vcpu, int type,
109 int vector, uint32_t error_code, int error_code_valid);
110int vm_inject_nmi(struct vm *vm, int vcpu);
111int vm_nmi_pending(struct vm *vm, int vcpuid);
112void vm_nmi_clear(struct vm *vm, int vcpuid);
113uint64_t *vm_guest_msrs(struct vm *vm, int cpu);
114struct vlapic *vm_lapic(struct vm *vm, int cpu);
115int vm_get_capability(struct vm *vm, int vcpu, int type, int *val);
116int vm_set_capability(struct vm *vm, int vcpu, int type, int val);
117int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state);
118int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state);
119void vm_activate_cpu(struct vm *vm, int vcpu);
120cpuset_t vm_active_cpus(struct vm *vm);

--- 172 unchanged lines hidden ---
113uint64_t *vm_guest_msrs(struct vm *vm, int cpu);
114struct vlapic *vm_lapic(struct vm *vm, int cpu);
115int vm_get_capability(struct vm *vm, int vcpu, int type, int *val);
116int vm_set_capability(struct vm *vm, int vcpu, int type, int val);
117int vm_get_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state *state);
118int vm_set_x2apic_state(struct vm *vm, int vcpu, enum x2apic_state state);
119void vm_activate_cpu(struct vm *vm, int vcpu);
120cpuset_t vm_active_cpus(struct vm *vm);

--- 172 unchanged lines hidden ---