Commit graph

517 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
9d4bc2a15f Grow kernel heap upwards.
Previously the kernel heap grew downwards for historical reasons. There is no
reason for this and it simplifies the heap implementation if it only grows
upwards. This also rearranges how the kernel virtual memory is allocated to
suit an upwards-growing heap.
2013-12-17 14:30:45 +01:00
Jonas 'Sortie' Termansen
26add4c111 Update sortix/kernel.cpp to current coding conventions. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
9d48de4035 Remove <sortix/kernel/endian.h>. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
d0c7ca3c02 Port sortix/pci.h from <sortix/kernel/endian.h> to <endian.h>. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
984397565f Link crtbegin.o and crtend.o into the kernel. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
30a95dfa1e Split parts of <features.h> into <sys/cdefs.h>. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
6f5989614e Add SIGPROF. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
ad9a90926d Add O_NOFOLLOW. 2013-12-17 14:30:44 +01:00
Jonas 'Sortie' Termansen
5933ac5210 Rename O_CREAT to O_CREATE. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
defa74d7ec Add F_DUPFD, F_DUPFD_CLOEXEC, F_DUPFD_CLOFORK. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
42f00f5d79 Refactor file descriptor allocation. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
8c0e0235d6 Refactor fcntl(2) ABI.
This is an incompatible ABI change.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
1f2902ecfd Make system call functions static. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
eac602c9a1 Remove print_string(2).
This wasn't being used by anyone and was a security risk.
2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
ebef48ed61 Update kernel log to current coding conventions. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
9bb2ea78ac Remove obsolete PC-Speaker sound driver. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
8975c75c61 Update sortix/kernelinfo.cpp to current coding conventions. 2013-12-17 14:30:43 +01:00
Jonas 'Sortie' Termansen
b399ece14b Add dup3(2). 2013-12-17 14:30:42 +01:00
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