Jonas 'Sortie' Termansen
01b59c1947
Convert libc to C.
2016-03-03 23:02:23 +01:00
Jonas 'Sortie' Termansen
3487b62152
Remove dead MTRR code from the kernel.
2016-02-29 01:37:31 +01:00
Jonas 'Sortie' Termansen
ede0571926
Add UTIME_NOW and UTIME_OMIT.
2016-02-24 17:32:05 +01:00
Jonas 'Sortie' Termansen
02c6316e95
Remove kernel debugger, old kernel US layout and kernel symbol code.
...
The debugger has fallen behind and has become a maintenance burden. It was
the only user of the old kernel US layout system, which is good to get rid
of. The debugger didn't work with graphical output and was likely to
conflict with the new keyboard system if used, which no longer triggered it.
The kernel symbol code was removed to simplify the kernel.
The kernel debugger was an useful debugging feature, but it needs to be done
in a better way before it can be added back.
2016-02-22 00:12:26 +01:00
Jonas 'Sortie' Termansen
ebdb2a844f
Disable PS/2 port testing.
...
This is reportedly a problem with some emulated PS/2 controllers.
glauxosdever reported his computer responds 0x50 0x00 instead of just 0x00.
OpenBSD has commented out this check in sys/dev/ic/pckbc.c, claiming it's a
problem with some controllers and that some might even hang.
I doubt not testing ports is going to be a problem, as the identitication
code runs next and verifies devices and all relevant modern hardware
probably has this working well enough.
2016-02-18 22:15:17 +01:00
Jonas 'Sortie' Termansen
065a51cb00
Fix user-space filesystem st_dev values being non-unique.
2016-02-17 23:49:19 +01:00
Jonas 'Sortie' Termansen
16c5738a20
Fix typo in PS/2 error string.
...
Discovered by Alexandros Alexandrou.
2016-02-13 20:07:47 +01:00
Jonas 'Sortie' Termansen
bab21ae7dd
Add tar and tix initrd support.
2016-02-07 14:48:28 +01:00
Jonas 'Sortie' Termansen
475bd7c26e
Add support for multiple initrds.
2016-02-07 14:48:27 +01:00
Jonas 'Sortie' Termansen
9fe234d4d8
Rewrite init(8).
2016-02-06 17:29:42 +01:00
Jonas 'Sortie' Termansen
398eee1a8b
Add AHCI driver.
2016-02-02 22:47:49 +01:00
Jonas 'Sortie' Termansen
79e01c2eba
Rewrite ATA driver.
2016-02-02 22:47:49 +01:00
Jonas 'Sortie' Termansen
b0bbf1e013
Fix fsm_mountat(2) error handling.
2016-01-27 21:36:04 +01:00
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