ducky.hdt module¶
Hardware Description Table structures.
-
class
ducky.hdt.HDT(logger, config=None)[source]¶ Bases:
objectRoot of HDT. Provides methods for creating HDT for a given machine configuration.
Parameters: - logger (logging.Logger) – logger instance used for logging.
- config (ducky.config.MachineConfig) – configuration file HDT should reflect.
-
klasses= [<class 'ducky.hdt.HDTEntry_Memory'>, <class 'ducky.hdt.HDTEntry_CPU'>, <class 'ducky.hdt.HDTEntry_Argument'>]¶
-
class
ducky.hdt.HDTEntry(entry_type, length)[source]¶ Bases:
ducky.hdt.HDTStructureBase class of all HDT entries.
Each entry has at least two fields, type and length. Other fields depend on type of entry, and follow immediately after length field.
Parameters: - type (u16_t) – type of entry. See
ducky.hdt.HDTEntryTypes. - length (u16_t) – length of entry, in bytes.
- type (u16_t) – type of entry. See
-
class
ducky.hdt.HDTEntryTypes[source]¶ Bases:
enum.IntEnumTypes of different HDT entries.
-
ARGUMENT= <HDTEntryTypes.ARGUMENT: 3>¶
-
CPU= <HDTEntryTypes.CPU: 1>¶
-
MEMORY= <HDTEntryTypes.MEMORY: 2>¶
-
UNDEFINED= <HDTEntryTypes.UNDEFINED: 0>¶
-
-
class
ducky.hdt.HDTEntry_Argument(arg_name, arg_type, arg_value)[source]¶ Bases:
ducky.hdt.HDTEntry-
MAX_NAME_LENGTH= 13¶
-
length¶ Structure/Union member
-
name¶ Structure/Union member
-
name_length¶ Structure/Union member
-
type¶ Structure/Union member
-
value¶ Structure/Union member
-
value_length¶ Structure/Union member
-
-
class
ducky.hdt.HDTEntry_CPU(logger, config)[source]¶ Bases:
ducky.hdt.HDTEntryHDT entry describing CPU configuration.
Parameters: - nr_cpus (u16_t) – number of CPUs.
- nr_cores (u16_t) – number of cores per CPU.
-
length¶ Structure/Union member
-
nr_cores¶ Structure/Union member
-
nr_cpus¶ Structure/Union member
-
type¶ Structure/Union member
-
class
ducky.hdt.HDTEntry_Memory(logger, config)[source]¶ Bases:
ducky.hdt.HDTEntryHDT entry describing memory configuration.
Parameters: size (u32_t) – size of memory, in bytes. -
length¶ Structure/Union member
-
size¶ Structure/Union member
-
type¶ Structure/Union member
-
-
class
ducky.hdt.HDTHeader[source]¶ Bases:
ducky.hdt.HDTStructureHDT header. Contains magic number, number of HDT entries that immediately follow header.
-
entries¶ Structure/Union member
-
length¶ Structure/Union member
-
magic¶ Structure/Union member
-
-
ducky.hdt.HDT_MAGIC= 1298034544¶ Magic number present in HDT header