diff options
author | Cyril Bur <cyrilbur@gmail.com> | 2018-04-12 16:01:57 +1000 |
---|---|---|
committer | Alistair Popple <alistair@popple.id.au> | 2018-04-26 16:37:29 +1000 |
commit | 983ae86905cdbda5a15117f88a48f75f05e1851a (patch) | |
tree | fe87c4001b28c9476373a0c78c5f60454842a54e /fake.dts | |
parent | 542e653b5555cd389347786b54ebceb995d30aca (diff) | |
download | pdbg-983ae86905cdbda5a15117f88a48f75f05e1851a.tar.gz pdbg-983ae86905cdbda5a15117f88a48f75f05e1851a.zip |
libpdbg: Lazy probing
When libpdbg runs though the device tree and calls probe() on all the
targets it marks any node (and all its children) which fails to probe
as "disabled".
When pdbg recieves arguments to specifiy a pib, core or thread (-p -c
-t) it runs though the device tree and marks nodes which do not match
the specified -p -c or -t as "disabled".
These two scenarios are related - that is we don't want to be operating
on any disabled nodes. However, they are not the same.
Consider HTM wanting to know if the machine has powersave disabled. A
simple way would be to loop through all the threads and if any of them
are not in "active" state then powersave must be enabled. In this
scenario HTM want to be able to get the status of every thread on the
machine regardless of -p -c -t flags but if the machine isn't fully
speced out and has cores which didn't probe, HTM wants to know to
ignore those threads.
This patch introduces a "nonexistant" pdbg target status which is set
during libpdbg probe() time. Later pdbg can mark nodes to targets that
do 'exist' but it would like to avoid as "disabled".
Attempting to solve the above problem with only a "nonexistant" flag
would also require everything to be probed before selecting out chips
and threads that the user is not interested in. This would be highly
inefficient.
This patch probes the system lazily.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Diffstat (limited to 'fake.dts')
-rw-r--r-- | fake.dts | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -11,7 +11,7 @@ reg = <0x0 0x0 0x0>; index = <0x0>; - status = "hidden"; + status = "mustexist"; pib@0 { compatible = "ibm,fake-pib"; |