diff options
| author | Frank Chang <frank.chang@sifive.com> | 2021-09-21 10:02:33 +0800 |
|---|---|---|
| committer | Alistair Francis <alistair.francis@wdc.com> | 2021-10-07 08:41:33 +1000 |
| commit | a88f0402391e9075df774affe5482d1286b9237e (patch) | |
| tree | a42ab27c699c3470e42bf71becc0e7e19413479c /scripts/decodetree.py | |
| parent | 02c1b569a15b4b06a3c69b6cb1713830a29cb01f (diff) | |
| download | focaccia-qemu-a88f0402391e9075df774affe5482d1286b9237e.tar.gz focaccia-qemu-a88f0402391e9075df774affe5482d1286b9237e.zip | |
target/riscv: Set mstatus_hs.[SD|FS] bits if Clean and V=1 in mark_fs_dirty()
When V=1, both vsstauts.FS and HS-level sstatus.FS are in effect. Modifying the floating-point state when V=1 causes both fields to be set to 3 (Dirty). However, it's possible that HS-level sstatus.FS is Clean and VS-level vsstatus.FS is Dirty at the time mark_fs_dirty() is called when V=1. We can't early return for this case because we still need to set sstatus.FS to Dirty according to spec. Signed-off-by: Frank Chang <frank.chang@sifive.com> Reviewed-by: Vincent Chen <vincent.chen@sifive.com> Tested-by: Vincent Chen <vincent.chen@sifive.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210921020234.123448-1-frank.chang@sifive.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'scripts/decodetree.py')
0 files changed, 0 insertions, 0 deletions