#
512a0200 |
|
19-Mar-2020 |
Qian Ge <qian.ge@data61.csiro.au> |
replacing all ifndef with pargma once All the kernel header files now use pargma once rather than the ifndef, as the pre-processed C files do not change while header files are protected with pargma once. This will also solve any naming issues caused by ifndef.
|
#
79da0792 |
|
01-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Convert license tags to SPDX identifiers This commit also converts our own copyright headers to directly use SPDX, but leaves all other copyright header intact, only adding the SPDX ident. As far as possible this commit also merges multiple Data61 copyright statements/headers into one for consistency.
|
#
0de7fc11 |
|
18-Dec-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
Revert "Cache FPU enable state on all platforms" This reverts commit 186180cf309b365b45c162f7a1f5931f0fc05d7c.
|
#
186180cf |
|
11-Jul-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Cache FPU enable state on all platforms This change broadens the caching of the FPU enable/disable bit from arm to all platforms to ensure that on x86 time is not wasted on the fastpath disabling or enabling an already disabled/enabled FPU.
|
#
04e51d40 |
|
27-Nov-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Revert the recent changes to Faster FPU switch These changes need to be reverted until we can properly test the changes with all of our hardware online (currently we cannot test on x86 hardware). This reverts commit a0aeec3b304d16909619bc847197df221c73a0c4. This reverts commit af0fdc82c23f1e7e3f1e568f6987f5afd0d2150a. This reverts commit a190a14ecaae688a6b40dd0a699b8f49c2c0631e.
|
#
e9b90f9f |
|
11-Jul-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Cache FPU enable state on all platforms This change broadens the caching of the FPU enable/disable bit from arm to all platforms to ensure that on x86 time is not wasted on the fastpath disabling or enabling an already disabled/enabled FPU.
|
#
3d10ef0c |
|
18-Mar-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
style: correct parenthesis padding Use astyle's unpad-paren to unpad all parentheses that are not included by pad-header, pad-oper, and pad-comma.
|
#
de6d4772 |
|
30-Mar-2017 |
Rafal Kolanski <rafal.kolanski@nicta.com.au> |
rename arch_tcb.vcpu -> arch_tcb.tcbVCPU, vcpu.tcb -> vcpu.vcpuTCB struct vcpu { struct tcb* tcb; ... struct arch_tcb { struct vcpu* vcpu; ... and struct tcb { struct arch_tcb tcbArch; ... These conspire to generate a type error on verification side due to assumptions about non-colliding names.
|
#
0707ae87 |
|
23-Feb-2017 |
amrzar <azarrabi@nicta.com.au> |
Move arch independent functions to generic files and HAVE_FPU config
|
#
ae8f2c99 |
|
23-Feb-2017 |
amrzar <azarrabi@nicta.com.au> |
x86: move current active FPU owner to node state
|
#
323e60a7 |
|
23-Feb-2017 |
amrzar <azarrabi@nicta.com.au> |
x86: define number of restore since switch as node state
|
#
195e5a0d |
|
23-Feb-2017 |
amrzar <azarrabi@nicta.com.au> |
pcc99: move max restore config value to main Kconfig
|
#
a529810e |
|
26-Nov-2016 |
amrzar <azarrabi@nicta.com.au> |
x86: Initialize store area when using XSAVE variant instructions When using, SSE (and other variants), mxcsr would assume similar role as control word in i387 FPU. When initializing the FPU, it should have valid value.
|
#
85b4cc1f |
|
24-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: `FORCE_INLINE` lazyFPURestore In the common case this function expands to a single check, with a blank body. Whilst forcively inling will cause code bloat, will be code bloat in the uncommon code path, which we do not care about
|
#
e7d0a886 |
|
24-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Rewrite config_default as config_ternary for FPU config_default was intended to either evaluated to the passed configuration value, or the a default value if the config didn't exist. For integer values this does not actually work, and the default value always gets returned. This commit reimplements the desired functionality as config_ternary, which takes 3 arguments, a config to switch on and a desired true and false expansion
|
#
1c312610 |
|
23-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Switch to NULL FPU state if suspect no one using it Adds a heuristic to switch to a NULL fpu state if we think the FPU is not presently in use. A NULL fpu state is more efficient as we do not have to enable/disable the FPU when switching threads
|
#
44fc989c |
|
03-Nov-2016 |
amrzar <azarrabi@nicta.com.au> |
Store remote FPU state
|
#
a85472a9 |
|
02-Nov-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Always consider FPU owernship of threads core When checking if a thread is using the FPU or not we now check on that threads core, under the assumption that if a thread migrates its FPU state is explicitly (and not lazily) migrated.
|
#
0012ea3e |
|
27-Oct-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: fix FPU under SMP builds
|
#
7fbde1bb |
|
14-Jun-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
SELFOUR-287: 32-bit vt-x implementation This is an implementation of vt-x for x86 kernels running in ia32 mode.
|
#
93bca86e |
|
01-Jun-2016 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
x86: Introduce support for XSAVE feature set The XSAVE feature set is the future proof way for x86 CPUs to manage extended CPU state. Extended state is MMX, FPU, SSE, AVX etc registers. This is a replacement for the current FXSAVE and the 512 byte FPU region. XSAVE introduces a few problems that this commit has to address * The alignment of the XSAVE region is 64bytes, instead of the 16 bytes of the FXSAVE region * XSAVE region size is dependent on the desired features, which are detected at run time * There are multiple variants of the XSAVE instruction that have different potential optimizations, but are not always supported The solutions to these are * Re-order the FPU state and user registers in the user context struct so that the new XSAVE region is first, and is thus aligned to 64bytes without needing lots of padding * Provide config options for desired features (including XSAVE instruction variant) and required XSAVE region size. These are checked at boot time to ensure the CPU meets these requirements
|
#
e74123c3 |
|
10-Nov-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
x86: Remove underscores from symbols as they are in violation of the C standard
|
#
914741ea |
|
27-May-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
x86: Make x86 the name of the architecture instead of IA32 IA32 is 32bit version of the x86 architecture. Whilst only IA32 is supported, much of the code is generic x86. Using a generic x86 architecture will aid in future 64bit support
|