genode/repos/base/include
Adrian-Ken Rueegsegger 7ce8464b3a hw_x86_64: Enable FPU support
* Enable the use of the FXSAVE and FXRSTOR instructions, see Intel SDM
  Vol. 3C, section 2.5.
* The state of the x87 floating point unit (FPU) is loaded and saved on
  demand.
* Make the cr0 control register accessible in the Cpu class. This is in
  preparation of the upcoming FPU management.
* Access to the FPU is disabled by setting the Task Switch flag in the cr0
  register.
* Access to the FPU is enabled by clearing the Task Switch flag in the cr0
  register.
* Implement FPU initialization
* Add is_fpu_enabled helper function
* Add pointer to CPU lazy state to CPU class
* Init FPU when finishing kernel initialization
* Add function to retry FPU instruction:
    Similar to the ARM mechanism to retry undefined instructions, implement a
    function for retrying an FPU instruction. If a floating-point instruction
    causes an #NM exception due to the FPU being disabled, it can be retried
    after the correct FPU state is restored, saving the current state and
    enabling the FPU in the process.
* Disable FPU when switching to different user context:
    This enables lazy save/restore of the FPU since trying to execute a
    floating point instruction when the FPU is disabled will cause a #NM
    exception.
* Declare constant for #NM exception
* Retry FPU instruction on #NM exception
* Assure alignment of FXSAVE area:
    The FXSAVE area is 512-byte memory region that must be 16-byte aligned. As
    it turns out the alignment attribute is not honored in all cases so add a
    workaround to assure the alignment constraint is met by manually rounding
    the start of the FXSAVE area to the next 16-byte boundary if necessary.
2015-03-27 11:53:31 +01:00
..
32bit/base Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
64bit/base Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
arm base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
arm_v5/cpu base: memory barriers in lock implementations 2014-11-28 12:02:34 +01:00
arm_v6/cpu base: memory barriers in lock implementations 2014-11-28 12:02:34 +01:00
arm_v7/cpu base: memory barriers in lock implementations 2014-11-28 12:02:34 +01:00
base base: refactor signal_transmitter::submit 2015-03-19 09:32:52 +01:00
cap_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cpu base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cpu_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
dataspace base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
drivers base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
io_mem_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
io_port_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
irq_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
log_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
pager Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
parent base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
pd_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
platform i.MX53: SD-card driver and bench 2015-03-27 11:53:12 +01:00
platform_exynos5 base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
ram_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
rm_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
rom_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
root base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
signal_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
thread Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
trace_session base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
util register: make bitfield-mask methods constexpr 2015-03-27 11:53:12 +01:00
x86/cpu base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
x86_32/cpu base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
x86_64/cpu hw_x86_64: Enable FPU support 2015-03-27 11:53:31 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This directory contains include files of interfaces that are exported
by components to be used by other components. Each subdirectory corresponds
to the component exporting the interface.