| _ -> Arch_native
-let make ~xc ~xs ~hvm ?(name="") ?(xsdata=[]) ?(platformdata=[]) uuid =
+let make ~xc ~xs ~hvm ~hap ?(name="") ?(xsdata=[]) ?(platformdata=[]) uuid =
let ssidref = 0l in
-
- let flags = if hvm then [ Xc.CDF_HVM; Xc.CDF_HAP ] else [] in
+ let flags =
+ (if hvm then [ Xc.CDF_HVM ] else []) @
+ (if (hvm && hap) then [ Xc.CDF_HAP ] else []) in
let domid = Xc.domain_create xc ssidref flags uuid in
let name = if name <> "" then name else sprintf "Domain-%d" domid in
try
val hvmloader : string
(** Create a fresh (empty) domain with a specific UUID, returning the domain ID *)
-val make: xc:Xc.handle -> xs:Xs.xsh -> hvm:bool -> ?name:string ->
+val make: xc:Xc.handle -> xs:Xs.xsh -> hvm:bool -> hap: bool -> ?name:string ->
?xsdata:((string * string) list) ->
?platformdata:((string * string) list) -> [`domain] Uuid.t -> domid
raise (Vm_is_already_created (state.vm_domid, state.vm_lifestate));
warn "internal error: domain was marked as existing but wasn't -- state corrected"
);
- let domid = Domain.make ~xc ~xs ~hvm:state.vm_cfg.hvm
+ let domid = Domain.make ~xc ~xs ~hvm:state.vm_cfg.hvm ~hap:true
~platformdata:state.vm_cfg.platform
state.vm_cfg.uuid in
state.vm_domid <- domid;