public class

ProcessorType

extends DynamicEnum<E extends DynamicEnum<E>>
java.lang.Object
   ↳ com.pnfsoftware.jeb.util.base.DynamicEnum<E extends com.pnfsoftware.jeb.util.base.DynamicEnum<E>>
     ↳ com.pnfsoftware.jeb.core.units.codeobject.ProcessorType

Class Overview

Dynamic enumeration of processor types.

See Also

Summary

Fields
public static final ProcessorType ARM variants of ARM 32-bit (arm, thumb, thumb2, fpu/neon, arm-v7, etc.)
public static final ProcessorType ARM64 variants of ARM aarch64
public static final ProcessorType AVR Atmel AVR 8-bit microcontroller
public static final ProcessorType AVR32 Atmel Corporation 32-bit microprocessor family
public static final ProcessorType MIPS variants of MIPS 32-bit
public static final ProcessorType MIPS64 variants of MIPS 64-bit
public static final ProcessorType PNFDMY1 Reserved - Virtual processor ("PNF DUMMY 1") reserved for internal testing use.
public static final ProcessorType PNFDMY2 Reserved - Virtual processor ("PNF DUMMY 2") reserved for internal testing use.
public static final ProcessorType UNKNOWN unknown processor
public static final ProcessorType X86 variants of X86 32-bit
public static final ProcessorType X86_64 variants of AMD64
public static final int builtinCount
protected static LinkedHashMap<String, ProcessorType> map
[Expand]
Inherited Fields
From class com.pnfsoftware.jeb.util.base.DynamicEnum
Protected Constructors
ProcessorType(int id, String name, ProcessorFamily family)
ProcessorType(int id, String name)
Public Methods
static int count()
ProcessorFamily getFamily()
boolean is64Bit()
boolean isARM()
Convenience method to perform an ARM family check
boolean isAVR()
boolean isIntel()
Convenience method to perform an X86 family check
boolean isMIPS()
Convenience method to perform a MIPS family check
int ordinal()
static ProcessorType register(int id, String name, ProcessorFamily family)
Dynamically add a new processor type.
static boolean unregister(String name)
static ProcessorType valueOf(String name)
static ProcessorType valueOf(int id)
static Collection<ProcessorType> values()
[Expand]
Inherited Methods
From class com.pnfsoftware.jeb.util.base.DynamicEnum
From class java.lang.Object

Fields

public static final ProcessorType ARM

variants of ARM 32-bit (arm, thumb, thumb2, fpu/neon, arm-v7, etc.)

public static final ProcessorType ARM64

variants of ARM aarch64

public static final ProcessorType AVR

Atmel AVR 8-bit microcontroller

public static final ProcessorType AVR32

Atmel Corporation 32-bit microprocessor family

public static final ProcessorType MIPS

variants of MIPS 32-bit

public static final ProcessorType MIPS64

variants of MIPS 64-bit

public static final ProcessorType PNFDMY1

Reserved - Virtual processor ("PNF DUMMY 1") reserved for internal testing use.

public static final ProcessorType PNFDMY2

Reserved - Virtual processor ("PNF DUMMY 2") reserved for internal testing use.

public static final ProcessorType UNKNOWN

unknown processor

public static final ProcessorType X86

variants of X86 32-bit

public static final ProcessorType X86_64

variants of AMD64

public static final int builtinCount

protected static LinkedHashMap<String, ProcessorType> map

Protected Constructors

protected ProcessorType (int id, String name, ProcessorFamily family)

protected ProcessorType (int id, String name)

Public Methods

public static int count ()

public ProcessorFamily getFamily ()

public boolean is64Bit ()

public boolean isARM ()

Convenience method to perform an ARM family check

public boolean isAVR ()

public boolean isIntel ()

Convenience method to perform an X86 family check

public boolean isMIPS ()

Convenience method to perform a MIPS family check

public int ordinal ()

public static ProcessorType register (int id, String name, ProcessorFamily family)

Dynamically add a new processor type.

Parameters
id use one of WellKnownProcessorIds; if the list does not contain the wanted processor, check the official UNIX ids (https://www.sco.com/developers/gabi/latest/ch4.eheader.html) and use the appropriate id is possible; for custom or unspecified architectures, use a unique id greater than or equal {@value WellKnownProcessorIds#ID_CUSTOM_START}
name processor name
family processor family (optional)

public static boolean unregister (String name)

public static ProcessorType valueOf (String name)

public static ProcessorType valueOf (int id)

public static Collection<ProcessorType> values ()