History log of /seL4-l4v-10.1.1/seL4/include/arch/x86/arch/32/mode/machine.h
Revision Date Author Comments
# 3a7fdde8 05-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Define per node arch global state

Global state in this context is state/datastructures that need to be available at all times,
both in user and kernel mode, by the hardware for correct operation. The purpose of creating
a separate per-node structure for it is so that there is the option of treating it specially
in the future from other per node state


# 8c02bc13 10-Apr-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

x64: implement seL4_BenchmarkFlushCaches

by moving the ia32 implementation up a level to x86
and implementing the syscall stub.


# dcaff678 05-Feb-2017 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# 331e9796 02-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Implement safe rdmsr function

Implements a safe version of `x86_rdmsr` that can return success or failure depending
on if the rdmsr caused a GP fault


# c2b67c95 06-Dec-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

ia32: Add getCurrentCR3

This unifies the interface provided by ia32 and x86-64. This interface
is neccessary as it is not always sufficient to talk about the current
PD (or vspace root), as CR3 can contain more than just the root.


# 564b9839 05-Dec-2016 Donny Yang <work@kota.moe>

x86: Avoid writing the fs/gs base if we don't have to


# f0d599f5 23-Nov-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Add FORCE_INLINE to some fastpath functions

The compiler fails to realize that inlining these functions is
a performance benefit due to fact that after inlining their
bodies can be optimized with other inlined functions.


# a726b4be 06-Nov-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Split CPU ID management into mode and general

This moves getCurrentCPUIndex into a mode specific smp header, and
moves wrappers that use it into the generap smp header


# 056dbf81 02-Nov-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-634: support for TLB and cache management


# 66dfc2e7 29-Jul-2016 Kent McLeod <kent.mcleod@nicta.com.au>

Change ia32 to use fs register for IPC buffer

gs register is used by gcc for TLS and the IPC buffer gets in the way


# 44ed6adb 12-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

add seL4_BenchmarkFlushCaches() for arm and ia32

Available when CONFIG_ENABLE_BENCHMARKS is set, flushes caches for
running cold-cache benchmarks


# 3f9eb7c8 06-Oct-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-632: implement cores non-architecture dependent structres


# 602836a2 26-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Generic setCurrentVSpaceRoot

Defines a generic setCurrentVSpaceRoot to replace setCurrentPD in
mode generic code


# 74cb86c2 26-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Support for syscall

syscall/sysret is an additional way of performing kernel entry/exits.
Whilst the instructions themselves are not supported when running
in 32-bit mode, this commit provides the config choice for them as
well as the generic support code for them.


# d72cd751 28-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Rename invalidateTLBentry->invalidateTLBEntry


# 2cbc7123 28-Sep-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-630:preliminary booting application processors
- update core detection code and Kconfig file
- update kernel stack managment so that BSP does not use boot stack before IPI APs
- move arch dependant data to a single structure
- add cache line size to Kconfig
- add cpu indexing and apic id mapping
- boot APs to halting state
- add guard for kernel stack if there is only one core


# 4044e204 21-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Revert "Merge pull request #358 in SEL4/sel4 from ~AZARRABI/sel4:multicore to master"

This reverts commit ce2f666bb811c5e4c779829fcb09d5a189ebcdbb, reversing
changes made to dc183f96b81f2344d7d0d910fc430f924eaae940.


# fbc071b4 12-Sep-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-630:preliminary booting application processors
- update core detection code and Kconfig file
- update kernel stack managment so that BSP does not use boot stack before IPI APs
- move arch dependant data to a single structure
- add cache line size to Kconfig
- add cpu indexing and apic id mapping
- boot APs to halting state
- add guard for kernel stack if there is only one core


# 1c1e976d 17-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Improve translation invalidation

x86_64 (with PCIDs enabled) supports a more fine grained invalidation
approach for the TLB and Page Structure Cache. This change expands
the number and kinds of information passed for certain invalidations,
and provides an implementation of this for ia32.


# be6b6be1 24-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: FS/GS base MSRs

when FS/GS_BASE_MSR are used to set the base addreses,
user applications should not touch FS/GS regiters; so
the kernel should load proper selectors once, establishing
limits and other attributes for the segments.


# 371a891d 03-Sep-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Move getFaultAddr to general hardware.h, as the read_cr2 is already specialized by the machine mode


# 1c53c333 16-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

ia32: Add includes that are now needed after other includes got reordered


# fc27f47f 28-Jun-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Move general x86 functions to common header


# ef85f94a 05-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Rename constants and functions to have X86 prefix instead of IA32 prefix


# 6729ce78 05-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Make parts of what have become 32-bit specific headers common

The reason these were not made common to begin with is so that there
was a commit that was just a rename of these files to make any merges
with other branches that might exist easier


# 022287c3 01-Jul-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Minimal changes to fix previous commit that renamed headers