genode/tool/dts
Christian Helmuth c0a7696c71 tool/dts/extract: convert regex strings to latin1
The former encoding was UTF-8, which works quite well if LC_CTYPE is
ensured to be an UTF-8 codeset (e.g., en_US.UTF-8 or C.UTF-8 . But, if
LC_CTYPE is set to C or latin1 for example, the Tcl regex library enters
an infinite loop because of unexpected characters used as markers
n the strings (e.g., SECTION SIGN U+00A7).

Therefore, the extract tool was converted to latin1 with the following
commands and now works for LC_CTYPE C and UTF-8 codesets.

   iconv -f utf-8 -t latin1 tool/dts/extract > /tmp/e
   cp /tmp/e tool/dts/extract
2021-10-13 14:46:51 +02:00
..
extract tool/dts/extract: convert regex strings to latin1 2021-10-13 14:46:51 +02:00
parse tool/dts: for extracting content from dts files 2021-05-28 14:15:28 +02:00
README tool/dts: for extracting content from dts files 2021-05-28 14:15:28 +02:00

       Utilities for extracting information from device-tree sources

Device trees are prominently used in the Linux world for describing the
structure of SoCs as for the parametrisation of device drivers. The utilities
found in this directory ease the extraction of interesting information from
device-tree files.

The utilities found in this directory operate on device-tree source (dts)
files as opposed to device-tree binaries (dtb) because dts files contain
information about the inter-dependencies between nodes in textual form
(labels) instead of mere numbers (phandles).

In the Linux source tree, dts files can be found at _arch/<arch>/boot/dts/_.
Most dts files leverage the C preprocessor to include fragments in the form of
dtsi files. To generate the complete device-tree source information for a
given dts file, the C preprocessor must be invoked as follows:

! cpp -Iinclude -x assembler-with-cpp -P <dts-file>

The _parse_ tool generates a syntax tree from a dts file. It is not meant to
be invoked directly but it is used as a helper by other tools.

The _extract_ tool can be used to query structural information from a dts
file and to prune a device tree specifically for a subset of devices. For
usage information, execute the tool without arguments.