History log of /fuchsia/zircon/kernel/arch/x86/user_copy.cpp
Revision Date Author Comments
# b86d1f90 27-Dec-2017 Todd Eisenberger <teisenbe@google.com>

[x86] Run clang-format

This converts a bunch of the old LK style to the newer style.

Change-Id: I0f9dfc6b2b9b30b7630dc1e2271e8da815edd1d8


# edd438b8 11-Oct-2017 Mark Seaborn <mseaborn@google.com>

[kernel][x86] Implement startup-time code patching for SMAP instructions

Add a macro, APPLY_CODE_PATCH_FUNC(), which allocates some placeholder
instructions and declares how to replace them with working code on
kernel startup.

The initial use case is filling out the STAC and CLAC instructions
conditionally depending on whether the CPU supports SMAP.

The mechanism is a little more general than this initial use case
requires. My intention is the mechanism will be usable for inline
assembly that can get inlined into multiple places.

Change-Id: I213504db574f58c2d093d2648771c03048775c09


# 8e562ab9 25-Sep-2017 George Kulakowski <kulakowski@google.com>

[kernel][status][arch] Use zx_status_t throughout kernel/arch

Change-Id: I051aaaee84c6e7776b0054171f8d69320d812fcb


# 5fb8e9ed 23-Sep-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][vm] move vm.h to the new spot and remove some unused code

Change-Id: I69f1b804fb95dd44e3e0619943e8809519aa82ca


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 28522788 06-Sep-2017 Mark Seaborn <mseaborn@google.com>

[kernel][x86] Add a global variable to cache x86_feature_test(X86_FEATURE_SMAP)

This simplifies the check in _x86_copy_to_or_from_user(). The
assembly code can access the global rather than having to take
smap_avail as an argument.

This is more of a cleanup than a performance improvement. Though
x86_feature_test() isn't trivial, it doesn't appear to add noticeable
overhead to the context switch.

Change-Id: I93529a0093366a212ae9214ac0e0ffc886ff1595


# 86259e11 21-Aug-2017 Mark Seaborn <mseaborn@google.com>

[kernel][x86][user_copy] De-duplicate _x86_copy_from_user/_x86_copy_to_user()

Now that these two functions no longer do an address range check, they
are identical and can be de-duplicated. (The low-level copying code
is identical on x86, unlike AArch64.)

Change-Id: I24860b665843805288f64145f17dfaca3504516a


# 253d4e83 18-Aug-2017 Mark Seaborn <mseaborn@google.com>

[kernel][x86][user_copy] Move is_user_address_range() checks to C++ code

There's no need to call from C++ to assembly back to C++ to do the
is_user_address_range() checks. We can just do the checks in C++ in
the first place.

This roughly matches what is done in the ARM64 case.

Change-Id: Id3ef5722b91c660cdb8f4a5d0293c7899088ec84


# ae50443d 24-Apr-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][x86] conversion of x86 arch code to cpp

Minimum amount of work to convert the code to
keep the structure similar.

Change-Id: Id7e65014ba30ec32d8249889a22b62fbe959874f


# d10fca36 23-Apr-2017 Travis Geiselbrecht <travisg@google.com>

[kernel][x86] brute force rename arch/x86/* files from .c to .cpp

Change-Id: I8ec0a28f71a7d4d3eba4f022873e59dbbbd0bd1e