Commit Graph

1086 Commits

Author SHA1 Message Date
K. Lange
b8f0485e3c kernel: don't pass start to init; add new args= 2018-12-03 10:17:09 +09:00
K. Lange
e3d7719883 v1.9.2 2018-12-01 11:09:55 +09:00
K. Lange
e2cbd52988 v1.9.1 2018-11-28 21:31:41 +09:00
K. Lange
fdda0132c8 kernel: implement O_DIRECTORY 2018-11-28 14:51:35 +09:00
K. Lange
1e786f6ea8 kernel: stat should throw ENOENT 2018-11-23 17:21:10 +09:00
K. Lange
de7463d141 kernel: 64-bit offsets for VFS 2018-11-23 09:56:44 +09:00
K. Lange
cc3aa63a7b kernel: handle O_EXCL... correctly... 2018-11-22 16:50:21 +09:00
K. Lange
a663722b34 kernel: handle O_EXCL 2018-11-22 16:35:18 +09:00
K. Lange
a2f7396e26 kernel: fixup more open permission things 2018-11-22 16:27:20 +09:00
K. Lange
4b72785663 kernel: refuse to open directories in certain cases 2018-11-22 16:11:05 +09:00
K. Lange
3b04776950 kernel: fix bad truncate in append mode 2018-11-22 11:47:08 +09:00
K. Lange
f3c6507e4a kernel: move truncate to a separate method called after open 2018-11-21 21:54:31 +09:00
K. Lange
3106c7b57a v1.8.2 2018-11-19 21:46:11 +09:00
K. Lange
b5c9b39f91 vfs: permission check for mkdir 2018-11-18 19:33:11 +09:00
K. Lange
e6e3bfc9c9 v1.8.1 2018-11-12 16:16:40 +09:00
K. Lange
e0bb92bb65 Bump to v1.8.0 2018-11-07 10:52:59 +09:00
K. Lange
c1dcfca920 kernel: more directory permissions 2018-11-01 13:46:59 +09:00
K. Lange
b42c185421 sudo: support euids with setuid binaries 2018-10-31 10:28:41 +09:00
K. Lange
e8ec1cb6c3 kernel: setsid should set pgid=pid 2018-10-30 15:58:15 +09:00
K. Lange
7a935f2834 kernel: send SIGCHLD 2018-10-30 15:37:47 +09:00
K. Lange
c3b841d13c sh: bad pgid when resetting? 2018-10-30 15:36:09 +09:00
K. Lange
35c29e9b4d kernel: getpgid; esh: fixups 2018-10-30 13:28:11 +09:00
K. Lange
36afa24d2f kernel: invert WEXITED to WSTOPPED 2018-10-30 13:11:07 +09:00
K. Lange
886f5797fb kernel: add modes and offsets to file descriptors 2018-10-29 20:57:17 +09:00
K. Lange
81ba10fe3f serial: new direct tty serial driver 2018-10-29 19:55:55 +09:00
K. Lange
e0a871df8b kernel: processes in the same session should be able to send SIGCONT regardless of permissions 2018-10-29 18:32:13 +09:00
K. Lange
9a6a5ce9c1 esh: report status of backgrounded apps when they finish 2018-10-29 12:45:22 +09:00
K. Lange
0995d14106 tty: kernel should send SIGWINCH, not terminal 2018-10-28 19:03:04 +09:00
K. Lange
51df8004dd job control: kill/cont process groups 2018-10-26 23:19:46 +09:00
K. Lange
5aaaf9f8ce kernel: setpgid fix 2018-10-26 23:15:08 +09:00
K. Lange
6c88956fa4 job control 2018-10-26 20:34:15 +09:00
K. Lange
a40fe23a50 tty: support additional EOL character 2018-10-26 18:20:09 +09:00
K. Lange
07ae3dd089 tty: add VWERASE 2018-10-26 13:46:47 +09:00
K. Lange
092ca7c196 tty: ascii DELETE for backspace; no serial conversion 2018-10-26 13:39:03 +09:00
K. Lange
5f89d99258 v1.7.0 2018-10-26 10:17:54 +09:00
K. Lange
cc4874f90a tty: improvements (^V, fix nlcr behaviors, enter sends ^M) 2018-10-26 10:15:16 +09:00
K. Lange
12968b4b53 kernel: handle ^U with control codes 2018-10-25 23:36:43 +09:00
K. Lange
fad926c487 kernel: uh, oops 2018-10-25 23:27:13 +09:00
K. Lange
ed796bf6aa kernel: handle control characters in CANON nicely 2018-10-25 23:23:29 +09:00
K. Lange
9b912bbfd7 kernel: preallocate tables for high memory 2018-10-25 23:23:29 +09:00
K. Lange
bfbd3cfc13 kernel: quietly expose esp/ebp state on signal entry 2018-10-17 19:17:03 +09:00
K. Lange
076426f101 kernel: bump to 1.6.1 for several changes 2018-10-12 20:19:49 +09:00
K. Lange
5386f8390f kernel: (temp) add WARNING-level exec debugging 2018-10-12 15:41:15 +09:00
K. Lange
16caf6efda kernel: Matched Executor message should be a NOTICE not a WARNING 2018-10-12 15:40:28 +09:00
K. Lange
373df32e7b kernel: /dev/tty as a dynamic symlink to /dev/pts/n 2018-10-11 19:47:22 +09:00
K. Lange
00fd9c5e08 kernel: fix symlinks being direct mounts 2018-10-11 19:45:01 +09:00
K. Lange
f3c800b791 add logname, getlogin() 2018-10-09 20:35:53 +09:00
K. Lange
c35b51ad14 pty: preparations to make serial ports actual ttys 2018-10-09 20:13:08 +09:00
K. Lange
11772506bb kernel, libc: tty names 2018-10-09 19:56:45 +09:00
K. Lange
95d28edecd kernel: set creation time on /dev 2018-10-09 19:42:59 +09:00
K. Lange
8657a197d0 kernel: no warning on symbol resolution failure for local symbol 2018-10-09 19:39:09 +09:00
K. Lange
9c30e8263d kill(2): sets errno 2018-10-08 10:23:10 +09:00
K. Lange
31214693dd Fixes to build kernel and modules with clang 2018-10-07 11:53:07 +09:00
K. Lange
5773e2b3e9 fix dangling symlinks 2018-10-06 21:34:43 +09:00
K. Lange
655e829112 ToaruOS-NIH => ToaruOS 2018-10-06 21:28:43 +09:00
K. Lange
cb45fbc0c4 Merge nih 2018-10-06 21:19:44 +09:00
K. Lange
897d11ed3b Fix raising signal from current thread outside of signal handler 2018-10-05 22:20:40 +09:00
K. Lange
2d26e2f490 tty: support more flags 2018-10-05 21:57:15 +09:00
K. Lange
e577016371 tty: character size is 8 bits 2018-10-05 11:17:12 +09:00
K. Lange
19200cd577 Handle leading space in shebang 2018-10-04 12:27:40 +09:00
K. Lange
36e9046ae8 Allow modules to install procfs entries 2018-09-30 16:09:19 +09:00
K. Lange
75cd03a4a6 tag kernel v1.5.2 2018-09-29 15:30:58 +09:00
K. Lange
de94682728 Only the kill syscall should care about user permissions for signals 2018-09-28 23:59:12 +09:00
K. Lange
7a20e11aea proper waitpid status values 2018-09-28 13:00:51 +09:00
K. Lange
3afb51a951 Fix handling of signal suicides 2018-09-25 17:04:32 +09:00
K. Lange
4fee088b62 in kernel fault handler, show preceeding symbol, not closest 2018-09-25 16:44:20 +09:00
K. Lange
43fc653183 Bump kernel 2018-09-12 20:45:44 +09:00
K. Lange
4c8158cbdb Fix irq remapping under vmware? possibly? 2018-09-12 20:42:57 +09:00
K. Lange
1960980586 Fix netinit 2018-09-04 10:17:59 +09:00
K. Lange
358e70b616 Add naive bounds checking for elf loading 2018-08-29 08:24:14 +09:00
K. Lange
f2cde6f8fa Bump kernel version to 1.5.0 2018-08-21 22:58:16 +09:00
K. Lange
4f450cfd83 Pipes should wake up from fswait when they close 2018-08-21 22:57:14 +09:00
K. Lange
864cbdb868 Fix debug shell not being able to start a shell by allowing system() in kernel to take an env 2018-08-14 11:33:02 +09:00
K. Lange
68a4e0ce50 Require exec permission to exec (finally) 2018-08-12 18:16:44 +09:00
K. Lange
4dbade5b5a waitpid should be able to ignore kernel processes 2018-08-12 16:36:44 +09:00
K. Lange
84b007fa6a missing initializers in page in shm 2018-08-07 18:25:23 +09:00
K. Lange
7bfec745d9 [experimental] Enable write-combining in video memory with PAT? 2018-08-06 16:32:06 +09:00
K. Lange
c0162b2412 Make sys_reboot load bad idt for triple fault reboot 2018-08-02 18:47:37 +09:00
K. Lange
f10a54dd2b PIIX PIRQ handling? 2018-07-21 16:57:36 +09:00
K. Lange
095d087e1d IRQ stuff 2018-07-21 16:02:39 +09:00
K. Lange
ca5a3c3d2f Add PCI IDs for vmware 2018-07-21 12:48:28 +09:00
K. Lange
5b468c57f3 Reduce ELF debug info to INFO 2018-07-21 12:26:06 +09:00
K. Lange
2a0d66b5ef Reduce some kernel debug message levels 2018-07-21 12:25:39 +09:00
K. Lange
7b023195d8 Fix some sysfunc calls not returning properly 2018-07-20 18:51:31 +09:00
K. Lange
5cea798957 Actually apply requested mode in mkdir 2018-07-19 14:10:05 +09:00
K. Lange
8fefbe9e73 With all these errno and perm fixes, let's bump kernel to 1.4.0 2018-07-19 10:27:43 +09:00
K. Lange
35a2a4bc5c more filesystem permission things, add rm 2018-07-18 15:35:52 +09:00
K. Lange
b1fe4fa4ce More errno stuff 2018-07-18 10:45:42 +09:00
K. Lange
dace5d456b Various errno-related fixes 2018-07-18 10:25:01 +09:00
K. Lange
ee3ca2ebd4 O_TRUNC needs write permissions 2018-07-17 17:08:24 +09:00
K. Lange
888301e05b Support O_APPEND 2018-07-17 16:52:00 +09:00
K. Lange
0faa005cfd Backport some fixes from NIH 2018-07-14 16:50:30 +09:00
K. Lange
e7ccc61d62 Support mode setting from EFI 2018-07-12 10:53:36 +09:00
K. Lange
905f5c2c95 also set gs 2018-07-11 16:09:25 +09:00
K. Lange
e55fb284ba Functioning IA32 EFI loader 2018-07-06 23:53:14 +09:00
K. Lange
74b9e11d5c Fix some virtualbox guest additions stuff 2018-06-05 22:34:37 +09:00
K. Lange
78128e0839 gitlab migration 2018-06-05 09:44:56 +09:00
K. Lange
9bf08fcff6 Fix some multiboot flag stuff 2018-05-21 22:31:49 +09:00
K. Lange
81e63c3b8c Fix missing ubsan_debug call for one mul handler 2018-05-16 15:57:09 +09:00
K. Lange
f0ca7116c8 make the version codename nih 2018-05-01 17:16:01 +09:00
K. Lange
557f578574 Don't use my given name in copyright headers; update everything to 2018 because why not 2018-05-01 17:12:56 +09:00
K. Lange
3e4a1a8805 Remove redundant kernel/va_list.h 2018-04-24 19:57:08 +09:00
K. Lange
5dd763780a Unify list, tree, hashmap implementations with userspace/kernel 2018-04-24 19:28:50 +09:00
K. Lange
017d715de1 Replace PCI ID Database with our own slimmed down version 2018-04-21 23:09:19 +09:00
K. Lange
abafa47204 Remove erroneously added kernel/symbols.S 2018-03-19 15:33:07 +09:00
K. Lange
ede46b6a06 Remove erroneously added .gdb_history 2018-03-19 15:31:10 +09:00
K. Lange
1355502e6c Reorganize headers 2018-03-19 11:38:11 +09:00
K. Lange
627ebc3195 Fixup std lib includes for full build from scratch with just basic gcc 2018-03-16 22:40:23 +09:00
K. Lange
3f4293d357 Merge kernel 2018-03-16 21:56:19 +09:00
Kevin Lange
c95e2ad599 Bump version for very minor release update 2017-10-12 12:03:13 +09:00
Kevin Lange
fcb55d095c Bump version to 1.2.1 for new syscall 2017-07-12 19:33:32 +09:00
Kevin Lange
3296e1b14c Add chown syscall 2017-07-12 18:25:04 +09:00
Kevin Lange
364c8e2910 New package manager for 1.2 2017-07-10 18:53:52 +09:00
Kevin Lange
7094b16df8 Fix some file creation in root 2017-07-05 22:45:32 +09:00
Kevin Lange
584feb12e5 Support clearing ramdisk from memory 2017-07-05 22:45:24 +09:00
Kevin Lange
e447a143f5 Bump to 1.1.2 2017-03-28 21:48:17 +09:00
Kevin Lange
ecdb6f37d8 Bump to 1.1.1 2017-03-22 18:41:51 +09:00
Kevin Lange
d15633ecb4 Bump to 1.1.0 2017-02-25 18:58:12 +09:00
Kevin Lange
b03bbec080 Support display stride so we can do arbitrary resolutions in vmware
This is a terrible back. We need to do things better with handling the
display, possibly so we can do support for true 24bpp modes at some
point (though this isn't high priority). Ultimately, the _fullscreen
graphics support needs to be removed and embedded into 1) a separate
library, or 2) Yutani, the only thing that does fullscreen video modes
anyway. We can continue to render into a generic graphics buffer -
double buffered for the nested modes, non-double-buffered for the full
screen mode (and then blit with surface blits). For now, however, this
is at least functioning.
2017-02-22 14:45:54 +09:00
Kevin Lange
2de88539f4 cld going into irq/isr handlers 2017-02-20 00:19:38 +09:00
Kevin Lange
51ff3df1e0 Bump to 1.0.4 2017-02-18 23:19:23 +09:00
Kevin Lange
dca9c2b9d3 Add an ioctl interface for setting video mode 2017-02-18 22:19:35 +09:00
Kevin Lange
e3d5994233 Gateways and ARP, how about that? 2017-02-18 00:34:16 +09:00
Kevin Lange
ef6527caa6 Fix recursive PCI bus scan 2017-02-17 22:12:45 +09:00
Kevin Lange
caf46a5866 Bump to 1.0.3 2017-02-15 22:06:30 +09:00
Kevin Lange
a8890a5f2d Use PIT mode 2 instead of 3
Works around what is believed to be a bug in VirtualBox where the PIT
*and* RTC were slowing down while playing quake to roughly half their
expected rates. I have no idea why this fixes the problem, but it does,
and with no expected ill effects elsewhere. With the future 64-bit
kernel, ToaruOS will no longer being using the PIT, so it doesn't really
matter anyway.
2017-02-10 14:55:24 +09:00
Kevin Lange
fc66bf325a Bump kernel for audio interface updates 2017-02-08 22:11:21 +09:00
Ofek
353ae32697 Fix unoptimized loop when rounding to page size in sys_sbrk (#145) 2017-02-06 14:23:51 +09:00
Kevin Lange
27d866f682 #pragma once 2017-02-04 20:03:00 +09:00
Kevin Lange
3d5eeb8a81 Version bump. 2017-02-03 17:28:30 +09:00
Kevin Lange
06dd1c9218 Reduce log level on message about fswait2 2017-02-03 08:38:52 +09:00
Kevin Lange
22279b02f0 Fix some edge-case tty lockups 2017-02-01 22:29:33 +09:00
Kevin Lange
6b63a05471 Final version bump for 1.0.0 2017-01-30 14:28:32 +09:00
Kevin Lange
beb5f165ab Bump kernel to 0.99.27 2017-01-29 20:32:30 +09:00
Kevin Lange
2f5e83da6b Track process start time 2017-01-29 19:30:07 +09:00
Kevin Lange
64c8e85324 Make cursor-off use a system call 2017-01-29 18:48:10 +09:00
Kevin Lange
0647e3a19a Support fswait in sockets (maybe?) 2017-01-28 23:34:40 +09:00
Kevin Lange
ba1506bd2d Bump kernel version for upgrade notices 2017-01-27 22:56:56 +09:00
Kevin Lange
7c6004b1a8 Bump kernel (for several updates from today) 2017-01-26 22:27:46 +09:00
Kevin Lange
ae64757838 Cleanup timeout sleep nodes if something else woke us up 2017-01-26 18:57:08 +09:00
Kevin Lange
80f85db895 Add a syscall to change cmdline (for thread names) 2017-01-26 16:15:43 +09:00
Kevin Lange
fc08dbc8e8 Bump kernel. 2017-01-24 21:52:28 +09:00
Kevin Lange
984db775a1 Bump kernel 2017-01-23 23:01:40 +09:00
Kevin Lange
b15ed83f20 Other random kernel fixes. 2017-01-23 22:59:59 +09:00
Kevin Lange
e1cc8a936b Fix an issue where trying to wake up a zombie would do exactly what that sounds like it would do 2017-01-23 22:59:31 +09:00
Kevin Lange
736e886ea8 Fix a big leak with fswait 2017-01-23 19:51:21 +09:00
Kevin Lange
28c3ee0fa6 Bump kernel 2017-01-22 20:35:59 +09:00
Kevin Lange
c0ef0105fe Bump kernel for new module stuff 2017-01-21 15:38:02 +09:00
Kevin Lange
42e25d1231 Support for checking network status from userspace 2017-01-21 12:23:17 +09:00
Kevin Lange
34c24e5275 wake up init when it is receiving new children 2017-01-20 14:49:48 +09:00
Kevin Lange
dd0457ee2e Bump kernel version for incoming changes 2017-01-20 13:46:41 +09:00
Kevin Lange
5b2171a4fb Track mount types for vfs mounts 2017-01-20 13:45:46 +09:00
Kevin Lange
be263cd3cb Bump kernel version to v0.99.17 2017-01-17 23:52:42 +09:00
Kevin Lange
1d53e401c4 Actually set a dev value for stat 2017-01-17 23:50:06 +09:00
Kevin Lange
8fc3c07f4b Support fswait in (unix) pipes 2017-01-14 12:00:46 +09:00
Kevin Lange
dd823cd835 Bump kernel to 0.99.12 2017-01-08 20:12:48 +09:00
Kevin Lange
a284789c75 Close file descriptors >=3 on exec. 2017-01-08 19:43:34 +09:00
Kevin Lange
77e5c5c943 Change when proc->cmdline is set in exec 2017-01-08 19:42:54 +09:00
Kevin Lange
ca8d3af8c7 Bump kernel version to 0.99.11 2017-01-08 17:39:54 +09:00
Kevin Lange
ffe78daf18 Add timeouts to fswait (with new fswait2) and fix signals when fswaiting 2017-01-07 23:53:58 +09:00
Kevin Lange
217b7182a6 Actually bump version to something meaningful 2017-01-06 19:34:51 +09:00
Kevin Lange
6e0562b78e Improve some debug messages 2017-01-06 19:34:09 +09:00
Kevin Lange
7301a3c29a Bump kernel version 2017-01-06 19:14:19 +09:00
Kevin Lange
7d47cab8ab Support fswait in tty 2017-01-06 19:01:22 +09:00
Kevin Lange
665343e636 First pass at a select-like fs wait function 2017-01-06 18:30:17 +09:00
Kevin Lange
2dbf655c9c Fix unixpipe permissions (and thus fgrep, prepend, etc.) 2017-01-05 22:21:49 +09:00
Kevin Lange
ce875e1938 Bump kernel version to 0.99.7 2016-12-30 19:57:31 +09:00
Kevin Lange
364f70cd8b Detect some bad cases with process queuing 2016-12-30 18:46:29 +09:00
Kevin Lange
80664e0f8e Add stacktrace to kernel assertion failure message 2016-12-30 18:46:14 +09:00
Kevin Lange
325e059af2 Fix init kernel stack size 2016-12-30 18:13:10 +09:00
Kevin Lange
22390fce45 Support building with -fsanitize=undefined 2016-12-26 18:02:47 +09:00
Kevin Lange
8b1acc5b66 Various random fixes 2016-12-26 18:02:47 +09:00
Kevin Lange
1e5b785b0d GCC and Binutils upgrade attempt 2016-12-26 09:48:37 +09:00
Kevin Lange
9901f15d70 Allow esoteric boot configs 2016-12-24 14:06:05 +09:00
Kevin Lange
8ef8dec183 Add link support in tmpfs 2016-12-19 23:28:03 +09:00
Kevin Lange
58f1ad6bc5 Call readlink_fs instead of node directly 2016-12-19 23:27:45 +09:00
Kevin Lange
26c78333ec Rough, incomplete VFS permissions 2016-12-14 21:21:32 +09:00
Kevin Lange
b7da7a4f73 Fix debug backdoor to not crash on null format string 2016-12-10 20:09:21 +09:00
Kevin Lange
39da315a48 Build a dynamic userspace.
- Builds (terrible, broken) shared versions of (most) third-party
  dependencies for the userspace.
- Fixes several incorrect dependency mappings in auto-dep.
- Makes auto-dep understand shared libraries (and that some things,
  like OSMesa, don't work with them).
- init must be built static because reasons
- some libraries were cleaned up to fix dependency calculation
- version bumped to 0.99.0 (saten) for eventual 1.0.0 release.
- CDs no longer drop teapot, select-wallpaper (space is available
  for them - we could even make the images smaller)
2016-12-03 17:10:48 +09:00
Kevin Lange
c56d40f132 Try to fix args in linker 2016-12-03 00:14:49 +09:00
Kevin Lange
270f3324a0 New kernel elf loader 2016-12-02 17:53:53 +09:00
Kevin Lange
03962d45a5 Attempt load dynamic binaries with the loader 2016-12-02 12:54:01 +09:00
Kevin Lange
f57be44604 Add a dumb syscall to force an address+size to be mapped in userspace 2016-12-01 23:23:31 +09:00
Kevin Lange
5e39becfce Add missing Elf32_Dyn definition to elf header 2016-11-29 21:34:21 +09:00
Kevin Lange
124ea87658 Fix missing element in elf phdr struct 2016-11-24 19:36:25 +09:00
Kevin Lange
e827580b79 Add ugly hack to support loader 2016-11-24 19:36:15 +09:00
Peter Harliman Liem
6073d23abe Fix potential leak in mkdir_fs error path 2016-11-21 19:35:16 +09:00
Kevin Lange
8ac9742906 Add a userspace interface for loading modules 2016-10-26 14:11:12 +09:00
Kevin Lange
ce34e6a40f Disable FPU lazy switching (it's breaking bochs) 2016-09-26 15:25:30 +09:00
Kevin Lange
6297bac128 Preview mkdir from creating directories that already exist 2016-09-18 21:19:20 +09:00
Kevin Lange
51fd0a83b0 Various fixes for Python 2016-09-15 19:18:57 +09:00
Kevin Lange
f0f4489d87 remove duplicate bus scan? 2016-09-13 16:24:24 +09:00
Kevin Lange
779909ae5b Disable PCI-PCI bridge recursion (it's broken) 2016-09-13 15:59:09 +09:00
Kevin Lange
caef2a0d27 Disable caching for MMIO regions 2016-09-09 09:25:39 +09:00
Kevin Lange
e7f7a40da3 Bump version to v0.14.1 2016-09-04 13:55:43 +09:00
Kevin Lange
48c9f2ffc0 Bump to v0.14.0 and update codename 2016-09-01 10:21:37 +09:00
Kevin Lange
6027f71d60 Add some new entries to the PCI device list 2016-08-31 10:16:27 +09:00
Kevin Lange
ee81679c40 Break out vbox guest driver
- Add general support for changing display resolution.
- Support display resolution changes in the vmware svga driver.
- Add a small module to add a set_mode command to the debug shell.
- Include these modules on CDs.
- Include the vidset module in debug/qemu targets.
2016-08-30 16:37:17 +09:00
Kevin Lange
a9fabe285d Initial support for changing display modes 2016-08-30 15:45:58 +09:00
Fabien Siron
01ebba1a52 Improve code readability of the cmos driver 2016-01-27 19:00:14 +00:00