From f17b2e1c3597b479e87329d79ef6fe3ca3ad587e Mon Sep 17 00:00:00 2001 From: Nav Date: Sat, 12 Mar 2022 15:41:01 +0000 Subject: [PATCH] Register bit fields in TDF validation script --- build/scripts/TargetDescriptionFiles/BitField.php | 7 +++++++ build/scripts/TargetDescriptionFiles/Register.php | 5 +++++ .../TargetDescriptionFile.php | 13 +++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 build/scripts/TargetDescriptionFiles/BitField.php diff --git a/build/scripts/TargetDescriptionFiles/BitField.php b/build/scripts/TargetDescriptionFiles/BitField.php new file mode 100644 index 00000000..7609a143 --- /dev/null +++ b/build/scripts/TargetDescriptionFiles/BitField.php @@ -0,0 +1,7 @@ +size = isset($registerAttrs['size']) ? $this->rawValueToInt($registerAttrs['size']) : null; + $bitFieldElements = $registerElement->xpath('bitfield'); + foreach ($bitFieldElements as $bitFieldElement) { + $bitFieldAttrs = $bitFieldElement->attributes(); + $bitField = new BitField(); + + $bitField->name = isset($bitFieldAttrs['name']) ? $bitFieldAttrs['name'] : null; + if (empty($bitField->name)) { + continue; + } + + $register->bitFieldsByName[strtolower($bitField->name)] = $bitField; + } + $registerGroup->registersMappedByName[strtolower($register->name)] = $register; }