9c3a06b8f9
Add nonblocking root scheme
Jeremy Soller
2016-10-20 12:31:39 -06:00
71ff7af970
Send multiple events if there are multiple packets
Jeremy Soller
2016-10-14 22:06:43 -06:00
99fee86ef9
Significant improvements for events - switch to event queue in orbital
Jeremy Soller
2016-10-14 20:12:21 -06:00
bc72488851
Allow O_NONBLOCK to be passed to pipe
Jeremy Soller
2016-10-14 19:34:00 -06:00
f852450610
Add specification to vesad Fix piping Fix bug where resources are not closed Add arpd Remove question_mark features
Jeremy Soller
2016-10-14 18:22:57 -06:00
92b4514895
Fixes for updating submodules
Jeremy Soller
2016-10-14 12:00:25 -06:00
c294b5b92c
Disable orbital by default
Jeremy Soller
2016-10-13 21:19:02 -06:00
2fc605a88d
Allow schemes to be listed
Jeremy Soller
2016-10-13 21:13:37 -06:00
c484241e1c
Add sys scheme to allow inspection of processes. WIP: Signals.
Jeremy Soller
2016-10-13 21:00:51 -06:00
d778f0b040
Orbital (#16)
Jeremy Soller
2016-10-13 17:21:42 -06:00
7841f3617a
Time (#11)
Jeremy Soller
2016-10-06 20:50:14 -06:00
7a96e6c9be
Add pipe2
Jeremy Soller
2016-10-06 18:46:24 -06:00
df87992af4
Add sudo command, add effective UID and GID, and groups file
Jeremy Soller
2016-10-05 20:31:59 -06:00
965941cd1c
Implement unix permissions
Jeremy Soller
2016-10-05 18:01:05 -06:00
ea4fa78f72
Merge branch 'encoded_syscall'
Jeremy Soller
2016-10-05 15:43:35 -06:00
82d2c49543
Add permissions to the filesystem, preliminary permissions to the syscalls
Jeremy Soller
2016-10-05 14:24:08 -06:00
4f73b7b5a5
Implement vfork
Jeremy Soller
2016-09-28 21:33:54 -06:00
fc5a35d22a
64-bit stat size, read entire executable in one go
Jeremy Soller
2016-09-28 20:42:03 -06:00
bfaa564afd
Fix CWD without trainling slash
Jeremy Soller
2016-09-28 11:52:29 -06:00
d50a1485a7
mkdir and rmdir
Jeremy Soller
2016-09-28 11:26:49 -06:00
af5b43ca0b
Fix dup
Jeremy Soller
2016-09-28 11:22:01 -06:00
62d151c9e8
Unlink syscall
Jeremy Soller
2016-09-28 11:18:28 -06:00
f79570d42f
Fix kernel user scheme fpath
Jeremy Soller
2016-09-28 10:29:17 -06:00
2c9a953295
Remove unnecessary slash
Jeremy Soller
2016-09-26 17:39:58 -06:00
bc4f29d3c8
WIP: AHCI drivers and more memory syscalls
Jeremy Soller
2016-09-26 17:00:06 -06:00
5877c8ac16
Encode many of the file syscalls
Jeremy Soller
2016-09-25 11:20:59 -06:00
1e2e5a5d31
Event support - demonstration in example scheme
Jeremy Soller
2016-09-23 17:54:39 -06:00
e390c2d00c
WIP: Kevent
Jeremy Soller
2016-09-23 15:47:53 -06:00
3034daac31
Add env
Jeremy Soller
2016-09-23 11:01:53 -06:00
750a2c1f9d
Fix path lookup
Jeremy Soller
2016-09-22 21:27:33 -06:00
879d582e44
Implement fpath in initfs
Jeremy Soller
2016-09-22 21:13:17 -06:00
bbacabce4f
Trim in env scheme, do not debug initfs
Jeremy Soller
2016-09-22 20:49:28 -06:00
733a812259
Folders in initfs
Jeremy Soller
2016-09-22 20:26:33 -06:00
fcc701cf66
Bring in some coreutils
Jeremy Soller
2016-09-22 19:38:09 -06:00
35ad65bbda
Enable SSE and FPU
Jeremy Soller
2016-09-22 16:14:45 -06:00
2e9697353c
Add wnohang, make PS/2 driver write input to display scheme, which then passes it to the shell
Jeremy Soller
2016-09-22 10:10:27 -06:00
57b50ba819
Add login process. Remove debugging. Fix order of arguments
Jeremy Soller
2016-09-22 08:43:22 -06:00
10a6e148f0
WIP: Userspace console
Jeremy Soller
2016-09-21 12:18:48 -06:00
ec240ef778
Clone grants
Jeremy Soller
2016-09-20 22:14:08 -06:00
b01eb8e47b
WIP: VESA driver. Make initfs generated by code
Jeremy Soller
2016-09-20 21:52:45 -06:00
2b6fae0138
Validate memory pointers
Jeremy Soller
2016-09-20 18:03:14 -06:00
e2ec6fd220
Implement more system calls
Jeremy Soller
2016-09-20 16:57:45 -06:00
4ee9a6b492
Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead
Jeremy Soller
2016-09-20 16:23:28 -06:00
3ae7dc8d98
Grant to allow passing data to scheme handler
Jeremy Soller
2016-09-20 14:50:04 -06:00
863c59d3c2
Increase buffer size when reading executable, update libstd
Jeremy Soller
2016-09-20 09:51:26 -06:00
eeb1cd0a52
Fix deadlock
Jeremy Soller
2016-09-20 09:21:54 -06:00
7a5d9d440c
Implement user schemes. Example in pcid. Currently deadlocks in UserInner
Jeremy Soller
2016-09-20 08:47:16 -06:00
2f06e18743
WIP: User scheme
Jeremy Soller
2016-09-19 21:24:54 -06:00
fcbc8951da
Minimize locking in schemes. Reenable pcid and ion launch in init. WIP: Userspace schemes
Jeremy Soller
2016-09-19 18:29:28 -06:00
fe234e4bf1
Remove warnings
Jeremy Soller
2016-09-19 17:28:22 -06:00
5276c76963
PS/2 driver convert to char
Jeremy Soller
2016-09-19 10:24:19 -06:00
298d999300
Seperate PS/2 keyboard and mouse driver
Jeremy Soller
2016-09-19 09:43:30 -06:00
4403e3e7ac
Allow userspace to handle IRQs (WIP). Create basic keyboard handler
Jeremy Soller
2016-09-18 20:17:08 -06:00
de53701ed9
Add mechanism to read IRQ count
Jeremy Soller
2016-09-18 18:59:46 -06:00
af2f6fc6df
Add fsync. Add env scheme, currently hardcoded to get ion to launch. Make serial IRQ send data to debug scheme
Jeremy Soller
2016-09-18 17:55:35 -06:00
8ba97b8cff
Canonicalize paths in open
Jeremy Soller
2016-09-18 12:54:10 -06:00
4821357934
Complete execve - add argument support using safe ABI
Jeremy Soller
2016-09-17 21:44:50 -06:00
75016bfe39
Update libstd. Add CWD and associated syscalls. Remove debugging
Jeremy Soller
2016-09-17 19:01:34 -06:00
c5afb10b00
Add exit status to status enum
Jeremy Soller
2016-09-17 09:23:36 -06:00
959ecdad04
Fix creation of kstack
Jeremy Soller
2016-09-17 09:18:35 -06:00
9bc242c179
Implement the typical use of waitpid
Jeremy Soller
2016-09-16 18:50:47 -06:00
5f570fa5b4
Allow cloning of files and memory
Jeremy Soller
2016-09-16 18:27:54 -06:00
91fc7c96ab
work on shared memory accross threads
Jeremy Soller
2016-09-16 17:51:27 -06:00
236b2f0e04
Panic upon use of unsupported flags
Jeremy Soller
2016-09-16 13:45:00 -06:00
356ba325ea
Collapse status of context into one status variable
Jeremy Soller
2016-09-16 11:10:53 -06:00
0f27cd24ce
Organize context module
Jeremy Soller
2016-09-16 10:44:52 -06:00
5cbd30988c
Do not have interrupts enabled during context switch
Jeremy Soller
2016-09-15 08:40:16 -06:00
dee5b4dd9e
Remove debugging
Jeremy Soller
2016-09-15 08:39:20 -06:00
1711303ef8
Fix implementation of clone and exec. Now the init process can load and execute the pci driver
Jeremy Soller
2016-09-15 08:35:07 -06:00
8607367058
WIP: Create new page table for clone
Jeremy Soller
2016-09-14 22:21:52 -06:00
1acb84afbb
Higher-half kernel mapping. Unmap where possible, freeing up lower memory
Jeremy Soller
2016-09-14 20:47:55 -06:00
932026fed8
WIP: Copy usermode stack
Jeremy Soller
2016-09-13 21:27:27 -06:00
b042f40847
Fix userspace clone by clobbering all variables on clone
Jeremy Soller
2016-09-13 20:31:45 -06:00
d3ace7dcad
Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing
Jeremy Soller
2016-09-13 20:06:39 -06:00
d1c0e3b5da
Use flush_all instead of flush for performance
Jeremy Soller
2016-09-13 11:20:55 -06:00
efaeb22163
Map kernel TLS to general area
Jeremy Soller
2016-09-12 15:02:03 -06:00
d4ca131391
cr3 in context
Jeremy Soller
2016-09-12 12:21:34 -06:00
70bf79a977
Implement exit, partly
Jeremy Soller
2016-09-11 22:03:03 -06:00
0bb1ad38c9
Clear memory on demand
Jeremy Soller
2016-09-11 21:47:44 -06:00
db3255dd82
Add comments
Jeremy Soller
2016-09-11 21:35:02 -06:00
011c8f7f2b
Cleanup heap management
Jeremy Soller
2016-09-11 21:18:18 -06:00
efd41a857e
Store context memory information
Jeremy Soller
2016-09-11 21:04:34 -06:00
86597331cc
Allow exec, emulate clone by pretending to be child
Jeremy Soller
2016-09-11 18:03:10 -06:00
cf27b3a3ad
Fix close, add dup
Jeremy Soller
2016-09-11 17:31:21 -06:00
7a928a5f97
Improve init process, debug missing syscalls, fix error codes in syscall return
Jeremy Soller
2016-09-11 16:48:58 -06:00
038cf5aba1
PCI driver WIP
Jeremy Soller
2016-09-11 15:56:48 -06:00
9371120f0f
Flush TLB correctly when remapping Seperate mouse and keyboard structs in PS/2 driver
Jeremy Soller
2016-09-11 15:02:35 -06:00
9b17495dd6
Implement exec Implement brk
Jeremy Soller
2016-09-10 22:06:09 -06:00
4692e9b267
Load init from initfs
Jeremy Soller
2016-09-10 19:42:26 -06:00
c30f4208d4
Implement sched_yield, enable interrupts in userspace
Jeremy Soller
2016-09-10 19:18:59 -06:00
486bfea62c
Remove debugging messages, launch elf on APs
Jeremy Soller
2016-09-10 19:03:31 -06:00
0d115508be
Seperate kernel and userspace targets
Jeremy Soller
2016-09-09 19:08:04 -06:00
531497d7af
Remove debug warnings
Jeremy Soller
2016-09-09 17:30:22 -06:00
3837b2606f
Connect schemes so that they can be used
Jeremy Soller
2016-09-08 20:06:33 -06:00
7036ed4c63
Cleanup to use question mark
Jeremy Soller
2016-09-08 19:31:26 -06:00
ef9a7c0988
Add syscall library, make init program Rust
Jeremy Soller
2016-09-08 19:09:58 -06:00
44e57773a3
Debug reads writes better, set up stdio for BSP
Jeremy Soller
2016-09-07 21:32:09 -06:00
7c0b17d070
Load a very simple ELF and launch it in usermode
Jeremy Soller
2016-09-07 21:16:30 -06:00
4b98fb8ca3
Improve efficiency of kernel console
Jeremy Soller
2016-09-01 14:39:45 -06:00
5c91017579
Draw on VESA for console using ransid
Jeremy Soller
2016-09-01 11:51:33 -06:00