Class ProcessorType

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

@Ser public class ProcessorType extends DynamicEnum<ProcessorType>
Dynamic enumeration of processor types.
See Also:
  • Field Details

    • map

      protected static LinkedHashMap<String,ProcessorType> map
    • UNKNOWN

      public static final ProcessorType UNKNOWN
      unknown processor
    • X86

      public static final ProcessorType X86
      variants of X86 32-bit
    • X86_64

      public static final ProcessorType X86_64
      variants of AMD64
    • ARM

      public static final ProcessorType ARM
      variants of ARM 32-bit (arm, thumb, thumb2, fpu/neon, arm-v7, etc.)
    • ARM64

      public static final ProcessorType ARM64
      variants of ARM aarch64
    • MIPS

      public static final ProcessorType MIPS
      variants of MIPS 32-bit
    • MIPS64

      public static final ProcessorType MIPS64
      variants of MIPS 64-bit
    • AVR

      public static final ProcessorType AVR
      Atmel AVR 8-bit microcontroller
    • AVR32

      public static final ProcessorType AVR32
      Atmel Corporation 32-bit microprocessor family
    • PNFDMY1

      public static final ProcessorType PNFDMY1
      Reserved - Virtual processor ("PNF DUMMY 1") reserved for internal testing use.
    • PNFDMY2

      public static final ProcessorType PNFDMY2
      Reserved - Virtual processor ("PNF DUMMY 2") reserved for internal testing use.
    • builtinCount

      public static final int builtinCount
  • Constructor Details

    • ProcessorType

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

      protected ProcessorType(int id, String name)
  • Method Details

    • getFamily

      public ProcessorFamily getFamily()
    • ordinal

      public int ordinal()
      Specified by:
      ordinal in class DynamicEnum<ProcessorType>
    • count

      public static int count()
    • values

      public static Collection<ProcessorType> values()
    • valueOf

      public static ProcessorType valueOf(String name)
    • valueOf

      public static ProcessorType valueOf(int id)
    • register

      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 65536
      name - processor name
      family - processor family (optional)
      Returns:
    • unregister

      public static boolean unregister(String name)
    • isIntel

      public boolean isIntel()
      Convenience method to perform an X86 family check
    • isARM

      public boolean isARM()
      Convenience method to perform an ARM family check
    • isMIPS

      public boolean isMIPS()
      Convenience method to perform a MIPS family check
    • isAVR

      public boolean isAVR()
    • is64Bit

      public boolean is64Bit()