diff options
| author | user <user@clank> | 2026-10-01 18:41:57 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-10-01 18:41:57 +0200 |
| commit | f370384a949cfb40947bf0bed8f74b58dfd409b8 (patch) | |
| tree | 7ff4b397a077098932f45f9956df923a52521b5f /fw/ta_ida.py | |
| parent | half the remaining name contradictions are not contradictions: SVC thunks car... (diff) | |
| download | amd-psp-re-f370384a949cfb40947bf0bed8f74b58dfd409b8.tar.gz amd-psp-re-f370384a949cfb40947bf0bed8f74b58dfd409b8.tar.xz amd-psp-re-f370384a949cfb40947bf0bed8f74b58dfd409b8.zip | |
rename 54 entry_trampoline instances to ta_main_loop, which is what the body does
The last unadjudicated name contradiction. Eight modules called this function entry_trampoline
while DTM, RAS, HDCP and ASD called the byte-identical function ta_main_loop, and the body settles
it rather than the head count:
while (1) { SVC 0xF0; v6 = *a1; switch (v6) { ... } v7(); }
It is __noreturn, yields to the OS, dispatches on the request code at *a1, calls the handler and
loops forever. That is a main loop. A trampoline does not loop, so entry_trampoline is the wrong
word and the 54 instances under it were the outliers despite being the larger group.
Fixed across xgmi, wspe, gcp, merit, opm, csu, powerplay and auc; no entry_trampoline remains in
any artifact. Counts are unchanged at 19,352 named, 112 placeholders and 67.5% field share, which
is correct for a rename of already-named functions -- it changes what the artifacts say, not what
they cover.
Cross-module name contradictions are now 32 -> 10, of which six are the SVC thunks that are
correctly non-identical, two are legitimate synonym pairs (bzero_core against lib_zero_fill_words),
and two are ASD's own semantic-versus-transport naming. Nothing is left that reading a body can
decide.
Diffstat (limited to 'fw/ta_ida.py')
| -rw-r--r-- | fw/ta_ida.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fw/ta_ida.py b/fw/ta_ida.py index d9aad8d..1d2335d 100644 --- a/fw/ta_ida.py +++ b/fw/ta_ida.py @@ -318,6 +318,13 @@ LIB_RENAME = { # formatters and I can see they handle width/precision but not which is which; # lib_d732abea_240 and lib_2cd87843_108 are arithmetic/format bodies whose role I would be # guessing at. 111 instances left placeholder rather than mislabelled. + # entry_trampoline -> ta_main_loop. The body is __noreturn and reads + # while (1) { SVC 0xF0; v6 = *a1; switch (v6) { ... } v7(); } + # -- it yields to the OS, dispatches on the request code at *a1, calls the handler and + # loops forever. That is a main loop. A trampoline does not loop, so entry_trampoline is + # simply the wrong word for it; DTM, RAS, HDCP and ASD already call the byte-identical + # function ta_main_loop, and the 54 instances under the other name are the odd ones out. + "entry_trampoline": "ta_main_loop", } # PENDING, not applied. CAUSE STILL UNKNOWN -- two explanations have been offered and both were |
