Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
(* === Masking checks === *)
+let mask_features features mask =
+ {
+ base_ecx = logand features.base_ecx mask.base_ecx;
+ base_edx = logand features.base_edx mask.base_edx;
+ ext_ecx = logand features.ext_ecx mask.ext_ecx;
+ ext_edx = logand features.ext_edx mask.ext_edx;
+ }
+
let assert_maskability cpu manufacturer features =
(* Manufacturers need to be the same *)
if manufacturer != cpu.manufacturer then
(** {2 Masking Checks} *)
-(** Check that this CPU can be masked to fit the pool. Raises {!CannotMaskCpu}
- * including a reason string if this is not possible. *)
+(** Apply a mask to given features. *)
+val mask_features : features -> features -> features
+
+(** Check that this CPU can be masked to fit the pool. Raises exception
+ * indicating the reason if this is not possible. *)
val assert_maskability : cpu_info -> manufacturer -> features -> unit
(** Return the CPU masking string to add to the Xen command-line,