Bug 756 - LDST PortInterface is not using MSR.DR for virtual mode
Summary: LDST PortInterface is not using MSR.DR for virtual mode
Alias: None
Product: Libre-SOC's second ASIC
Classification: Unclassified
Component: source code (show other bugs)
Version: unspecified
Hardware: Other Linux
: --- enhancement
Assignee: Luke Kenneth Casson Leighton
Depends on:
Blocks: 491
  Show dependency treegraph
Reported: 2021-12-12 21:57 GMT by Luke Kenneth Casson Leighton
Modified: 2021-12-15 01:10 GMT (History)
2 users (show)

See Also:
NLnet milestone: ---
total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0
parent task for budget allocation:
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:


Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2021-12-12 21:57:44 GMT
lv.virt_mode := ctrl.msr(MSR_DR);
        lv.priv_mode := not ctrl.msr(MSR_PR);
        lv.mode_32bit := not ctrl.msr(MSR_SF);
Comment 1 Luke Kenneth Casson Leighton 2021-12-13 12:11:39 GMT

plan: add MSRSpec namedtuple in consts.py

then compldst_multi.py uses it

<lkcl> ./experiment/compldst_multi.py:        comb += pi.msr_pr.eq(oper_r.msr[MSR.PR])
<lkcl> msr_spec = MSRSpec(dr=oper_r.msr[MSR.DR], pr=oper_r.msr[MSR.PR], ....)

and all places where msr_pr are passed, are replaced with msr_spec
(or, shorter: just msr)
Comment 2 Luke Kenneth Casson Leighton 2021-12-15 01:10:17 GMT
i believe this one is completed now.