package janestreet_cpuid

  1. Overview
  2. Docs
Module type
Class type

The leaf at 0x7 is special because in addition to putting 0x7 it also lets you put a value into ECX to get a particular feature subleaf. In this case we want ECX=0x0, and any processor which supports EAX=0x7 (which we do check) supports ECX=0x0.

This provides flags into more modern features on Intel CPUs, including some which most of our machines definitely do not have. If you use any of these features, check to make sure they're supported.

module Ebx_flags : sig ... end
module Ecx_flags : sig ... end
module Edx_flags : sig ... end
type t = {
  1. max_subleaf : int;
  2. mutable ebx : Ebx_flags.t;
  3. mutable ecx : Ecx_flags.t;
  4. mutable edx : Edx_flags.t;
val sexp_of_t : t -> Sexplib0.Sexp.t
val retrieve : unit -> t
module For_testing : sig ... end

Innovation. Community. Security.