Jonas 'Sortie' Termansen
12eaf46873
Let kernel debugger know how it was invoked.
2014-11-21 00:12:46 +01:00
Jonas 'Sortie' Termansen
5dbd89d2aa
Delay heap initialization until first heap expansion.
2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
81ad72ae89
Fix renegade graphical console rendering thread.
...
The console rendering thread doesn't get shut down as the lfbtextbuffer did
not think it had a rendering thread. This causes corruptions to occur when a
subsequent resolution change destroys the lfbtextbuffer class instance, but
the thread continues to use the class. Lots of undefined behavior occurs as
the memory gets reallocated for other purposes.
2014-11-20 17:04:45 +01:00
Jonas 'Sortie' Termansen
ee13ffa715
Refactor kernel graphics support.
2014-11-19 00:08:49 +01:00
Jonas 'Sortie' Termansen
8f7c72abc1
Add utility functions for mapping PCI memory areas.
2014-11-18 23:14:49 +01:00
Jonas 'Sortie' Termansen
50ee8ca323
Implement searching for multiple PCI devices matching a pattern.
2014-11-18 22:00:29 +01:00
Jonas 'Sortie' Termansen
400eb2238f
Refactor process id allocation and accounting.
2014-11-18 20:33:21 +01:00
Jonas 'Sortie' Termansen
25e07a9083
Refactor kernel interrupt and thread register support.
2014-11-18 20:33:21 +01:00
Jonas 'Sortie' Termansen
25b4125840
Relocate kernel IO port functions to <sortix/kernel/ioport.h>.
2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
7b3e2fa229
Clean up kernel thread creation code.
2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
a24ecf4b83
Add getsockopt(2) and setsockopt(2).
2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
708bcb4735
Add recvmsg(2) and sendmsg(2).
2014-11-18 16:27:19 +01:00
Jonas 'Sortie' Termansen
79f7312a49
Fix page protection bugs.
2014-11-06 00:09:55 +01:00
Jonas 'Sortie' Termansen
b4c38fd044
Fix wrong sizeof in memstat(2).
2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
e20dd6ed06
Fix waiting for absolute time on clocks.
2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
1206113425
Fix userfs renaming between directories.
2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
66f1a62743
Fix userfs bugs return values and bugs.
2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
cef4c8d982
Fix waitpid status copying to user-space.
2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
a6bb538bcf
Fix user-space filesystem copying.
2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
73dc4a0feb
Fix kernel leaking ESPIPE in non-error cases.
2014-09-25 18:12:53 +02:00
Jonas 'Sortie' Termansen
933720e0b0
Remove obsolete system calls.
2014-09-25 17:49:02 +02:00
Jonas 'Sortie' Termansen
c0ad3d8a80
Fix error case in tfork(2).
2014-09-25 17:27:54 +02:00
Jonas 'Sortie' Termansen
e29f0cdd1e
Fix class process constructor forgetting some members.
2014-09-23 20:45:57 +02:00
Jonas 'Sortie' Termansen
797efbc15b
Fix Ref<T> self-assignment.
2014-09-23 20:45:57 +02:00
Jonas 'Sortie' Termansen
6558de636e
Fix tfork(2) not copying signal properties.
2014-09-23 20:45:57 +02:00
Jonas 'Sortie' Termansen
741e48e688
Fix interrupt worker quality.
2014-09-23 20:45:57 +02:00
Jonas 'Sortie' Termansen
8c2befc140
Clean up scheduler.
2014-08-24 14:02:42 +02:00
Jonas 'Sortie' Termansen
594dcaad19
Add format attribute to kernel print and panic functions.
2014-08-23 21:47:05 +02:00
Jonas 'Sortie' Termansen
30cd318c17
Implement signals.
...
Note: This is an incompatible ABI change.
2014-07-22 13:25:39 +02:00
Jonas 'Sortie' Termansen
316ed84e60
Fix process constructor not zeroing the user timers.
2014-07-22 13:16:16 +02:00
Jonas 'Sortie' Termansen
9675bd7475
Deliver SIGPIPE on filesystem socket disconnect.
...
This fixes the earlier mistake where I believed sockets were not meant to
send SIGPIPE on bad writes, but the standard mandates that sockets do send
SIGPIPE in such cases.
2014-07-20 15:05:58 +02:00
Jonas 'Sortie' Termansen
b4d494cf8b
Implement thread creation in tfork(2).
2014-07-08 17:41:52 +02:00
Jonas 'Sortie' Termansen
c8a3a858b0
Add libpthread.
2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen
8411dce330
Add kernel uthread support.
2014-07-08 17:41:50 +02:00
Jonas 'Sortie' Termansen
fdcfb1f2da
Handle ELF notes during program load.
2014-07-07 17:52:33 +02:00
Jonas 'Sortie' Termansen
3f9a7c0a32
Fix <fcntl.h> using C++ comments.
2014-07-07 17:52:33 +02:00
Jonas 'Sortie' Termansen
b607900a00
Fix <dirent.h> not being C89 friendly.
2014-07-07 17:52:33 +02:00
Jonas 'Sortie' Termansen
2d8d89b9f8
Fix missing TLB-flush in exit_thread(2).
2014-07-06 22:59:40 +02:00
Jonas 'Sortie' Termansen
8b3e25ce7f
Fix FileCache::ChangeNumBlocks using memory after realloc shrink.
2014-06-27 16:17:47 +02:00
Jonas 'Sortie' Termansen
874baffd57
Fix wrongly named system call constants.
2014-06-27 15:49:55 +02:00
Jonas 'Sortie' Termansen
2bead9df51
Fix <sortix/fork.h> declaring access(2) constants.
2014-06-17 23:53:26 +02:00
Jonas 'Sortie' Termansen
2d46c1e63c
Fix missing TLB-flush in mprotect().
2014-06-17 23:53:26 +02:00
Jonas 'Sortie' Termansen
4ea6aa710c
Add exit_thread(2).
2014-06-12 00:05:40 +02:00
Jonas 'Sortie' Termansen
f332cf96d4
Add sched_yield(2).
2014-05-29 17:16:49 +02:00
Jonas 'Sortie' Termansen
af23f7ad5e
Add rdmsr(2) and wrmsr(2).
2014-05-29 17:14:30 +02:00
Jonas 'Sortie' Termansen
1f72c1637c
Maintain fsbase and gsbase as per-thread registers.
...
Note: This is an incompatible ABI change.
2014-05-29 17:07:42 +02:00
Jonas 'Sortie' Termansen
92d7c1807e
Fix user-space filesystems not disconnecting properly.
2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
0ebe5fc04d
Fix filesystem sockets sending SIGPIPE on disconnect.
2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
6774c79ba6
Fix polling Unix sockets in both incoming and outgoing directions.
2014-05-28 22:18:54 +02:00
Jonas 'Sortie' Termansen
534eb3ddd8
Fix libk being built with -mmmx, -msse and -msse2 on x86_64.
2014-05-28 17:42:19 +02:00
Jonas 'Sortie' Termansen
68d379c605
Fix insecure user-space pointer dereferences in sys_execve.
2014-05-16 16:58:33 +02:00
Jonas 'Sortie' Termansen
23d9693261
Fix ATA PIO driver not correctly detecting harddisk size.
2014-05-16 15:13:02 +02:00
Jonas 'Sortie' Termansen
0c48dfca96
Fix 4 KiB memory leak on x86_64 for each process.
2014-05-16 14:48:27 +02:00
Jonas 'Sortie' Termansen
4283d90102
Fix memory leak of processes that are not process group leaders.
2014-05-16 14:48:27 +02:00
Jonas 'Sortie' Termansen
bcf72f71e4
Fix premature return during VGA text buffer emergency reset.
2014-04-24 00:03:52 +02:00
Jonas 'Sortie' Termansen
6cf417532e
Fix uninitialized bool in kernel Descriptor class.
2014-04-22 18:06:14 +02:00
Jonas 'Sortie' Termansen
24321b0f96
Fix wrong TSS limit.
2014-04-22 18:06:00 +02:00
Jonas 'Sortie' Termansen
46105fd260
Fix missing braces in kernel/debugger.cpp.
2014-04-05 17:02:49 +02:00
Jonas 'Sortie' Termansen
da87b6f0aa
Fix troublesome debug assertions in kernel/process.cpp.
2014-03-31 19:47:54 +02:00
Jonas 'Sortie' Termansen
66481bef39
Fix kernel refcounted classes without virtual destructor.
2014-03-31 19:47:54 +02:00
Jonas 'Sortie' Termansen
6b8e389b47
Fix 32-bit PCI devices not having bar sizes correctly determined.
2014-03-31 19:08:51 +02:00
Jonas 'Sortie' Termansen
564f99b3ae
Move O_ACCMODE into kernel headers.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
e941ff0430
Rename useresp to esp and userrsp to rsp.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
8c00a4145c
Refactor kernel PAT, MTRR, and MSR usage.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
34dbc4d515
Refactor PCI BAR support.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
a133a7717e
Refactor i386 and x86_64 interrupt support.
2014-03-17 19:22:13 +01:00
Jonas 'Sortie' Termansen
554894d840
Add O_TTY_INIT.
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
426848fbbf
Add O_NOCTTY.
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
a935148f60
Add statvfs(2), fstatvfs(2) and fstatvfsat(2).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
2fe3595feb
Add getumask(2).
2014-03-17 19:22:12 +01:00
Jonas 'Sortie' Termansen
105278a500
Clean up the serial driver read and write routines.
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
b7bf21bfff
Open stdin, stdout and stderr in the kernel rather than init.
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
640465320f
Improve the reliability of the kernel likely and unlikely macros.
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
a0a8ed61d8
Add pipe2(2).
2014-03-17 19:22:11 +01:00
Jonas 'Sortie' Termansen
eaf1618537
Add tcgetwincurpos(2).
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
d5241349cc
Move OFF_MIN and OFF_MAX to <sys/types.h>.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
823d3a3e2f
Add fsblkcnt_t and fsfilcnt_t.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
0117c4fbc7
Improve ix86 and x86_64 data types ABI.
...
Increase gid_t to an unsigned 64-bit integer.
Increase id_t to an unsigned 64-bit integer.
Increase pid_t to a signed 64-bit integer.
Increase time_t to a signed 64-bit integer.
Increase uid_t to an unsigned 64-bit integer.
Note: This is an incompatible ABI change.
2014-03-17 19:22:10 +01:00
Jonas 'Sortie' Termansen
6419df7a6d
Fix missing includes from private kernel headers.
2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
739f8ba865
Fix <sortix/uio.h> not declaring size_t.
2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
cfa3b19cf2
Fix <sortix/itimerspec.h> not declaring struct timespec.
2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
2fe4a1ca92
Fix <sortix/initrd.h> not including <stdint.h>.
2014-03-17 17:00:00 +01:00
Jonas 'Sortie' Termansen
3a1c89f7a5
Fix tcgetpgrp resetting the foreground process group to zero.
2014-03-17 16:59:59 +01:00
Jonas 'Sortie' Termansen
9cc2f555e5
Fix print format warnings in kernel/syscall.cpp.
2014-03-01 14:37:42 +01:00
Jonas 'Sortie' Termansen
093d583dea
Fix print format warnings in kernel/x86-family/memorymanagement.cpp.
2014-03-01 14:37:42 +01:00
Jonas 'Sortie' Termansen
fc713baba3
Rename libc-sortix to libk.
2014-03-01 14:37:42 +01:00
Jonas 'Sortie' Termansen
0ac60d68ea
Add function for clearing user-space memory from the kernel.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
5559377532
Replace kernel STATIC_ASSERT macro with C++11 static_assert.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
292cca5f0e
Update kernel/copy.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
cf352a64a7
Update kernel/syscall.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
cd254cd799
Remove kernel/utf8.{cpp,h}.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
7a6b222e07
Update kernel/uart.{cpp,h} to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
c3f1550bba
Remove kernel/serialterminal.{cpp,h}.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
6d79781497
Update kernel/x86-family/x86-family.{cpp,h} to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
cacd010066
Update kernel/{x64/x64,x86/x86}.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
fcb8ae3af3
Update kernel/{x64,x86}/thread.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
ccb0f368a3
Update kernel/{x64,x86}/process.cpp to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
3fa5fff3f5
Update kernel/linebuffer.{cpp,h} to current coding conventions.
2014-03-01 14:37:41 +01:00
Jonas 'Sortie' Termansen
bb3b6b0260
Update kernel/kb/ps2.{cpp,h} to current coding conventions.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
6e6df64fa8
Update kernel/kb/layout/us.{cpp,h} to current coding conventions.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
263cc21058
Update <sortix/kernel/sortedlist.h> to current coding conventions.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
d5b1d4853d
Update kernel/end.cpp to current coding conventions.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
a099f82890
Update kernel memory management to current coding conventions.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
1e671aa8cd
Rename struct kernel_dirent::d_off to d_nextoff.
...
The d_off field exists on other operating systems and the kernel used the
field in an incompatible manner. The easy solution is to call the field
something else and later address the design mistake.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
da933464e5
Add d_namlen, d_dev, and d_type to struct dirent.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
4f4594037f
Sort <sortix/__/types.h> types.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
6788f0096e
Preprocess assembly files with the C preprocessor.
2014-03-01 14:37:40 +01:00
Jonas 'Sortie' Termansen
98a87fa1e5
Rename Sortix kernel directory to kernel.
2014-03-01 14:37:39 +01:00