summaryrefslogtreecommitdiffstats
path: root/sys/arm/include/md_var.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-10-07 09:12:49 +0000
committerkib <kib@FreeBSD.org>2015-10-07 09:12:49 +0000
commit58e0a4096fe55cc3548ea668f795925a29276273 (patch)
tree19ad3a9d2f0f2b2df036bcc42c15929999d74b41 /sys/arm/include/md_var.h
parent198f362e320ac36fa16f2544e295d847aedf3122 (diff)
downloadFreeBSD-src-58e0a4096fe55cc3548ea668f795925a29276273.zip
FreeBSD-src-58e0a4096fe55cc3548ea668f795925a29276273.tar.gz
A follow-up to r288492. In fact, revert the mentioned commit for
pre-VFPv3 processors, since they do require software support code to handle denormals. For VFPv3 and later, enable flush-to-zero if hardware does not claim full denormals arithmetic support by VMVFR1_FZ field in mvfr1 register. The end result is that we do use correct fpu environment on Cortexes with VFPv3, while ARM11 (e.g. rpi) is in non-compliant flush-to-zero mode. At least CPUs without complete hardware implementation of IEEE 754 do not cause unhandled floating point exception on underflow, as it was before r288492. Noted by: ian Tested by: gjb Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/arm/include/md_var.h')
-rw-r--r--sys/arm/include/md_var.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/arm/include/md_var.h b/sys/arm/include/md_var.h
index 030b48b..642124d 100644
--- a/sys/arm/include/md_var.h
+++ b/sys/arm/include/md_var.h
@@ -71,4 +71,6 @@ void dump_add_page(vm_paddr_t);
void dump_drop_page(vm_paddr_t);
int minidumpsys(struct dumperinfo *);
+extern uint32_t initial_fpscr;
+
#endif /* !_MACHINE_MD_VAR_H_ */
OpenPOWER on IntegriCloud