Jonas 'Sortie' Termansen
ad1c6e0ed7
Remove <sys/__/types.h> inclusion from <features.h>.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
ad84bc75c8
Change kernel internal build macro to __is_sortix_kernel.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
3a30ba57ef
Change libc internal build macro to __is_sortix_libc.
2013-12-17 14:30:42 +01:00
Jonas 'Sortie' Termansen
13f09cc515
Add prlimit(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
a6f38947f2
Add getpriority(2) and setpriority(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
04019cab9e
Add mmap(2), mprotect(2) and munmap(2).
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
8e867908ab
Refactor user-space stack creation.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
f441066d02
Add MapMemory, ProtectMemory and UnmapMemory utility functions.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
b9560409a7
Add virtual address space allocator for user-space.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
e875babf8e
Reduce kernel stack size to 8 KiB.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
d71179b540
Refactor kernel segment bookkeeping.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
68aba3d137
Add Memory::GetUserVirtualArea function to the kernel.
2013-12-17 14:30:41 +01:00
Jonas 'Sortie' Termansen
da94e0fb62
Update sortix/thread.cpp to current coding conventions.
2013-12-17 14:30:40 +01:00
Jonas 'Sortie' Termansen
2e64286ae5
Update kernel panic code to current coding conventions.
2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
a44138f72f
Remove obsolete attribute macros.
2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c377f33072
Remove duplicate declaration of addr_t.
2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
b88853de81
Remove obsolete PLATFORM_X86 and PLATFORM_X64 macros.
2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c36b35adc2
Refactor kernel GDT code.
2013-12-17 14:30:37 +01:00
Jonas 'Sortie' Termansen
c77d9395cd
Refactor kernel interrupt handling.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
138e279e62
Remove obsolete sortix/{x86,x64}/bits.h headers.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7a6b4920ce
Rename SYSCALL_WAIT to SYSCALL_WAITPID.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
938f722dcb
Add tcsetpgrp(2) and tcgetpgrp(2).
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
b6349e21cb
Implement sending signals to process groups.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
be0ece3fe0
Add setpgid(2) and getpgid(2).
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
2cb3f2860a
Update sortix/process.cpp coding style.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
8d420c9de7
Remove unused platform-specific scheduler file.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
740187674a
Add reference counting filesystem messages.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
2ea7607f4e
Clean up ATA PIO driver.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
7c3740a85d
Hook crash handler up against kernel debugger.
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
5d1fe2620b
Add mkpartition(2).
2013-12-17 14:30:36 +01:00
Jonas 'Sortie' Termansen
d2aab888d1
Add chroot(2), fchroot(2) and fchrootat(2).
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
6a62446bab
Prevent escaping the root filesystem.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
871469d443
Add terminal support for ^L.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
ddf3dd329f
Add fchdirat(2).
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
3093623f18
Add PCI Bar utility functions.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
df0c842b77
Add internal kernel debugger.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
cd1cc19b01
Load program symbol tables.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
b84d9d26d0
Update sortix/elf.cpp to current coding conventions.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
2525de507c
Add kernel symbol support.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
834789d006
Chain kernel frame pointer list with user-space.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
4e3692cf88
Optimize x86_64 system calls.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
951b6edccd
Improve kernel terminal line editing.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
3c6ecd6512
Add umask(2).
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
a91af78c1f
Preserve modification dates when extracting initrd.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
27bdbf1c9d
Add utimens support to inodes.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
eb00186be1
Add x86 realtime clock support.
2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen
0903f4edc2
Add times(3).
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
3938f80055
Add timens(2).
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
04f797490d
Add clocks for process and child execute and system time.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
5da12519cd
Maintain recursive process execution and system time.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
1c64a7fda1
Maintain process execution and system time.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
dbe8dafaac
Refactor kernel calltrace.h header.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
1bc470624f
Refactor kernel process.h and thread.h headers.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
7aa061e50e
Refactor kernel signal.h header.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
d0f68eec68
Refactor kernel cpu.h header.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
71a2fef5f6
Add clock_nanosleep(2).
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
1e2550c0d5
Add clock_*(2) API.
2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen
2d94cd1246
Add alarm(2) and alarmns(2).
2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
df5deac29b
Add support for per-process timers.
2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
ef32b3fcbe
Add {,p}{read,write}v(2).
2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
73f3d1c251
Add /dev/net/fs network device.
2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
658defdbc3
Refactor pipe implementation.
2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen
615bf32c60
Forward declare <signal.h> API.
2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen
0ff17a00c8
Add O_NONBLOCK support to the kernel terminal.
2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
514fab5359
Add O_NONBLOCK support to pipes.
2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
c514dda0b2
Add O_NONBLOCK support to sockets.
2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
1052f2c47a
Add O_NONBLOCK.
2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
ed5f14878d
Add AT_SYMLINK_FOLLOW.
2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen
79a49b2015
Add socket interface.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
ee106231c4
Add utimensat(2) and futimens(2).
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
472155173d
Adopt struct timespec as the kernel time format.
...
Note: Incompatible ABI change.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8162011b5d
Add <time.h> header forward declarations.
...
Note that many of the functions are not yet implemented.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
dbc6c8c663
Add ioctl(2).
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ade239f18b
Add {g,s}et{e,}{g,u}id(2).
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
087bacb30f
Increase user-space stack to 512 KB.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
38b146472e
Implement F_SETFL and F_GETFL support in fcntl.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ac1d64fd7e
Refactor descriptor flags and security.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f29abd73ec
Add fsync(2).
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
80b4287c9d
Print program image path upon crash.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f2556c3551
Keep track of program image path.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
e4bd7cad82
Add MAP_PRIVATE and MAP_SHARED to sortix/mman.h.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
729bfa3c32
Add readlink{,at}(2).
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
fc8d64013d
Refactor datatype declarations.
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
ce66539ff7
Free surplus unused bcache blocks.
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
9434ee94fd
Add file cache.
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
dc4924585e
Free the initrd after extraction.
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
54da838c79
Refactor kernel address space allocation.
2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
b8f85d9ef2
Add NSIG.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
b9d633108d
Add wctype(3).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
8e0aefda20
Add rename(2) and renameat(2).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
fd6098a3a2
Locking a NULL pointer using ScopedLock is a noop.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
bb284d9421
Support doing calltraces on user-space/kernel crashes.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
7b3fd0f06f
Support doing kernel calltraces on another stack.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ef53864d36
dispd: Wait for console rendering to finish.
...
This prevents a race condition where the console may still be rendering,
but the process may be able to get data on the screen faster, which results
in visual corruption as the two race.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ca7ad9709f
Queue lfb text render commands with async render.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ad0875aaac
Add TextPos relations.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
907acf1e18
Add GetKernelProcess function to scheduler.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
193b76f8cb
Refactor scheduler API.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ba7f26bf0
Refactor kernel time API and add timespec API.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
5424760719
Refactor kernel interrupt API.
2013-12-17 14:30:26 +01:00