]> xenbits.xensource.com Git - xenclient/toolstack.git/commitdiff
separate hap from hvm
authorVincent Hanquez <vincent.hanquez@eu.citrix.com>
Mon, 18 May 2009 22:50:00 +0000 (15:50 -0700)
committerVincent Hanquez <vincent.hanquez@eu.citrix.com>
Mon, 18 May 2009 22:50:00 +0000 (15:50 -0700)
xenops/domain.ml
xenops/domain.mli
xenvm/vmact.ml

index 2e59f2f55fe775e57cb540e627af5cb14a989264..faa12cfa46f943e12be3b6836968d9f7a7eee40c 100644 (file)
@@ -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
index bf17101a6c80dadbc5882794d8225faabbe2010b..a98b31cde3baeeefed74cb07730afb9c496d3705 100644 (file)
@@ -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
 
index 965f13b426fb3b7125aa66190a8d43468ced573f..7ef087dd393e17d87f10e07ecbd4a0e8f744682c 100644 (file)
@@ -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;