class MachineType

Defined at line 19 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

MachineType provides the values possible for configuring an Environment for

the hosting hardware. It largely maps to elfldltl::ElfMachine except for

kRiscv where the ElfClass is used to differentiate between 32-bit and 64-bit

execution modes.

Public Methods

void MachineType ()

Defined at line 53 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

void MachineType (Types t)

Defined at line 54 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

Types operator restricted_machine::MachineType::Types ()

Defined at line 55 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

Types machine_type ()

Defined at line 56 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

bool operator bool ()

Defined at line 57 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

std::string_view AsString ()

Returns a string representation of the machine type.

Defined at line 60 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

elfldltl::ElfMachine AsElfMachine ()

Returns the corresponding elfldltl::ElfMachine value.

Defined at line 80 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h

Enumerations

enum Types : uint32_t
Name Value Comments
kNone 0 --
k386 1 --
kArm 2 --
kX86_64 3 --
kAarch64 4 --
kRiscv 5 --
kRiscv64 6 --
kNative []() { #ifdef __aarch64__ return kAarch64; #elif defined(__arm__) return kArm; #elif defined(__i386__) return k386; #elif defined(__x86_64__) return kX86_64; #elif defined(__riscv) if constexpr (sizeof(uintptr_t) == sizeof(uint64_t)) { return kRiscv64; } else if constexpr (sizeof(uintptr_t) == sizeof(uint32_t)) { return kRiscv; } #endif return kNone; }()

The architecture of the compilation target.

An enumeration of supported machine architectures.

Defined at line 22 of file ../../src/bringup/lib/restricted-machine/include/bringup/lib/restricted-machine/machine-type.h