Commit Graph

1166 Commits

Author SHA1 Message Date
K. Lange
f6d9027bc9 i965: add a leading comment block 2021-06-04 09:20:23 +09:00
K. Lange
2b40fe9551 i965: register names 2021-06-03 21:50:32 +09:00
K. Lange
d5f3a41675 i965: modeset a thinkpad 2021-06-03 21:02:09 +09:00
K. Lange
826006692a kernel: begin work on re-adding module loading 2021-06-03 21:01:57 +09:00
K. Lange
efe72fa8ab smp: do not try to send IPIs when we have one core and no lapic 2021-06-03 21:01:23 +09:00
K. Lange
6e3e7c7e0c ksym: start organizing kernel symbols for linking 2021-06-03 21:00:56 +09:00
K. Lange
8239270074 fbterm: Make sure we're drawing with stride, not width 2021-06-03 21:00:20 +09:00
K. Lange
afd23c0beb smp: ACPI checksups are more of a suggestion 2021-06-03 18:41:41 +09:00
K. Lange
3a69b8b5d7 pex: maybe finally fix this 2021-06-02 18:35:50 +09:00
K. Lange
e22d6d84a4 kernel: add 'assert()' 2021-06-02 18:35:03 +09:00
K. Lange
bbea3a7b09 lfbvideo: set some more bits on bochs 2021-06-02 16:28:21 +09:00
K. Lange
301539e9ca lfbvideo: Use MMIO interface to configure qemu/bochs; vbox is still port i/o 2021-06-02 13:14:26 +09:00
K. Lange
bdf088b3a6 pex: don't shove packets onto the pipes, shove packet pointers so we can read them atomically 2021-06-02 07:37:01 +09:00
K. Lange
0913598bb0 process: okay don't mark stack protectors nx... 2021-06-02 07:11:19 +09:00
K. Lange
f52e4b8f3d process: (temp) avoid freeing processes that are still someone's last 2021-06-01 22:41:41 +09:00
K. Lange
7f2fff3979 process: Set up stack protectors for kernel stacks 2021-06-01 22:41:05 +09:00
K. Lange
8ba4b13f72 process: try to fix up some locks, again 2021-06-01 22:40:13 +09:00
K. Lange
b0ca69afbb idt: Track core interrupt registers because arch_fatal() usually happens with bad stack data 2021-06-01 22:39:30 +09:00
K. Lange
839dda7d41 mmu: Try to perform really bad TLB shootdowns? 2021-06-01 22:37:54 +09:00
K. Lange
e9d34d669b mmu: be annoying about making sure we aren't leaking pages? 2021-06-01 22:36:54 +09:00
K. Lange
01070fb2d0 smp: add a procfs entry to see what other cores are up to 2021-06-01 19:37:03 +09:00
K. Lange
aa52db5018 smp: fix wakeups doing bad EOI write 2021-06-01 19:36:46 +09:00
K. Lange
b35f7ac8c9 misaka: initial merge 2021-05-31 10:54:11 +09:00
K. Lange
0977eca9b5 v1.14.0 2021-04-22 20:07:34 +09:00
K. Lange
b081668712 boot: Fixes to boot processes on multiple platforms. 2021-04-22 19:46:51 +09:00
K. Lange
32c0b670b7 kernel: make sure signal handlers get the right GS descriptor 2021-02-16 19:17:44 +09:00
K. Lange
230870ad7b kernel, linker, libc: Initial, probably horribly broken, support for some TLS situations 2021-02-16 18:49:34 +09:00
K. Lange
1c2de4d888 v1.13.3 2021-01-30 22:00:36 +09:00
K. Lange
d66dfde98d v1.13.2 2021-01-26 09:13:04 +09:00
K. Lange
f59aab9c43 v1.13.1 2020-12-08 22:13:00 +09:00
K. Lange
0a01944f00 v1.13.0 2020-07-27 10:21:50 +09:00
K. Lange
f6b99561e5 kernel: bump version to 1.12.0 2020-03-29 20:32:38 +09:00
K. Lange
a995110217 kernel: set version to 1.11.0 2019-12-25 10:24:45 +09:00
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