Ok, so I tried a few things to debug it:
__fpu_switch_vsr:
movb $'a',(0xb8000)
And I don't see it showing up.
The code to intall __fpu_switch_vsr is getting run, but it
doesn't seem to set things up quite right.
This makes things work ok:
hal_pc_exception_noerr 4
hal_pc_exception_noerr 5
hal_pc_exception_noerr 6
# hal_pc_exception_noerr 7
hal_pc_exception_7:
movl $0,hal_trap_error_code
pushl $7
incl (hal_vsr_stats+7*4)
jmp __fpu_switch_vsr
Trying to figure out why it's not setting things up automatically.
But that code only applies for lazy FPU switching. In arch.inc it's
clearly in that ifdef. And if you want to debug an FPU problem here,
definitely keep the lazy switching off.