ec240ef778
Clone grants
Jeremy Soller
2016-09-20 22:14:08 -06:00
6d8a75ff9b
Launch ion
Jeremy Soller
2016-09-20 21:56:40 -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
492437bb9c
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
f0d65c068e
Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead
Jeremy Soller
2016-09-20 16:23:28 -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
3e4544c4de
Grant to allow passing data to scheme handler
Jeremy Soller
2016-09-20 14:50:04 -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
a737a71254
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
1bbd71d7d8
Move PS/2 driver to userspace
Jeremy Soller
2016-09-19 17:19:49 -06:00
5276c76963
PS/2 driver convert to char
Jeremy Soller
2016-09-19 10:24:19 -06:00
a60773c1c5
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
aeabb66d9a
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
0feba280aa
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
959ecdad04
Fix creation of kstack
Jeremy Soller
2016-09-17 09:18:35 -06:00
a87ab74e8f
Run pcid as a daemon
Jeremy Soller
2016-09-17 08:09:32 -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
35ff2bea3e
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
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
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
e306348e44
More compact output
Jeremy Soller
2016-09-11 16:24:43 -06:00
038cf5aba1
PCI driver WIP
Jeremy Soller
2016-09-11 15:56:48 -06:00
4b3bc6ac11
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
dfeef83473
Add syscall library, make init program Rust
Jeremy Soller
2016-09-08 19:09:58 -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
ac9a475ef5
Warnings removal
Jeremy Soller
2016-09-01 11:14:47 -06:00
6269f68b03
Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs
Jeremy Soller
2016-08-31 17:45:21 -06:00
b8f1971329
Merge branch 'master' of github.com:redox-os/kernel
ticki
2016-08-31 17:02:47 +02:00
4966842d72
Add the Fd definition file.
ticki
2016-08-31 17:01:08 +02:00
8c0191564f
Add file descriptor type
Jeremy Soller
2016-08-30 16:27:10 -06:00