#
1.6 |
|
02-Jul-2023 |
cheloha |
all platforms, kernel: remove __HAVE_CLOCKINTR symbol
Every platform made the clockintr switch at least six months ago. The __HAVE_CLOCKINTR symbol is now redundant. Remove it.
Prompted by claudio@.
Link: https://marc.info/?l=openbsd-tech&m=168826181015032&w=2
"makes sense" mlarkin@
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.5 |
|
08-Nov-2022 |
cheloha |
arm64: switch to clockintr(9)
Switch arm64 to the clockintr(9) subsystem.
- Remove the custom per-CPU clock interrupt schedule from agtimer(4). - Remove the custom randomized statclock() pieces from agtimer(4). - Add agtimer_rearm(), agtimer_trigger(), and wire up agtimer_intrclock.
There is one wart:
- The AArch64 spec says that a value written to CNTV_TVAL_EL0 is "treated as a signed 32-bit integer" [1]. kettenis@ doesn't know what to make of this. I'm capping the value at INT32_MAX for now. It's possible I am misreading this, though.
Tested by kettenis@ on his Apple M1 mini. Tested by me on my Raspberry Pi 4B.
Link: https://marc.info/?l=openbsd-tech&m=166776342503304&w=2
[1] "Arm Architecture Reference Manual for A-profile architecture" issue I.a, section D17.11.27 ("CNTV_TVAL_EL0").
ok kettenis@
|
Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.4 |
|
05-Mar-2018 |
deraadt |
#define _MAX_PAGE_SHIFT in MD _types.h as the maximum pagesize an arch needs (looking at you sgi, but others required this before). This is for the circumstances we need pagesize known at compile time, not getpagesize() runtime. Use it for malloc storage sizes, for shm, and to set pthread stack default sizes. The stack sizes were a mess, and pushing them towards page-aligned is healthy move (which will also be needed by the coming stack register checker) ok guenther kettenis, discussion with stefan
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.3 |
|
25-Jan-2017 |
patrick |
Setjmp and longjmp save/restore 13 registers in a label_t struct, not only 11 registers.
|
#
1.2 |
|
23-Dec-2016 |
patrick |
Update and add wide character support types.
|
#
1.1 |
|
17-Dec-2016 |
patrick |
Import of OpenBSD/arm64
This commit contains all the kernel files related to the OpenBSD/arm64 port. It is based on the PowerPC pmap, loongson, arm/armv7 code and FreeBSD aarch64 code. Hard work done by Dale Rahn.
|
#
1.5 |
|
08-Nov-2022 |
cheloha |
arm64: switch to clockintr(9)
Switch arm64 to the clockintr(9) subsystem.
- Remove the custom per-CPU clock interrupt schedule from agtimer(4). - Remove the custom randomized statclock() pieces from agtimer(4). - Add agtimer_rearm(), agtimer_trigger(), and wire up agtimer_intrclock.
There is one wart:
- The AArch64 spec says that a value written to CNTV_TVAL_EL0 is "treated as a signed 32-bit integer" [1]. kettenis@ doesn't know what to make of this. I'm capping the value at INT32_MAX for now. It's possible I am misreading this, though.
Tested by kettenis@ on his Apple M1 mini. Tested by me on my Raspberry Pi 4B.
Link: https://marc.info/?l=openbsd-tech&m=166776342503304&w=2
[1] "Arm Architecture Reference Manual for A-profile architecture" issue I.a, section D17.11.27 ("CNTV_TVAL_EL0").
ok kettenis@
|
Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.4 |
|
05-Mar-2018 |
deraadt |
#define _MAX_PAGE_SHIFT in MD _types.h as the maximum pagesize an arch needs (looking at you sgi, but others required this before). This is for the circumstances we need pagesize known at compile time, not getpagesize() runtime. Use it for malloc storage sizes, for shm, and to set pthread stack default sizes. The stack sizes were a mess, and pushing them towards page-aligned is healthy move (which will also be needed by the coming stack register checker) ok guenther kettenis, discussion with stefan
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.3 |
|
25-Jan-2017 |
patrick |
Setjmp and longjmp save/restore 13 registers in a label_t struct, not only 11 registers.
|
#
1.2 |
|
23-Dec-2016 |
patrick |
Update and add wide character support types.
|
#
1.1 |
|
17-Dec-2016 |
patrick |
Import of OpenBSD/arm64
This commit contains all the kernel files related to the OpenBSD/arm64 port. It is based on the PowerPC pmap, loongson, arm/armv7 code and FreeBSD aarch64 code. Hard work done by Dale Rahn.
|
#
1.4 |
|
05-Mar-2018 |
deraadt |
#define _MAX_PAGE_SHIFT in MD _types.h as the maximum pagesize an arch needs (looking at you sgi, but others required this before). This is for the circumstances we need pagesize known at compile time, not getpagesize() runtime. Use it for malloc storage sizes, for shm, and to set pthread stack default sizes. The stack sizes were a mess, and pushing them towards page-aligned is healthy move (which will also be needed by the coming stack register checker) ok guenther kettenis, discussion with stefan
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.3 |
|
25-Jan-2017 |
patrick |
Setjmp and longjmp save/restore 13 registers in a label_t struct, not only 11 registers.
|
#
1.2 |
|
23-Dec-2016 |
patrick |
Update and add wide character support types.
|
#
1.1 |
|
17-Dec-2016 |
patrick |
Import of OpenBSD/arm64
This commit contains all the kernel files related to the OpenBSD/arm64 port. It is based on the PowerPC pmap, loongson, arm/armv7 code and FreeBSD aarch64 code. Hard work done by Dale Rahn.
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.3 |
|
25-Jan-2017 |
patrick |
Setjmp and longjmp save/restore 13 registers in a label_t struct, not only 11 registers.
|
#
1.2 |
|
23-Dec-2016 |
patrick |
Update and add wide character support types.
|
#
1.1 |
|
17-Dec-2016 |
patrick |
Import of OpenBSD/arm64
This commit contains all the kernel files related to the OpenBSD/arm64 port. It is based on the PowerPC pmap, loongson, arm/armv7 code and FreeBSD aarch64 code. Hard work done by Dale Rahn.
|