#
c2e0d56f |
| 04-Jun-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm64: Support BTI checking in most of the kernel
LLD has the -zbti-report=error argument to check if the BTI note is present when linking. To allow for this to be used when linking the kernel and m
arm64: Support BTI checking in most of the kernel
LLD has the -zbti-report=error argument to check if the BTI note is present when linking. To allow for this to be used when linking the kernel and modules: - Add the BTI note to the remaining assembly files - Mark ptrauth.c as protected by BTI - Disable -zbti-report for vmm hypervisor switching code as it's not used there.
The linux64 module doesn't build with the flag as it includes vdso code that doesn't include the note.
Reviewed by: imp, kib, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45466
show more ...
|
#
9fabf976 |
| 18-Nov-2023 |
Eliot Solomon <ehs3@rice.edu> |
arm64: fix free queue and reservation configuration for 16KB pages
Correctly configure the free page queues and the reservation size when the base page size is 16KB. In particular, the reservation
arm64: fix free queue and reservation configuration for 16KB pages
Correctly configure the free page queues and the reservation size when the base page size is 16KB. In particular, the reservation size was less than the L2 Block size, making L2 promotions and mappings all but impossible.
Reviewed by: markj Tested by: gallatin Differential Revision: https://reviews.freebsd.org/D42737
show more ...
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
9feff969 |
| 08-Aug-2021 |
Ed Maste <emaste@FreeBSD.org> |
Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights
These ones were unambiguous cases where the Foundation was the only listed copyright holder (in the associated license block).
S
Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights
These ones were unambiguous cases where the Foundation was the only listed copyright holder (in the associated license block).
Sponsored by: The FreeBSD Foundation
show more ...
|
#
474c444e |
| 19-Oct-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Move the arm64 userspace access checks to macros
In the functions that copy between userspace and kernel space we check the user space address is valid before performing the copy. These are mostly i
Move the arm64 userspace access checks to macros
In the functions that copy between userspace and kernel space we check the user space address is valid before performing the copy. These are mostly identical within each type of function so create two macros to perform the check.
Obtained from: CheriBSD Sponsored by: Innovate UK
show more ...
|
#
3d839d4b |
| 14-Oct-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Remove direct user access from the arm64 copyinstr
These already use the load variant that simulates userspace access. Remove the macros that enable normal loads and stores from userspace as they ar
Remove direct user access from the arm64 copyinstr
These already use the load variant that simulates userspace access. Remove the macros that enable normal loads and stores from userspace as they are unneeded.
Sponsored by: Innovate UK
show more ...
|
#
fc2a8776 |
| 20-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Rename assym.s to assym.inc
assym is only to be included by other .s files, and should never actually be assembled by itself.
Reviewed by: imp, bdrewery (earlier) Sponsored by: The FreeBSD Foundati
Rename assym.s to assym.inc
assym is only to be included by other .s files, and should never actually be assembled by itself.
Reviewed by: imp, bdrewery (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14180
show more ...
|
#
d6a0af23 |
| 13-Apr-2017 |
Andrew Turner <andrew@FreeBSD.org> |
In ARMv8.1 ARM has added a process state bit to disable access to userspace from the kernel. Make use of this to restrict accessing userspace to just the functions that explicitly handle crossing the
In ARMv8.1 ARM has added a process state bit to disable access to userspace from the kernel. Make use of this to restrict accessing userspace to just the functions that explicitly handle crossing the user kernel boundary.
Reported by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10371
show more ...
|
#
c577e950 |
| 12-Apr-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Use the unprivileged variant of the load and store instructions most places possible in the kernel. This forces these functions to fail if userspace is unable to access a given memory location, even
Use the unprivileged variant of the load and store instructions most places possible in the kernel. This forces these functions to fail if userspace is unable to access a given memory location, even if it is in the user memory range.
This will simplify adding Privileged Access Never support later.
MFC after: 1 week Sponsored by: DARPA, AFRL
show more ...
|
#
c7d4b461 |
| 06-Apr-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Allow vmparam.h to be included from assembly files on arm64.
Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
f379b463 |
| 24-Mar-2016 |
Wojciech Macek <wma@FreeBSD.org> |
arm64: Fixing user space boudary checking in copyinout.S
Big buffer size could cause integer overflow and as a result attempt to copy beyond VM_USERMAX_ADDRESS.
Fixing copyinstr boundary checking w
arm64: Fixing user space boudary checking in copyinout.S
Big buffer size could cause integer overflow and as a result attempt to copy beyond VM_USERMAX_ADDRESS.
Fixing copyinstr boundary checking where compared value has been overwritten by accident when setting fault handler.
Submitted by: Dominik Ermel <der@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5719
show more ...
|
#
f3e730a1 |
| 23-Mar-2016 |
Wojciech Macek <wma@FreeBSD.org> |
ARM64 copyinout improvements
The first of set of patches. Use wider load/stores when aligned buffer is being copied.
In a simple test: dd if=/dev/zero of=/dev/null bs=1M count=1024 the performanc
ARM64 copyinout improvements
The first of set of patches. Use wider load/stores when aligned buffer is being copied.
In a simple test: dd if=/dev/zero of=/dev/null bs=1M count=1024 the performance jumped from 410MB/s up to 3.6GB/s.
TODO: - better handling of unaligned buffers (WiP) - implement similar mechanism to bzero
Submitted by: Dominik Ermel <der@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium Reviewed by: kib, andrew, emaste Differential Revision: https://reviews.freebsd.org/D5664
show more ...
|
#
153bf0bc |
| 17-Oct-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Add checks for kernel VA accesses to the copyin(9) and related functions on arm64.
Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D3907
|
#
8fe99e42 |
| 09-Sep-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Rework copyinstr to: * Fail when the length passed in is 0 * Remove an unneeded increment of the count on success * Return ENAMETOOLONG when the input pointer is too long
Sponsored by: ABT System
Rework copyinstr to: * Fail when the length passed in is 0 * Remove an unneeded increment of the count on success * Return ENAMETOOLONG when the input pointer is too long
Sponsored by: ABT Systems Ltd
show more ...
|
#
e5acd89c |
| 13-Apr-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Bring in the start of the arm64 kernel.
This is only the minimum set of files needed to boot in qemu. As such it is missing a few things.
The bus_dma code is currently only stub functions with a fu
Bring in the start of the arm64 kernel.
This is only the minimum set of files needed to boot in qemu. As such it is missing a few things.
The bus_dma code is currently only stub functions with a full implementation from the development tree to follow.
The gic driver has been copied as the interrupt framework is different. It is expected the two drivers will be merged by the arm intrng project, however this will need to be imported into the tree and support for arm64 would need to be added.
This includes code developed by myself, SemiHalf, Ed Maste, and Robin Randhawa from ARM. This has been funded by the FreeBSD Foundation, with early development by myself in my spare time with assistance from Robin.
Differential Revision: https://reviews.freebsd.org/D2199 Reviewed by: emaste, imp Relnotes: yes Sponsored by: The FreeBSD Foundation
show more ...
|