9c16bca2a5
Fix warning
Jeremy Soller
2016-09-28 08:58:51 -06:00
30301ee08f
Build with filesystem
Jeremy Soller
2016-09-27 21:56:29 -06:00
9bd5d69776
Compatibility with new kernel
Jeremy Soller
2016-09-27 21:55:57 -06:00
11f3485173
Port to new kernel
Jeremy Soller
2016-09-27 21:19:28 -06:00
2c9a953295
Remove unnecessary slash
Jeremy Soller
2016-09-26 17:39:58 -06:00
33a533665b
WIP: AHCI drivers and more memory syscalls
Jeremy Soller
2016-09-26 17:00:06 -06:00
bc4f29d3c8
WIP: AHCI drivers and more memory syscalls
Jeremy Soller
2016-09-26 17:00:06 -06:00
a1311b50d7
Encode many of the file syscalls
Jeremy Soller
2016-09-25 11:20:59 -06:00
5877c8ac16
Encode many of the file syscalls
Jeremy Soller
2016-09-25 11:20:59 -06:00
a2038f5f9a
Event support - demonstration in example scheme
Jeremy Soller
2016-09-23 17:54:39 -06:00
1e2e5a5d31
Event support - demonstration in example scheme
Jeremy Soller
2016-09-23 17:54:39 -06:00
a57b45e86b
WIP: Kevent
Jeremy Soller
2016-09-23 15:47:53 -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
02f2227d55
allow mode selection again
Jeremy Soller
2016-09-22 17:16:32 -06:00
35ad65bbda
Enable SSE and FPU
Jeremy Soller
2016-09-22 16:14:45 -06:00
69a7219669
Remove bochs breakpoint
Jeremy Soller
2016-09-22 16:13:32 -06:00
57d8d71617
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
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
416ec07ea4
WIP: VESA driver. Make initfs generated by code
Jeremy Soller
2016-09-20 21:52:45 -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
da8e5db5c8
Implement more system calls
Jeremy Soller
2016-09-20 16:57:45 -06:00
e2ec6fd220
Implement more system calls
Jeremy Soller
2016-09-20 16:57:45 -06:00
a5cfb8f363
Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead
Jeremy Soller
2016-09-20 16:23:28 -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
62f2f83ec8
Implement user schemes. Example in pcid. Currently deadlocks in UserInner
Jeremy Soller
2016-09-20 08:47:16 -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
d925e4fc8a
Correctly position stack in higher half
Jeremy Soller
2016-09-19 08:46:11 -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
05aa4d16da
Complete execve - add argument support using safe ABI
Jeremy Soller
2016-09-17 21:44:50 -06:00
4821357934
Complete execve - add argument support using safe ABI
Jeremy Soller
2016-09-17 21:44:50 -06:00
bbe85a62a2
Update libstd. Add CWD and associated syscalls. Remove debugging
Jeremy Soller
2016-09-17 19:01:34 -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
83562fb0a9
Remove debug break
Jeremy Soller
2016-09-17 09:20:13 -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
c9c17ca1c6
Higher-half kernel mapping. Unmap where possible, freeing up lower memory
Jeremy Soller
2016-09-14 20:47:55 -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
35ff2bea3e
Fix userspace clone by clobbering all variables on clone
Jeremy Soller
2016-09-13 20:31:45 -06:00
aed852722f
Fix userspace clone by clobbering all variables on clone
Jeremy Soller
2016-09-13 20:31:45 -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
1814e62a3f
Initialize FPU and SSE on APs
Jeremy Soller
2016-09-12 20:37:22 -06:00
3cb97b8a42
Simplify bootloader GDT
Jeremy Soller
2016-09-12 15:49:54 -06:00
efaeb22163
Map kernel TLS to general area
Jeremy Soller
2016-09-12 15:02:03 -06:00
0ae320e36e
Cleanup PML4 entries, pass correct cpu ID to trampoline
Jeremy Soller
2016-09-12 13:06:00 -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
46986e0939
Allow exec, emulate clone by pretending to be child
Jeremy Soller
2016-09-11 18:03:10 -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
1826ca1c4b
Implement exec Implement brk
Jeremy Soller
2016-09-10 22:06:09 -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
fc5ddc8764
Reorganize kernel memory mappings
Jeremy Soller
2016-09-10 18:48:27 -06:00
0d115508be
Seperate kernel and userspace targets
Jeremy Soller
2016-09-09 19:08:04 -06:00
933af613a1
Prepare for higher half
Jeremy Soller
2016-09-09 18:31:48 -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