/freebsd-src/sys/contrib/openzfs/config/ |
H A D | kernel-fpu.m4 | 2 dnl # Handle differences in kernel FPU code. 5 dnl # 5.19: The asm/fpu/internal.h header was removed, it has been 11 dnl # 5.0: Wrappers have been introduced to save/restore the FPU state. 25 AC_MSG_CHECKING([whether fpu headers are available]) 28 #include <asm/fpu/api.h> 32 [kernel has asm/fpu/api.h]) 36 #include <asm/fpu/internal.h> 40 [kernel has asm/fpu/internal.h]) 41 AC_MSG_RESULT([asm/fpu/api.h asm/fpu/internal.h]) 43 AC_MSG_RESULT([asm/fpu/api.h]) [all …]
|
/freebsd-src/share/man/man9/ |
H A D | fpu_kern.9 | 29 .Nd "facility to use the FPU in the kernel" 47 family of functions allows the use of FPU hardware in kernel code. 51 These facilities share registers with the FPU hardware. 53 Typical kernel code does not need access to the FPU. 56 When kernel code uses the FPU, the current FPU state must be saved to 60 The processor catches accesses to the FPU registers 63 the notification of the start and end of the code using the FPU. 69 to track the use of the FPU hardware state and the related software state. 95 use of the FPU is allowed. 110 Indicates that the caller intends to access the full FPU state. [all …]
|
/freebsd-src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/ |
H A D | RegisterContextDarwin_i386.cpp | 133 (LLVM_EXTENSION offsetof(RegisterContextDarwin_i386::FPU, reg) + \ 138 sizeof(RegisterContextDarwin_i386::FPU)) 148 #reg, NULL, sizeof(((RegisterContextDarwin_i386::FPU *) NULL)->reg), \ 152 sizeof(((RegisterContextDarwin_i386::FPU *) NULL)->reg[i].bytes), \ 164 sizeof(RegisterContextDarwin_i386::FPU) + \ 399 : RegisterContext(thread, concrete_frame_idx), gpr(), fpu(), exc() { in RegisterContextDarwin_i386() 464 {"Floating Point Registers", "fpu", k_num_fpu_registers, g_fpu_regnums}, 513 SetError(set, Read, DoReadFPU(GetThreadID(), set, fpu)); in ReadFPU() 543 SetError(set, Write, DoWriteFPU(GetThreadID(), set, fpu)); in WriteFPU() 622 value = fpu.fcw; in ReadRegister() [all …]
|
H A D | RegisterContextDarwin_x86_64.cpp | 151 (LLVM_EXTENSION offsetof(RegisterContextDarwin_x86_64::FPU, reg) + \ 156 sizeof(RegisterContextDarwin_x86_64::FPU)) 166 #reg, NULL, sizeof(((RegisterContextDarwin_x86_64::FPU *) NULL)->reg), \ 170 sizeof(((RegisterContextDarwin_x86_64::FPU *) NULL)->reg[i].bytes), \ 182 sizeof(RegisterContextDarwin_x86_64::FPU) + \ 461 : RegisterContext(thread, concrete_frame_idx), gpr(), fpu(), exc() { in RegisterContextDarwin_x86_64() 525 {"Floating Point Registers", "fpu", k_num_fpu_registers, g_fpu_regnums}, 562 SetError(set, Read, DoReadFPU(GetThreadID(), set, fpu)); in ReadFPU() 592 SetError(set, Write, DoWriteFPU(GetThreadID(), set, fpu)); in WriteFPU() 673 value = fpu.fcw; in ReadRegister() [all …]
|
H A D | RegisterContextLinux_i386.cpp | 36 uint16_t fctrl; // FPU Control Word (fcw) 37 uint16_t fstat; // FPU Status Word (fsw) 38 uint16_t ftag; // FPU Tag Word (ftw) 46 uint32_t fioff; // FPU IP Offset (fip) 47 uint32_t fiseg; // FPU IP Selector (fcs) 48 uint32_t fooff; // FPU Operand Pointer Offset (foo) 49 uint32_t foseg; // FPU Operand Pointer Selector (fos) 62 int32_t fpvalid; // True if FPU is being used. 63 FPR_i386 i387; // FPU registers.
|
H A D | RegisterContextMach_i386.cpp | 29 int RegisterContextMach_i386::DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) { in DoReadFPU() argument 31 return ::thread_get_state(tid, flavor, (thread_state_t)&fpu, &count); in DoReadFPU() 47 const FPU &fpu) { in DoWriteFPU() argument 49 tid, flavor, reinterpret_cast<thread_state_t>(const_cast<FPU *>(&fpu)), in DoWriteFPU()
|
H A D | RegisterContextMach_x86_64.cpp | 31 FPU &fpu) { in DoReadFPU() argument 33 return ::thread_get_state(tid, flavor, (thread_state_t)&fpu, &count); in DoReadFPU() 50 const FPU &fpu) { in DoWriteFPU() argument 52 tid, flavor, reinterpret_cast<thread_state_t>(const_cast<FPU *>(&fpu)), in DoWriteFPU()
|
H A D | RegisterContext_x86.cpp | 13 // Convert the 8-bit abridged FPU Tag Word (as found in FXSAVE) to the full 14 // 16-bit FPU Tag Word (as found in FSAVE, and used by gdb protocol). This 15 // requires knowing the values of the ST(i) registers and the FPU Status Word. 18 // Tag word is using internal FPU register numbering rather than ST(i). in AbridgedToFullTagWord() 19 // Mapping to ST(i): i = FPU regno - TOP (Status Word, bits 11:13). in AbridgedToFullTagWord() 20 // Here we start with FPU reg 7 and go down. in AbridgedToFullTagWord() 47 // Convert the 16-bit FPU Tag Word to the abridged 8-bit value, to be written
|
H A D | RegisterContextMach_arm.cpp | 31 int RegisterContextMach_arm::DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) { in DoReadFPU() argument 33 return ::thread_get_state(tid, flavor, (thread_state_t)&fpu, &count); in DoReadFPU() 54 const FPU &fpu) { in DoWriteFPU() argument 56 tid, flavor, reinterpret_cast<thread_state_t>(const_cast<FPU *>(&fpu)), in DoWriteFPU()
|
H A D | RegisterContextNetBSD_i386.cpp | 36 uint16_t fctrl; // FPU Control Word (fcw) 37 uint16_t fstat; // FPU Status Word (fsw) 38 uint16_t ftag; // FPU Tag Word (ftw) 46 uint32_t fioff; // FPU IP Offset (fip) 47 uint32_t fiseg; // FPU IP Selector (fcs) 48 uint32_t fooff; // FPU Operand Pointer Offset (foo) 49 uint32_t foseg; // FPU Operand Pointer Selector (fos)
|
H A D | RegisterContextDarwin_i386.h | 75 struct FPU { struct 107 FPUWordCount = sizeof(FPU) / sizeof(uint32_t), argument 114 FPU fpu; variable 185 virtual int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) = 0; 191 virtual int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) = 0;
|
H A D | RegisterContextDarwin_x86_64.h | 80 struct FPU { struct 112 FPUWordCount = sizeof(FPU) / sizeof(uint32_t), argument 119 FPU fpu; variable 190 virtual int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) = 0; 196 virtual int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) = 0;
|
H A D | RegisterContextDarwin_arm64.h | 80 struct FPU { struct 114 FPUWordCount = sizeof(FPU) / sizeof(uint32_t), // ARM_NEON_STATE64_COUNT 123 FPU fpu; variable 204 virtual int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) = 0; 212 virtual int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) = 0;
|
H A D | RegisterContextDarwin_arm64.cpp | 43 (LLVM_EXTENSION offsetof(RegisterContextDarwin_arm64::FPU, reg)) 48 sizeof(RegisterContextDarwin_arm64::FPU)) 52 sizeof(RegisterContextDarwin_arm64::FPU) + \ 65 sizeof(RegisterContextDarwin_arm64::FPU) + \ 97 : RegisterContext(thread, concrete_frame_idx), gpr(), fpu(), exc(), dbg() { in RegisterContextDarwin_arm64() 145 {"Floating Point Registers", "fpu", k_num_fpu_registers, g_fpu_regnums}, 182 SetError(set, Read, DoReadFPU(GetThreadID(), set, fpu)); in ReadFPU() 220 SetError(set, Write, DoWriteFPU(GetThreadID(), set, fpu)); in WriteFPU() 424 value.SetBytes(fpu.v[reg - fpu_v0].bytes, reg_info->byte_size, in ReadRegister() 462 DataExtractor regdata(&fpu.v[reg - fpu_s0], 4, process_sp->GetByteOrder(), in ReadRegister() [all …]
|
H A D | RegisterContextDarwin_arm.h | 98 struct FPU { struct 148 FPUWordCount = sizeof(FPU) / sizeof(uint32_t), 156 FPU fpu; variable 237 virtual int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) = 0; 245 virtual int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) = 0;
|
/freebsd-src/lib/libpmc/pmu-events/arch/x86/amdzen1/ |
H A D | floating-point.json | 6 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 13 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 20 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 27 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 34 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 40 "BriefDescription": "Total number uOps assigned to all fpu pipes.", 41 …nd dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 48 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 55 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 62 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… [all …]
|
/freebsd-src/contrib/llvm-project/clang/lib/Basic/Targets/ |
H A D | AArch64.cpp | 65 FPU |= NeonMode; in setArchFeatures() 93 FPU |= NeonMode; in setArchFeatures() 111 FPU |= SveMode; in setArchFeatures() 124 FPU |= NeonMode; in setArchFeatures() 217 // aapcs-soft is not allowed for targets with an FPU, to avoid there being in validateBranchProtection() 428 if (FPU & FPUMode) in getTargetDefines() 444 if (FPU & NeonMode) { in getTargetDefines() 450 if (FPU & SveMode) in getTargetDefines() 453 if ((FPU & NeonMode) && (FPU in getTargetDefines() [all...] |
/freebsd-src/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ |
H A D | LoongArch.cpp | 39 int FPU = -1; in getLoongArchABI() local 43 FPU = 64; in getLoongArchABI() 45 FPU = 32; in getLoongArchABI() 47 FPU = 0; in getLoongArchABI() 80 if (FPU != -1 && ImpliedFPU != FPU) in getLoongArchABI() 92 switch (FPU) { in getLoongArchABI() 160 StringRef FPU = A->getValue(); in getLoongArchTargetFeatures() 161 if (FPU == "64") { in getLoongArchTargetFeatures() 164 } else if (FPU in getLoongArchTargetFeatures() 153 StringRef FPU = A->getValue(); getLoongArchTargetFeatures() local [all...] |
/freebsd-src/tools/test/stress2/misc/ |
H A D | fpu.sh | 29 # Regression test for FPU changes in r208833 35 sed '1,/^EOF/d' < $here/$0 > fpu.c 36 mycc -o fpu -Wall -O2 fpu.c 37 rm -f fpu.c 41 r=`/tmp/fpu` 45 rm -f /tmp/fpu
|
/freebsd-src/lib/libpmc/pmu-events/arch/x86/amdzen2/ |
H A D | floating-point.json | 6 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 13 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 20 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 27 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 34 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus…
|
/freebsd-src/lib/libpmc/pmu-events/arch/x86/amdzen3/ |
H A D | floating-point.json | 6 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 13 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 20 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 27 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus… 34 …operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how bus…
|
/freebsd-src/sys/powerpc/powerpc/ |
H A D | fpu.c | 33 * $NetBSD: fpu.c,v 1.5 2001/07/22 11:29:46 wiz Exp $ 41 #include <machine/fpu.h> 111 * Save the thread's FPU CPU number, and set the CPU's current in enable_fpu() 112 * FPU thread in enable_fpu() 118 * Enable the FPU for when the thread returns from the exception. in enable_fpu() 119 * If this is the first time the FPU has been used by the thread, in enable_fpu() 120 * initialise the FPU registers and FPSCR to 0, and set the flag in enable_fpu() 121 * to indicate that the FPU is in use. in enable_fpu() 146 * of the saved FPSCR are to be loaded from the FPU reg). in enable_fpu() 199 * Save fpu state without dropping ownership. This will only save state if [all …]
|
/freebsd-src/sys/arm/arm/ |
H A D | vfp.c | 67 * About .fpu directives in this file... 69 * We should need simply .fpu vfpv3, but clang 3.5 has a quirk where setting 74 * indicating they want to completely disable the ability to use .fpu and 77 * syntax such as .push fpu=vfpv3; ...; .pop fpu; and that would be ideal for 80 * For gcc, each .fpu directive completely overrides the prior directive, unlike 85 __asm __volatile(" .fpu vfpv2\n .fpu vfpv3\n" \ 90 __asm __volatile(" .fpu vfpv2\n .fpu vfpv3\n" \ 318 " .fpu vfpv2\n" in vfp_restore() 319 " .fpu vfpv3\n" in vfp_restore() 354 " .fpu vfpv2\n" in vfp_store() [all …]
|
/freebsd-src/sys/amd64/include/ |
H A D | pcb.h | 42 #include <machine/fpu.h> 81 #define PCB_KERNFPU 0x0004 /* kernel uses fpu */ 82 #define PCB_FPUINITDONE 0x0008 /* fpu state is initialized */ 83 #define PCB_USERFPUINITDONE 0x0010 /* fpu user state is initialized */ 86 #define PCB_FPUNOSAVE 0x0080 /* no save area for current FPU ctx */ 114 /* fpu context for suspend/resume */
|
/freebsd-src/sys/powerpc/include/ |
H A D | pcb.h | 57 #define PCB_FPU 0x1 /* Process uses FPU */ 58 #define PCB_FPREGS 0x2 /* Process had FPU registers initialized */ 64 #define PCB_KERN_FPU 0x80 /* Kernel is using FPU/Vector unit */ 65 #define PCB_KERN_FPU_NOSAVE 0x100 /* FPU/Vec state not saved for kernel use */ 67 struct fpu { struct 82 unsigned int pcb_fpcpu; /* which CPU had our FPU
|