package binsec

  1. Overview
  2. Docs

doc/binsec.base/Binsec_base/Machine/index.html

Module Binsec_base.MachineSource

Abstract description of machines

Abstract representation of hardware architecture

Sourcetype bitwidth = [
  1. | `x16
  2. | `x32
  3. | `x64
  4. | `x128
]
Sourcetype endianness = Basic_types.endianness =
  1. | LittleEndian
  2. | BigEndian
Sourcetype thumb_mode = Basic_types.Ternary.t =
  1. | False
  2. | True
  3. | Unknown
Sourcetype isa = private
  1. | Unknown
  2. | ARM of {
    1. rev : [ `v7 of thumb_mode | `v8 ];
    2. endianness : endianness;
    }
  3. | PPC of {
    1. bits : [ `x32 | `x64 ];
    2. endianness : endianness;
    }
  4. | RISCV of {
    1. bits : [ `x32 | `x64 | `x128 ];
    }
  5. | SPARC of {
    1. rev : [ `v8 ];
    }
  6. | X86 of {
    1. bits : [ `x32 | `x64 ];
    }
  7. | Z80
Sourcemodule ISA : sig ... end
Sourcemodule Bitwidth : sig ... end

Word size of the machine in bits

Sourcetype t = isa
Sourceval amd64 : t
Sourceval armv7 : ?thumb:thumb_mode -> endianness -> t
Sourceval armv8 : endianness -> t
Sourceval ppc64 : endianness -> t
Sourceval riscv : [ `x32 | `x64 | `x128 ] -> t
Sourceval sparcv8 : t
Sourceval x86 : t
Sourceval z80 : t
Sourceval unknown : t
include Sigs.PRINTABLE with type t := t
Sourceval pp : Format.formatter -> t -> unit