41 */
42
43 #ifndef _FBSDRUN_H_
44 #define _FBSDRUN_H_
45
46 #define VMEXIT_CONTINUE (0)
47 #define VMEXIT_ABORT (-1)
48
49 struct vmctx;
50 extern int guest_ncpus;
51 extern uint16_t cores, sockets, threads;
52 extern char *guest_uuid_str;
53 extern char *vmname;
54
55 void *paddr_guest2host(struct vmctx *ctx, uintptr_t addr, size_t len);
56
57 void fbsdrun_set_capabilities(struct vmctx *ctx, int cpu);
58 #ifdef __FreeBSD__
59 void fbsdrun_addcpu(struct vmctx *ctx, int fromcpu, int newcpu, uint64_t rip);
60 #else
61 void fbsdrun_addcpu(struct vmctx *ctx, int fromcpu, int newcpu, uint64_t rip,
62 bool suspend);
63 #endif
64 int fbsdrun_muxed(void);
65 int fbsdrun_vmexit_on_hlt(void);
66 int fbsdrun_vmexit_on_pause(void);
67 int fbsdrun_disable_x2apic(void);
68 int fbsdrun_virtio_msix(void);
69 #endif
|
41 */
42
43 #ifndef _FBSDRUN_H_
44 #define _FBSDRUN_H_
45
46 #define VMEXIT_CONTINUE (0)
47 #define VMEXIT_ABORT (-1)
48
49 struct vmctx;
50 extern int guest_ncpus;
51 extern uint16_t cores, sockets, threads;
52 extern char *guest_uuid_str;
53 extern char *vmname;
54
55 void *paddr_guest2host(struct vmctx *ctx, uintptr_t addr, size_t len);
56
57 void fbsdrun_set_capabilities(struct vmctx *ctx, int cpu);
58 #ifdef __FreeBSD__
59 void fbsdrun_addcpu(struct vmctx *ctx, int fromcpu, int newcpu, uint64_t rip);
60 #else
61 void fbsdrun_addcpu(struct vmctx *ctx, int newcpu, uint64_t rip, bool suspend);
62 #endif
63 int fbsdrun_muxed(void);
64 int fbsdrun_vmexit_on_hlt(void);
65 int fbsdrun_vmexit_on_pause(void);
66 int fbsdrun_disable_x2apic(void);
67 int fbsdrun_virtio_msix(void);
68 #endif
|