Skip to content

Commit 0768ca2

Browse files
Fix: default func-of reg-name to current CSR's reg-name when func-of-field-name is set without func-of-reg-name
Agent-Logs-Url: https://github.com/riscv/docs-resources/sessions/58a81ebd-dcc0-4c02-b61f-7e78cc9f766f Co-authored-by: james-ball-qualcomm <140646808+james-ball-qualcomm@users.noreply.github.com>
1 parent 0792f76 commit 0768ca2

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

tools/create_csr_appendix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def render_type_cell(csr: Dict[str, Any]) -> str:
248248
base_reg_name: str = ""
249249
if isinstance(func_of_reg_name, str) and func_of_reg_name:
250250
base_reg_name = func_of_reg_name
251-
elif isinstance(func_of_field_name, str) and func_of_field_name:
251+
else:
252252
reg_name = csr.get("reg-name")
253253
if isinstance(reg_name, str) and reg_name:
254254
base_reg_name = reg_name

tools/create_params.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,13 +1235,22 @@ def html_csr_table_row(f, csr: Dict[str, Any], chapter_name: Optional[str]):
12351235
isinstance(func_of_field_name, str)
12361236
and func_of_field_name
12371237
):
1238-
func_of_target = ""
1238+
# Determine the base register name for func-of:
1239+
# 1. Prefer an explicit func-of-reg-name if provided.
1240+
# 2. Otherwise, when only func-of-field-name is given, default to this CSR's reg-name.
1241+
base_reg_name = ""
12391242
if isinstance(func_of_reg_name, str) and func_of_reg_name:
1240-
func_of_target = func_of_reg_name
1243+
base_reg_name = func_of_reg_name
1244+
else:
1245+
if isinstance(reg_name, str) and reg_name:
1246+
base_reg_name = reg_name
1247+
1248+
func_of_target = base_reg_name
12411249
if isinstance(func_of_field_name, str) and func_of_field_name:
12421250
if func_of_target:
12431251
func_of_target = f"{func_of_target}.{func_of_field_name}"
12441252
else:
1253+
# No usable register name; fall back to just the field name.
12451254
func_of_target = func_of_field_name
12461255
type_display = f"{type_display}<br>func-of: {func_of_target}"
12471256

0 commit comments

Comments
 (0)