zephyr/include/arch/x86
Maksim Masalski 0343118abb thread: set mxcsr bit 6 DAZ to zero to disable denormals-are-zeros
Currently we are using mxcsr register with the bit 6 DAZ enabled.
When the denormals-are-zeros flag is set, the processor
converts all denormal source operands to a zero with the sign
of the original operand before performing any computations on them.
It causes bugs in the SIMD XMM registers computation like #38646
I suggest to disable Denormals-Are-Zeros flag and mask division-by-zero
exception.
Set value to the default 1F80H according to the Intel(R) 64 and IA-32
Architectures Software Developer's Manual.
Fix will let all x86 boards perform SIMD computation using XMM
registers in the correct way.
Fixes #38646

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2021-09-22 08:34:18 -04:00
..
ia32 linker: align _image_text_start/end/size linker symbols name 2021-08-28 08:48:03 -04:00
intel64 thread: set mxcsr bit 6 DAZ to zero to disable denormals-are-zeros 2021-09-22 08:34:18 -04:00
acpi.h arch/x86: Expose function do get DRHDs from DMAR ACPI table 2020-12-08 09:29:20 -05:00
arch.h x86: pin timer related get functions 2021-08-26 21:16:22 -04:00
arch_inlines.h kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
intel_vtd.h drivers/interrupt_controller: Add Intel VT-D interrupt remapping driver 2020-12-08 09:29:20 -05:00
memmap.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
memory.ld x86: remove usage of CONFIG_KERNEL_LINK_IN_VIRT 2021-03-16 15:03:44 -04:00
mmustructs.h x86: implement demand paging APIs 2021-01-23 19:47:23 -05:00
msr.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
multiboot.h coding guidelines: add to function prototypes form named parameters 2021-06-04 16:20:06 -05:00
pagetables.ld cmake: rename linker_final_pass.cmd to linker.cmd 2021-03-22 13:05:33 -04:00
thread_stack.h x86: don't reserve room for page tables in stack 2020-11-05 09:33:40 -05:00