Bug 756

Summary: LDST PortInterface is not using MSR.DR for virtual mode
Product: Libre-SOC's second ASIC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: source codeAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: RESOLVED FIXED    
Severity: enhancement CC: libre-soc-bugs, libre-soc
Priority: ---    
Version: unspecified   
Hardware: Other   
OS: Linux   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=465
https://bugs.libre-soc.org/show_bug.cgi?id=470
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:
Bug Depends on:    
Bug Blocks: 491    

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
https://libre-soc.org/irclog/%23libre-soc.2021-12-13.log.html#t2021-12-13T09:56:59

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.