Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

486SX and other fpu-less systems



Has anyone actually run netbsd i386 on a system without a fpu recently?

I'm wondering how broken it is!
(Before my commit earlier - I don't think I changed annything.)

If there isn't an fpu then then CR0.EM (emulate x87 instructions) is
set and I'd have thought that if a process executed one then it would
get some kind on SIGFPE - which may (more likely may not) manage to
emulate the instruction.

However I'm not entirely sure that works at all!

I think the the cpu traps though vector 7.
This is the same vector as is used for 'fpu not owned by the task'
and ends up in npxdna() - which doesn't check for 'no fpu'.

Probably just repeatedly double-traps or something (or panics).

I'm not sure I can test this (easily) without a 486SX.

I do see processes using the fpu during boot.
So presumably, all of userspace has to be built with 'soft float'
since there is no kernel fp emulation, and I'm not sure that
any signal handler could be given access to the required structure
(which would be very slow indeed).

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index