20.4. VFP11 system registers

The VFPv2 architecture describes the following three system registers that must be present in a VFP system:

The VFP11 coprocessor provides sufficient information for processing all exceptional conditions encountered by the hardware. In an exceptional situation, the hardware provides:

To support exceptional conditions, the VFP11 coprocessor provides two additional registers:

Also, the FPEXC register contains additional bits to support exceptional conditions.

These registers are designed to be used with the support code software available from ARM Limited. As a result, this document does not fully specify exception handling in all cases.

The coprocessor also provides two feature registers:

Table 20.3 lists the VFP11 system registers.

Table 20.3. VFP11 system registers

RegisterAccess modeAccess typeReset stateSee
Floating-Point System ID Register, FPSIDAnyRead-only0x410120B3Floating-Point System ID Register, FPSID
Floating-Point Status and Control Register, FPSCRAnyRead/write0x00000000Floating-Point Status and Control Register, FPSCR
Floating-Point Exception Register, FPEXCPrivilegedRead/write0x00000000Floating-point exception register, FPEXC
Floating-Point Instruction Register, FPINSTPrivilegedRead/write0xEE000A00Instruction registers, FPINST and FPINST2
Floating-Point Instruction Register 2, FPINST2PrivilegedRead/writeUNPInstruction registers, FPINST and FPINST2
Media and VFP Feature Register 0, MVFR0AnyRead-only0x11111111Media and VFP Feature Register 0
Media and VFP Feature Register 1, MVFR1AnyRead-only0x00000000Media and VFP Feature Register 1

Use the FMRX instruction to transfer the contents of VFP11 registers to ARM11 registers and the FMXR instruction to transfer the contents of ARM11 registers to VFP11 registers.

Table 20.4 lists the ARM11 processor modes for accessing the VFP11 system registers.

Table 20.4. Accessing VFP11 system registers

 FMXR/FMRX <reg> fieldARM11 processor mode

Register

VFP11 coprocessor enabledVFP11 coprocessor disabled
FPSIDb0000Any modePrivileged mode
FPSCRb0001Any modeNone[a]
FPEXCb1000Privileged modePrivileged mode
FPINSTb1001Privileged modePrivileged mode
FPINST2b1010Privileged modePrivileged mode
MVFR0b0111Any modePrivileged mode
MVFR1b0110Any modePrivileged mode

[a] An instruction that tries to access FPSCR while the VFP11 coprocessor is disabled takes the Undefined Instruction trap.


Table 20.4 shows that a privileged ARM11 mode is sometimes required to access a VFP11 system register. When a privileged mode is required, an instruction that tries to access a register in a nonprivileged mode takes the Undefined Instruction trap.

The following sections describe the VFP11 system registers:

Copyright © 2004-2009 ARM Limited. All rights reserved.ARM DDI 0301H
Non-Confidential