OpenBSD cvs log

created 2022-10-30T02:38:52Z
begin 2022-10-22T00:00:00Z
end 2022-10-23T00:00:00Z
path src/sys
commits 3

date 2022-10-22T00:58:56Z
author gkoehler
files src/sys/arch/powerpc/conf/files.powerpc log diff annotate
src/sys/arch/powerpc/include/trap.h log diff annotate
src/sys/arch/powerpc/powerpc/trap.c log diff annotate
src/sys/arch/powerpc/powerpc/vecast.S log diff annotate
message AltiVec assist for subnormal floats in vectors

The old CPU in a macppc traps AltiVec instructions when they encounter
denormal or subnormal floats. Emulate most of them. They operate on
vectors of 4 single-precision floats. The emulations either use
scalar operations (so vmaddfp becomes 4 of fmadds) or a formula (like
vrsqrtefp's 1 / sqrt(b) = 1 / sqrt(b * 2**126) * 2**63).

I am forgetting to emulate some instructions (at least vrfin, vrfiz,
vrfip, vrfim). If I don't emulate it, it will still cause SIGFPE.

Mac OS never emulated these instructions, but set AltiVec's "non-Java"
NJ bit (which changes all subnormal floats to zero). FreeBSD also
sets NJ; NetBSD does SIGFPE; Linux emulates them. The POWER9 running
OpenBSD/powerpc64 does them in hardware (without trapping).

ok kettenis@ miod@

date 2022-10-22T15:06:47Z
author deraadt
files src/sys/kern/exec_elf.c log diff annotate
message automatic immutable for base executable is not ready on mips
because DT_DEBUG isn't in the right place

date 2022-10-22T20:09:41Z
author miod
files src/sys/arch/sparc64/include/cpu.h log diff annotate
src/sys/arch/sparc64/include/frame.h log diff annotate
src/sys/arch/sparc64/include/reg.h log diff annotate
message Put struct rwindow back in reg.h, pcb.h depends on this.