History log of /seL4-camkes-master/kernel/src/arch/x86/object/ioport.c
Revision Date Author Comments
# 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.


# d0930f67 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently attach return type

Add attach-return-type to astyle


# 761006e0 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently align pointer with name

Run astyle with align-pointer=name


# 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.


# ca87e45b 19-Jun-2018 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: correct indexing into IO port mask array

Also, to make verification easier:
- use bit shifting instead of division.
- adjust types to minimise implicit casts.


# 6e5b4de4 27-May-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Explicitly mask data for port out operations


# d7d8b488 24-May-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x86: Remove redundant empty reply from invokeX86PortOut

An empty reply is already generated correctly by
replyFromKernel_success_empty (respecting the 'call' flag) so always
generating a reply in invokeX86PortOut is both unnecessary and
incorrect.


# b653d414 23-May-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x86: reorder sanity checks in decodeX86PortControlInvocation for verification


# 1878db94 14-May-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: IOPortIn invocations respect Call

The kernel should not 'reply' to an invocation unless the user did a 'Call'. This change
is essentially mirroring existing logic and explanations from the tcb ReadRegisters invocation


# 62445b35 09-May-2018 Adrian Danis <rambobones@gmail.com>

x86: Correct labels for port out operations


# c2212688 08-May-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: IOPort invocation has proper structure

Invocations should have a seperate decode and invoke stage and the previous invocation
performed stateful operations during the notional 'decode' phase, and did not use a
separate function for the invoke stage. This provides the correct structure by splitting
the decode into two halves, one for the 'in' operations, and one for the 'out' operations,
and defines an invoke for each of them.

This solution has some duplication due to repeatedly decoding the invocation label to
determine the size of the port operation, but should ultimately be the simplist solution
to verify.


# de42f826 05-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Introduce IO port control caps

Changes the way IO ports work such that instead of 'minting' IO port caps down into new
IO port caps with smaller ranges new IO port ranges must be allocated centrally from
an IO port control cap. This mechanism acts in a very similar fashion as IRQ handler/control
capabilities and ensures that allocated IO ports do not overlap. Disallowing overlapping
IO ports is necessary to ensure the CDT remains valid as capabilities are deleted.


# 8081b9ec 07-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: More efficient and verification friendly setIOPortMask

Refactors setIOPortMask to both be more efficient by never operating on individual bits,
whilst still having a structure that is more amenable to verification


# ca1b785e 05-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Generic setIOPortMask from VCPU code

Moves the function for manipulating a bitmap of IO ports from VCPU code into common
IO port code. This will be needed in the future by the IO Port control implementation


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

SELFOUR-632: implement cores non-architecture dependent structres


# 43772b2d 10-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Rename decodeIA32PortOperation->decodeX86PortOperation


# 49510f9d 22-Aug-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

SELFOUR-624: remove redundancy in io.[c|h]

And clean up a bit while we are there


# 53492824 06-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86/libsel4: Rename ia32->x86

Rename all functions, constants and types in libsel4 that are in the
general x86 architecture to have an X86 name instead of an IA32 name.
As libsel4 and the kernel share names this requires changing those
in the kernel as well.

All the original IA32 names can still be used for the moment, but are
marked as deprecated.


# e89bb3f3 06-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: avoid packing/unpacking for IOPortOut


# d93699c9 04-Jan-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-114: remove duplication of seL4_MessageInfo_t, adjust naming to avoid cparser mangling


# 0ecff9f3 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

unsigned int -> word_t


# 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