Re: hppa lazy FPU switching and QEMU bugs

Nick Hudson <[email protected]>
Newsgroups gmane.os.netbsd.devel.crypto
Message-ID <[email protected]>
On 05/08/2026 09:34, Martin Husemann wrote:
> Can someone describe the CPU flags used on hppa to enable the FPU and
> to cause that "assisted emulation" exception - are they different?
>
> Is the "assisted emulation" just an optimization and we could fall back
> to completely disabling FPU if running under qemu?

http://ftp.parisc-linux.org/docs/arch/parisc2.0.pdf

Coprocessor Configuration Register
The CCR (Coprocessor Configuration Register) is an 8-bit control register (within CR 10 bits 24..31)
that is used to indicate the presence and usability of a hardware implementation of a coprocessor. Bits 0
and 1 in the CCR correspond to the floating-point coprocessor and bit 2 in the CCR corresponds to the
performance monitor coprocessor. For all other bits in the CCR, CCR{i} corresponds to an undefined
coprocessor with a unit identifier that is the same as the bit position, that is the coprocessor with uid i.
Execution of any floating-point instruction with CCR{0} and CCR{1} not set to the same value is an
undefined operation. Execution of a coprocessor operation instruction (major opcode 0x0C) with
CCR{0}, CCR{1}, and the uid field in the instruction all set to 1 is an undefined operation.
When CCR{i} is 1, the coprocessor with uid i is implied to be present and usable.

...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.