liblisa

Module arch

Expand description

All traits needed to define an architecture.

In order to implement an architecture, you should define a struct that implements the Arch trait. Additionally, you will need to define types that implement Register and Flag, and reference these from the Arch trait.

An example of a minimal implementation can be found in the fake module. It implements a fake architecture that is used in some tests.

In addition, you can inspect the source code of the various existing architecture implementation crates, such as liblisa-x64.

Modules§

  • An implementation of a fake architecture that is used in various tests.
  • Provides generic definitions for specifying undefined behavior on an architecture.
  • Definitions for the x86-64 architecture.

Structs§

Traits§

  • Represents a CPU architecture.
  • Represents a CPU state.
  • Represents a flag.
  • Implements conversion to and from usize. This is required for general purpose registers, and is used as an optimization in some code.
  • Represents a register.
  • Defines an instruction scope for an architecture. This can be used to limit which parts of the instruction space are enumerated.