Commit Graph

1133 Commits

Author SHA1 Message Date
K. Lange
0fbf35438a terminal: use an async thread to handle input 2019-12-23 17:01:57 +09:00
K. Lange
eebf910db2 kernel: seek: return an error on bad whence 2019-12-15 17:08:21 +09:00
K. Lange
efba52c3dd kernel: return an appropriate error when trying to seek things that shouldn't seek 2019-12-15 17:01:18 +09:00
K. Lange
80a8ac743b kernel: don't ignore seek calls on first three fds; why were we doing this at all 2019-12-15 15:51:37 +09:00
K. Lange
a6251137f0 kernel: add fswait3 and hack around terminals blocking on their own reads 2019-12-05 17:42:46 +09:00
K. Lange
b2f4900472 v1.10.13 2019-11-03 15:43:37 +09:00
K. Lange
8a91bc8ce7 v1.10.12 2019-09-06 11:01:19 +09:00
K. Lange
50f5ebaeca kernel: kill(0) sends to process group 2019-08-21 17:48:56 +09:00
K. Lange
90bcdfee58 v1.10.11 2019-06-30 22:43:19 +09:00
K. Lange
330f935342 kernel: limit maximum recursion depth for interpreters 2019-06-25 21:20:12 +09:00
K. Lange
64ae6e55a5 v1.10.10 2019-06-25 20:50:20 +09:00
K. Lange
302b772afa kernel: add basic bounds check to TOARU_SYS_FUNC_SETHEAP 2019-06-25 20:36:26 +09:00
K. Lange
f1892b70dd v1.10.9 2019-02-27 21:38:49 +09:00
K. Lange
1ff5347405 kernel: move PCI device names out of kernel, into lspci 2019-02-11 12:55:24 +09:00
K. Lange
8e190f584d v1.10.8 2019-01-21 21:53:19 +09:00
K. Lange
d6f13f56f3 v1.10.7 2019-01-11 20:57:17 +09:00
K. Lange
1bc4018e27 kernel: store text addr for modules for debug purposes 2018-12-28 09:37:53 +09:00
K. Lange
a17d73cc25 v1.10.6 2018-12-27 21:47:09 +09:00
K. Lange
c87a195ffe kernel: fix mkdir -p 2018-12-27 21:15:47 +09:00
K. Lange
68dea41b97 v1.10.5 2018-12-26 23:33:07 +09:00
K. Lange
40be4f1703 vfs: handle odd edge case in mkdir correctly 2018-12-26 16:14:28 +09:00
K. Lange
3c21515808 vfs: don't bail early on mkdir for existing paths, let the fs do that 2018-12-26 13:40:39 +09:00
K. Lange
80c5f30d7b v1.10.4 2018-12-24 22:44:51 +09:00
K. Lange
1dd35e9536 v1.10.3 2018-12-22 14:18:42 +09:00
K. Lange
488c659e8d meta: add /etc/os-release and swap links back to github 2018-12-20 14:25:25 +09:00
K. Lange
92a17c3e9e v1.10.2 2018-12-19 14:38:41 +09:00
K. Lange
299724e83e v1.10.1 2018-12-18 12:12:38 +09:00
K. Lange
495d4b31de kernel: ramdisks may not be multiples of page sizes 2018-12-13 10:49:07 +09:00
K. Lange
f8b93f33d7 memory tracker: more data; avoid weird faults 2018-12-12 17:38:39 +09:00
K. Lange
662ad3b407 kernel: remove calls to calloc (they confuse the tracker) 2018-12-12 10:31:42 +09:00
K. Lange
4aa3c4bbe0 kernel: memory tracker improvements 2018-12-12 10:30:57 +09:00
K. Lange
b6aa92c64e kernel: off-by-one bounds check in move_fd 2018-12-11 23:16:29 +09:00
K. Lange
1463266db4 kernel: improvements to memory logging 2018-12-11 23:16:29 +09:00
K. Lange
5b45f72a37 kernel: add extensive allocation tracking option 2018-12-11 19:43:13 +09:00
K. Lange
400c5de330 kernel: need to bail with EEXIST earlier in mkdir 2018-12-11 13:37:50 +09:00
K. Lange
31af34c73d boot: switch to tar ramdisks 2018-12-11 13:04:02 +09:00
K. Lange
3d3738d76a kernel: return EROFS for some unconfigured VFS operations 2018-12-11 09:52:19 +09:00
K. Lange
de4d55971f v1.9.5 2018-12-07 21:35:32 +09:00
K. Lange
3d34370c80 kernel: move irq setup later; put level control behind arg 2018-12-06 17:42:33 +09:00
K. Lange
0f19d4a1f1 v1.9.4 2018-12-05 14:37:48 +09:00
K. Lange
06c3fc3db5 kernel: fixup PCI irq mapping on vmware? 2018-12-03 19:01:20 +09:00
K. Lange
ed87c468e5 kernel: only set level for pins 10 and 11 2018-12-03 18:28:06 +09:00
K. Lange
90f1f784a1 kernel: explain that irq thing 2018-12-03 17:12:07 +09:00
K. Lange
813627bfa7 irq: just blindly set a bunch of shit to level triggered 2018-12-03 16:32:28 +09:00
K. Lange
5409ec911b kernel: 64-bit offset in _early_log_write 2018-12-03 12:50:03 +09:00
K. Lange
131262bb1f kernel: change some log levels 2018-12-03 11:22:33 +09:00
K. Lange
9f9092772a kernel: prepare new version number 2018-12-03 10:21:56 +09:00
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