Revision tags: release/14.0.0 |
|
#
110be11a |
| 18-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Remove include of sys/types.h from linux_vdso.h
Due to sys/param.h includes sys/types.h and the fact that the sys/param.h is included everywhere where linux_vdso.h is needed.
|
#
c47116e9 |
| 17-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Update my copyrights, add SPDX tag
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
1ca6b15b |
| 20-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Drop "All rights reserved" from my copyright statements.
Add email and fixup years while here.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D30912 MFC after: 2 weeks
|
#
9931033b |
| 20-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The vDSO is a fully formed ELF image, shared by all processes with the same ABI, has no process private data.
The primary purpose of the vDSO: - non-executable stack, signal trampolines not copied to the stack; - signal trampolines unwind, mandatory for the NPTL; - to avoid contex-switch overhead frequently used system calls can be implemented in the vDSO: for now gettimeofday, clock_gettime.
The first two have been implemented, so add the implementation of system calls.
System calls implemenation based on a native timekeeping code with some limitations: - ifunc can't be used, as vDSO r/o mapped to the process VA and rtld can't relocate symbols; - reading HPET memory is not implemented for now (TODO).
In case on any error vDSO system calls fallback to the kernel system calls. For unimplemented vDSO system calls added prototypes which call corresponding kernel system call.
Tested by: trasz (arm64) Differential revision: https://reviews.freebsd.org/D30900 MFC after: 2 weeks
show more ...
|
Revision tags: release/13.0.0 |
|
#
0fc8a796 |
| 16-Feb-2021 |
Mark Johnston <markj@FreeBSD.org> |
linux: Unmap the VDSO page when unloading
linux_shared_page_init() creates an object and grabs and maps a single page to back the VDSO. When destroying the VDSO object, we failed to destroy the map
linux: Unmap the VDSO page when unloading
linux_shared_page_init() creates an object and grabs and maps a single page to back the VDSO. When destroying the VDSO object, we failed to destroy the mapping and free KVA. Fix this.
Reviewed by: kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28696
show more ...
|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0 |
|
#
0275f9db |
| 11-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r321383 through r322397.
|
#
69ef36e3 |
| 01-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321829
|
#
0e34ba73 |
| 31-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321755
|
#
c151945c |
| 30-Jul-2017 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Avoid using [LINUX_]SHAREDPAGE constant directly in the vdso code. This is needed for https://reviews.freebsd.org/D11780.
Reported by: kib@
|
Revision tags: release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0 |
|
#
416ba5c7 |
| 22-Jun-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with HEAD (r280229-r284686).
|
#
37a48d40 |
| 28-May-2015 |
Glen Barber <gjb@FreeBSD.org> |
MFH: r282615-r283655
Sponsored by: The FreeBSD Foundation
|
#
36204c30 |
| 24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Add 64 bit support to the vdso.
Differential Revision: https://reviews.freebsd.org/D1069 Reviewed by: trasz
|
#
bdc37934 |
| 24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement vdso - virtual dynamic shared object. Through vdso Linux exposes functions from kernel with proper DWARF CFI information so that it becomes easier to unwind through them. Using vdso is a ma
Implement vdso - virtual dynamic shared object. Through vdso Linux exposes functions from kernel with proper DWARF CFI information so that it becomes easier to unwind through them. Using vdso is a mandatory for a thread cancelation && cleanup on a modern glibc.
Differential Revision: https://reviews.freebsd.org/D1060
show more ...
|