Jonas 'Sortie' Termansen
2e4b15daed
Simplify directory reading.
2016-01-26 18:42:54 +01:00
Jonas 'Sortie' Termansen
fe067c5150
Refactor boot page availability testing.
2016-01-26 17:51:25 +01:00
Jonas 'Sortie' Termansen
cfb9dd6045
Remove poorly implemented kernel symbol loading.
2016-01-26 17:45:06 +01:00
Jonas 'Sortie' Termansen
08bac6e3f6
Add kernelinfo firmware string.
2016-01-26 17:45:06 +01:00
Jonas 'Sortie' Termansen
4b1079510b
Execute only programs with an executable bit set.
2016-01-25 17:39:57 +01:00
Jonas 'Sortie' Termansen
2e3d7c45af
Add paging no-execute and write protection support.
...
Enable the NX bit on x86_64 and set if not PROT_EXEC and enable the write
protection mode (CR0.WP) that disables the default behavior where the kernel
is able to write to read-only memory. Fix kernel broken assumptions it can
access read-only memory and take care to never set PROT_KWRITE on user-space
pages unless PROT_WRITE is also set, otherwise user-space will be able to
write to read-only memory.
This achieves X^W in the whole system except for the core kernel itself as
it is currently don't know the purpose of pages when identity mapping the
first 4 MiB.
2016-01-25 17:39:57 +01:00
Jonas 'Sortie' Termansen
bff1265d62
Add termios(2).
2016-01-25 15:47:40 +01:00
Jonas 'Sortie' Termansen
8f233b4a10
Add console backspace bold and underline support.
...
Combine textbuffer char and attr concepts while here.
2016-01-23 01:02:50 +01:00
Jonas 'Sortie' Termansen
9297ff2a20
Add PS/2 mouse driver.
2016-01-23 00:50:53 +01:00
Jonas 'Sortie' Termansen
306709fc4a
Add PS/2 controller driver.
2016-01-23 00:50:53 +01:00
Meisaka Yukara
3d48c7f658
Fix firing of absolute clocks.
2016-01-22 21:17:05 +01:00
Jonas 'Sortie' Termansen
dc07435002
Fix closefrom(2) infinite loop.
2016-01-22 20:01:32 +01:00
Jonas 'Sortie' Termansen
ff8b2be515
Implement CLOCK_THREAD_CPUTIME_ID and CLOCK_THREAD_SYSTIME_ID.
2016-01-09 02:28:44 +01:00
Jonas 'Sortie' Termansen
af9cc8ed05
Schedule full console redraw after user-space framebuffer write.
2016-01-08 19:56:11 +01:00
Jonas 'Sortie' Termansen
dad5c57f33
Allow bootloader bitmap framebuffer modesetting.
2016-01-08 19:56:11 +01:00
Jonas 'Sortie' Termansen
8c7c6fa59f
Center ascii cat on boot.
2016-01-08 19:56:11 +01:00
Jonas 'Sortie' Termansen
9d3aecfa07
Work around sync on close bottleneck.
2016-01-08 01:25:10 +01:00
Jonas 'Sortie' Termansen
74fe008001
Silence static analysis warnings.
2016-01-08 00:48:01 +01:00
Jonas 'Sortie' Termansen
a45b93785c
Fix program loading bugs.
2016-01-08 00:41:20 +01:00
Jonas 'Sortie' Termansen
48c6ccdf06
Fix MapPCIBAR potential overflow.
2016-01-08 00:39:13 +01:00
Jonas 'Sortie' Termansen
055f502c02
Fix dup3(2) O_CLOEXEC and O_CLOFORK handling.
2016-01-08 00:36:14 +01:00
Jonas 'Sortie' Termansen
8fabfc5f7b
Fix kernel console rendering U+007F.
2016-01-07 19:17:04 +01:00
Jonas 'Sortie' Termansen
3e068bc88f
Fix x86 Alignment Check and Security Exception handlers.
...
The processor pushes an error code when delivering these exception.
Discovered by Alexandros Alexandrou.
2016-01-07 19:17:04 +01:00
Jonas 'Sortie' Termansen
22351d7f72
Fix untimely delivery of signals during userfs reference count messages.
2016-01-07 19:08:43 +01:00
Jonas 'Sortie' Termansen
559857b97e
Fix features.h inclusions not yet changed to sys/cdefs.h.
2015-12-23 17:49:59 +01:00
Jonas 'Sortie' Termansen
f60b2c6ec4
Add keyboard layout support to kernel.
2015-12-19 02:44:15 +01:00
Jonas 'Sortie' Termansen
7da84494ab
Add kblayout-compiler(1).
2015-12-19 02:21:15 +01:00
Jonas 'Sortie' Termansen
4b6b06bbc8
Add scram(2).
2015-12-12 22:53:07 +01:00
Jonas 'Sortie' Termansen
f2eb347e9f
Fix PS2Keyboard memcpy(dest, NULL, 0) undefined behavior.
2015-12-12 22:53:07 +01:00
Jonas 'Sortie' Termansen
ab27c85948
Implement sigaction(2) SA_RESETHAND.
2015-12-12 19:28:08 +01:00
Jonas 'Sortie' Termansen
802c12e64a
Implement ppoll(2) timeouts.
2015-12-12 19:28:08 +01:00
Jonas 'Sortie' Termansen
0045f18c81
Remove kernel Scheduler::Init().
2015-12-12 19:28:07 +01:00
Jonas 'Sortie' Termansen
cee24359d8
Add psctl(2).
2015-12-12 19:28:07 +01:00
Jonas 'Sortie' Termansen
716ac0dceb
Fix logterminal TERMMODE_LINEBUFFER checking.
2015-12-12 19:28:07 +01:00
Jonas 'Sortie' Termansen
24cf8f42b8
Silence maybe initialized warning in sigsuspend.
2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen
32feba2709
Fix memcpy(dest, NULL, 0) undefined behavior.
2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen
1acf16dea0
Fix kernel makefile finding crtbegin.o and crtend.o when not needed.
2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen
f4995c24f4
Add kernel --init option.
2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen
62b5d45a78
Add kernel command line support.
2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen
fc637c8880
Prevent orphan processes from becoming zombies.
2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen
44d4807fc4
Add ENOMOUNT.
2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen
bae08f13ef
Fix fsmarshall not handling users and groups.
...
This is an incompatible ABI change.
2015-10-28 16:07:36 +01:00
Jonas 'Sortie' Termansen
7c6e6ef317
Fix kernel string copy from user-space.
2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen
2727d9fb50
Fix pipe destruction race condition.
2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen
12b5044bc7
Fix signal delivery during context switch.
2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen
875ce1adf7
Fix faccessat(2) not reporting correct permissions.
2015-10-01 22:50:51 +02:00
Jonas 'Sortie' Termansen
4c2a93ea02
Fix munmap(2) shrink from right logic.
...
This fixes a rather nasty issue where gcc's garbage collection triggered a
munmap call with the effect that it began unmapping huge amounts of kernel
data until the system triple faulted.
2015-10-01 22:50:51 +02:00
Jonas 'Sortie' Termansen
40c2fd12dc
Fix logterminal TERMMODE_UNICODE checking.
2015-10-01 22:49:02 +02:00
Jonas 'Sortie' Termansen
6725972e11
Fix LinkInodeInDir return value.
...
The callers expected it to return an int different than 0 on failure. The
link method returns different than 0 on failure. This actually worked by
lucky coincidence. Change the return type to int and 0 on success, and -1
on failure per popular demand.
Thanks to Meisaka Yukara for spotting this.
2015-09-25 15:01:20 +02:00
Jonas 'Sortie' Termansen
275541383c
Fix dtable return value type errors and missing input validation.
...
Update to current coding conventions while here.
Thanks to Meisaka Yukara for spotting the return value type errors.
2015-09-25 15:01:20 +02:00