Commit Graph

431 Commits

Author SHA1 Message Date
K. Lange
bbd609086a libc: make pthread_t scalar
While POSIX.1-2001 says that pthread_t is allowed to be
"non-arithmetic", earlier revisions did not allow it, and
many things still assume the original rule and either
complain loudly or fail completely if pthread_t is a struct.

In glibc, pthread_t is typedef'd to 'unsigned long int', but
in musl, it is a pointer type to an opaque struct. We'll go
with the latter option here.

Note that while this breaks ABI combatibility for the libc,
nothing in the x86-64 or aarch64 package repositories uses
pthreads, so this probably doesn't matter too much. If you
are one of the handful of souls brave enough to be maintaining
your own downstream software for ToaruOS and you use pthreads,
it's time to rebuild.

This is an initial change that will be followed up with more
thorough internal changes to our pthreads implementation.
2022-08-27 15:53:37 +09:00
K. Lange
5651875d4b libc: qsort_r 2022-08-26 05:32:00 +09:00
K. Lange
af69cd6369 text: Allow x-adjusted glyph rendering, for better kerning in caches 2022-08-22 13:36:30 +09:00
K. Lange
5f56820331 markup_text: Implement a glyph cache and expose a more detailed API 2022-08-22 12:29:34 +09:00
K. Lange
d7f73b3970 text: Add methods for rasterizing single glyphs 2022-08-22 12:28:39 +09:00
K. Lange
15a586a38e meta: uh, where did that come from 2022-08-21 18:51:30 +09:00
K. Lange
908dbb0553 libc: strsignal 2022-08-18 19:20:56 +09:00
K. Lange
745bc29a26 kernel: rudimentary sigwait 2022-08-18 16:56:43 +09:00
K. Lange
37bd4e08cb kernel: add sigsuspend 2022-08-18 15:09:23 +09:00
K. Lange
77651130e6 bim: Update syntax definitions 2022-08-17 19:30:45 +09:00
K. Lange
083ab387f3 kernel: more signal functions 2022-08-06 18:19:27 +09:00
K. Lange
2906476825 kernel: Add sigaction 2022-08-06 18:03:39 +09:00
K. Lange
eed45cbba9 i965: cleanup, clear screen on initial mode set 2022-07-25 09:51:04 +09:00
K. Lange
f4473b6617 bim: lua highlighter 2022-07-25 09:50:44 +09:00
K. Lange
264d11a618 compositor: blur-behind windows 2022-07-22 19:01:23 +09:00
K. Lange
54a1bcc5ff bim: sync upstream 2022-07-14 07:36:28 +09:00
K. Lange
f0d4c5b4bb bim: Sync 2022-05-31 08:12:07 +09:00
K. Lange
2639c786da procfs: fill on open for consistent reads 2022-04-17 22:23:14 -04:00
K. Lange
6ceb9392cd tty: fix permanently set EOF status on tty 2022-03-22 14:10:30 +09:00
K. Lange
49fd67bf2d kernel: relocate some user virtual addresses 2022-03-06 15:58:08 +09:00
K. Lange
6ff1bc5195 kernel: clear signal disposition when running a handler, as we should 2022-03-04 22:03:21 +09:00
K. Lange
63fbbec928 kernel: Don't let things clear frames without holding the frame alloc lock 2022-03-04 22:00:37 +09:00
K. Lange
3852646174 kernel: Restart some signals, fix up suspend to work with new signal management 2022-03-04 18:39:38 +09:00
K. Lange
bbebc7c128 kernel: complete redesign of signal handling 2022-03-04 16:12:16 +09:00
K. Lange
9a15b6df4f compositor: Implement semi-lazy window resizing 2022-03-03 19:39:19 +09:00
K. Lange
b3f6728339 date: add rudimentary support for setting date/time 2022-02-25 21:16:30 +09:00
K. Lange
5a6648a869 rpi400: try to clean up rpi stuff 2022-02-23 09:49:16 +09:00
K. Lange
6c69d235cf aarch64: implement a better spinlock 2022-02-22 09:53:55 +09:00
K. Lange
255b2296fd aarch64: implement panic halting with sgis 2022-02-20 18:11:24 +09:00
K. Lange
f6d0206059 aarch64: interrupt mapping improvements, chained interrupt handlers 2022-02-12 13:47:21 +09:00
K. Lange
b95f27dc60 aarch64: Add a tty driver for the pl011 uart 2022-02-11 11:55:36 +09:00
K. Lange
85274e61ad aarch64: cleanup 2022-02-11 11:54:28 +09:00
K. Lange
3368796328 aarch64: retrieve MIDR per-core 2022-02-03 08:27:33 +09:00
K. Lange
afab2320bf aarch64: SMP 2022-02-03 00:08:47 +09:00
K. Lange
18a4e78336 aarch64: More cleanup 2022-02-02 12:08:44 +09:00
K. Lange
e8d78f00fc aarch64: reorganize 2022-02-01 13:27:49 +09:00
K. Lange
bf40d8f289 aarch64: some memory size management 2022-02-01 06:54:59 +09:00
K. Lange
78196ef5b6 ptrace: mmu user read/write macros 2022-01-30 21:32:33 +09:00
K. Lange
b53a56fe72 aarch64: begin work on new target 2022-01-30 21:25:27 +09:00
K. Lange
145478b595 panel: Restore Alt-F1 and Alt-F3 key binds 2021-12-08 15:35:20 +09:00
K. Lange
2f59fa9336 libc: More bad (and a couple good) math functions 2021-12-07 16:24:07 +09:00
K. Lange
f551b092d3 base: Slightly less useless help files 2021-12-06 11:18:01 +09:00
K. Lange
a044b187b8 gsudo: Icon for panel, fixup overflowing password box 2021-12-05 15:16:39 +09:00
K. Lange
18174e46de kernel: Implement basic copy-on-write for fork() 2021-11-30 22:26:45 +09:00
K. Lange
2b85c67661 menu: Better tail alignment for bubble windows 2021-11-29 15:58:53 +09:00
K. Lange
7b2c8397b6 panel: Apply smarter alignment to popup menus 2021-11-29 14:32:29 +09:00
K. Lange
4f7ef46f40 panel: First pass at modularization 2021-11-28 18:28:57 +09:00
K. Lange
c7429e9055 meta: purge most instances of vim hints 2021-11-26 12:59:02 +09:00
K. Lange
045431b2de kernel: prevent modules from being loaded multiple times 2021-11-18 19:47:28 +09:00
K. Lange
d90d6e1963 kernel: Add simple mutex with a wait queue 2021-11-17 19:13:33 +09:00