Print this page
13275 bhyve needs richer INIT/SIPI support
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>


  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