The ‘float’ and ‘reg’ command can not show the FPU registers:
GRMON debug monitor v3.3.10 64-bit eval version
grmon3> float
FPU Disabled!
grmon3> reg
a0: 0000000000000001 t0: ffffffff82a035c0 s0: ffffffff83003f60
a1: 0000000000000000 t1: 0000000000000000 s1: 0000000000000000
a2: ffffffd8bc4e6000 t2: 000000000000001f s2: ffffffff831011e8
a3: ffffffff831016f0 t3: 000000000000018c s3: 0000000000000007
a4: 0000000000000000 t4: 00000000000003ff s4: ffffffff83101390
a5: 0000000000000000 t5: 0000001a00000000 s5: 0000000000000000
a6: 4000000000000000 t6: 0000000091c3d373 s6: ffffffff828be400
a7: 0000000054494d45 s7: ffffffff83137c70
s8: 0000000000000000
Supervisor mode sp: ffffffff83003ea0 s9: 0000000000000000
FPU disabled tp: ffffffff8300dac0 s10: 0000000000000000
IRQ disabled gp: ffffffff830ffd30 s11: 0000000000000000
ra: ffffffff800489e6
pc: ffffffff8009006c sd s7, 8(sp)
grmon3> info sys dm0
dm0 Frontgrade Gaisler RISC-V Debug Module
AHB Master 9
AHB: f6000000 - f7000000
hart0: DXLEN 64, MXLEN 64, SXLEN 64, UXLEN 64
ISA A C D F H I M X, Modes M S U
Stack pointer 0xbffffff0
icache 4 * 4 kB, 32 B/line, dir
dcache 4 * 4 kB, 32 B/line, dir
5 triggers,
itrace 64 lines
hart1: DXLEN 64, MXLEN 64, SXLEN 64, UXLEN 64
ISA A C D F H I M X, Modes M S U
Stack pointer 0xbffffff0
icache 4 * 4 kB, 32 B/line, dir
dcache 4 * 4 kB, 32 B/line, dir
5 triggers,
itrace 64 lines
hart2: DXLEN 64, MXLEN 64, SXLEN 64, UXLEN 64
ISA A C D F H I M X, Modes M S U
Stack pointer 0xbffffff0
icache 4 * 4 kB, 32 B/line, dir
dcache 4 * 4 kB, 32 B/line, dir
5 triggers,
itrace 64 lines
hart3: DXLEN 64, MXLEN 64, SXLEN 64, UXLEN 64
ISA A C D F H I M X, Modes M S U
Stack pointer 0xbffffff0
icache 4 * 4 kB, 32 B/line, dir
dcache 4 * 4 kB, 32 B/line, dir
5 triggers,
itrace 64 lines
grmon3>
but Linux can run normally on hardware FPU:
# uname -a
Linux buildroot 6.3.0 #1 SMP Wed Apr 24 11:27:11 CST 2024 riscv64 GNU/Linux
# cat /proc/cpuinfo
processor : 0
hart : 0
isa : rv64imafdc
mmu : sv39
mvendorid : 0x324
marchid : 0x0
mimpid : 0x0
processor : 1
hart : 1
isa : rv64imafdc
mmu : sv39
mvendorid : 0x324
marchid : 0x0
mimpid : 0x0
processor : 2
hart : 2
isa : rv64imafdc
mmu : sv39
mvendorid : 0x324
marchid : 0x0
mimpid : 0x0
processor : 3
hart : 3
isa : rv64imafdc
mmu : sv39
mvendorid : 0x324
marchid : 0x0
mimpid : 0x0