From: Vincent Hanquez Date: Mon, 18 May 2009 22:50:00 +0000 (-0700) Subject: separate hap from hvm X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=92f2533133fbb01474bec842695e57c6be9d5fa8;p=xenclient%2Ftoolstack.git separate hap from hvm --- diff --git a/xenops/domain.ml b/xenops/domain.ml index 2e59f2f..faa12cf 100644 --- a/xenops/domain.ml +++ b/xenops/domain.ml @@ -99,10 +99,11 @@ let domarch_of_string = function | _ -> 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 diff --git a/xenops/domain.mli b/xenops/domain.mli index bf17101..a98b31c 100644 --- a/xenops/domain.mli +++ b/xenops/domain.mli @@ -68,7 +68,7 @@ val domarch_of_string : string -> domarch 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 diff --git a/xenvm/vmact.ml b/xenvm/vmact.ml index 965f13b..7ef087d 100644 --- a/xenvm/vmact.ml +++ b/xenvm/vmact.ml @@ -299,7 +299,7 @@ let create_vm xc xs state = 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;