ducky.hdt module¶
Hardware Description Table structures.
-
class
ducky.hdt.
HDT
(logger, config=None)[source]¶ Bases:
object
Root 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.HDTStructure
Base 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.IntEnum
Types 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.HDTEntry
HDT 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.HDTEntry
HDT 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.HDTStructure
HDT 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