Commit graph

238 commits

Author SHA1 Message Date
Jeremy Soller 66bcd0d1ba Enable arpd, update netutils, remove loop in ethernetd 2016-10-23 15:57:04 -06:00
Jeremy Soller 418149bb07 Debug all driver activity to display:1, use format to avoid line splitting 2016-10-22 19:35:23 -06:00
Jeremy Soller 2abd681c84 Add rtl8168d to makefile 2016-10-20 12:53:36 -06:00
Jeremy Soller 70eef90e45 Add tmp directory 2016-10-18 21:25:36 -06:00
Jeremy Soller 1ee388be2a Add tar and pkgutils. Disable arpd and orbital on start to improve start time 2016-10-18 17:13:26 -06:00
Thomas Levy 03db207100 Add makefile targets for generating other cargo docs (#17) 2016-10-18 07:52:33 -06:00
Jeremy Soller 502b7bf89b Merge branch 'master' of https://github.com/redox-os/kernel 2016-10-17 20:15:10 -06:00
Jeremy Soller 10208a5b06 Add acid tests 2016-10-17 20:14:53 -06:00
Jeremy Soller 2e575db3db Allow rustdoc 2016-10-16 14:06:01 -06:00
Jeremy Soller 25fb1427ab Fix for new goblin, fix of accidental swap of fusermount -u and sudo umount 2016-10-16 13:58:45 -06:00
Jeremy Soller a37103fe47 Correct umount on OS X 2016-10-15 21:25:56 -06:00
Jeremy Soller 77c6978a55 Update openlibm 2016-10-15 21:08:57 -06:00
Jeremy Soller 90d3a79fd9 Fix building on OS X 2016-10-15 20:56:03 -06:00
Jeremy Soller ad448956d6 Add specification to vesad
Fix piping
Fix bug where resources are not closed
Add arpd
Remove question_mark features
2016-10-14 18:22:57 -06:00
Jeremy Soller a3c850504e Update submodules 2016-10-14 11:37:50 -06:00
Jeremy Soller d18bf07f3e Add sys scheme to allow inspection of processes. WIP: Signals. 2016-10-13 21:00:51 -06:00
Jeremy Soller 224c43f761 Orbital (#16)
* Port previous ethernet scheme

* Add ipd

* Fix initfs rebuilds, use QEMU user networking addresses in ipd

* Add tcp/udp, netutils, dns, and network config

* Add fsync to network driver

* Add dns, router, subnet by default

* Fix e1000 driver. Make ethernet and IP non-blocking to avoid deadlocks

* Add orbital server, WIP

* Add futex

* Add orbutils and orbital

* Update libstd, orbutils, and orbital
Move ANSI key encoding to vesad

* Add orbital assets

* Update orbital

* Update to add login manager

* Add blocking primitives, block for most things except waitpid, update orbital

* Wait in waitpid and IRQ, improvements for other waits

* Fevent in root scheme

* WIP: Switch to using fevent

* Reorganize

* Event based e1000d driver

* Superuser-only access to some network schemes, display, and disk

* Superuser root and irq schemes

* Fix orbital
2016-10-13 17:21:42 -06:00
Jeremy Soller 372d44f88c Add dd 2016-10-08 21:36:21 -06:00
Jeremy Soller b49211f24e Graphics (#13)
Virtual Terminals
2016-10-07 20:18:05 -06:00
Jeremy Soller 0d1afaa016 Add userutils 2016-10-07 10:42:17 -06:00
Jeremy Soller cb5d1fbc58 Add sudo command, add effective UID and GID, and groups file 2016-10-05 20:31:59 -06:00
Jeremy Soller f38426e458 Implement unix permissions 2016-10-05 18:01:05 -06:00
Jeremy Soller f4a1d06f07 Add permissions to the filesystem, preliminary permissions to the syscalls 2016-10-05 14:24:08 -06:00
Jeremy Soller ba2d97ca01 Increase memory 2016-09-30 09:16:09 -06:00
Jeremy Soller 86487793b8 Update extrautils 2016-09-29 16:03:59 -06:00
Jeremy Soller cd47a60595 Split login into getty and login, like other UNIXen 2016-09-29 15:32:32 -06:00
Jeremy Soller f804ad52e4 Automatically get size of terminal 2016-09-29 12:25:43 -06:00
Jeremy Soller 4943ddf955 Add nobuild qemu, clean smith, update libstd 2016-09-28 22:19:18 -06:00
Jeremy Soller aa0fb28edc Optimize for size 2016-09-28 20:57:55 -06:00
Jeremy Soller 3ff51e6e5f Add smith editor, hashing in login, update ion 2016-09-28 14:12:05 -06:00
Jeremy Soller 36af91ca83 Build extrautils 2016-09-28 11:52:40 -06:00
Jeremy Soller be8cb1ff38 Add more utils 2016-09-28 11:07:54 -06:00
Jeremy Soller 9f7bcf0f59 Set file as login scheme 2016-09-28 10:29:47 -06:00
Jeremy Soller 998aee7c50 Fix compilation of filesystem 2016-09-28 09:00:28 -06:00
Jeremy Soller 96ffbe38e8 KVM by default 2016-09-27 22:00:34 -06:00
Jeremy Soller d7be0fc774 Build with filesystem 2016-09-27 21:56:29 -06:00
Jeremy Soller cde825bed9 Add redoxfs 2016-09-27 21:20:14 -06:00
Jeremy Soller f714d4858a Abstractions for better Ahci driver 2016-09-27 11:14:27 -06:00
Jeremy Soller d72609898a Fix allocate_frames 2016-09-26 17:13:35 -06:00
Jeremy Soller 0d762918e2 Implement fpath in initfs 2016-09-22 21:13:17 -06:00
Jeremy Soller 421f046abb Sort 2016-09-22 20:27:13 -06:00
Jeremy Soller c77fbdb69e Folders in initfs 2016-09-22 20:26:33 -06:00
Jeremy Soller 9ce5628fa4 Bring in some coreutils 2016-09-22 19:38:09 -06:00
Jeremy Soller e4490b06de Fix openlibm 2016-09-22 16:57:26 -06:00
Jeremy Soller b6cec7fb0c Enable SSE and FPU 2016-09-22 16:15:09 -06:00
Jeremy Soller 76b0c7eeea Add wnohang, make PS/2 driver write input to display scheme, which then passes it to the shell 2016-09-22 10:10:27 -06:00
Jeremy Soller 046236c10f Add login process. Remove debugging. Fix order of arguments 2016-09-22 08:43:22 -06:00
Jeremy Soller afe7a99700 Increase optimization, fix clobbers in vesad 2016-09-21 16:46:16 -06:00
Jeremy Soller 1a3a24c8bb Launch ion 2016-09-20 21:56:40 -06:00
Jeremy Soller e110ab81b8 WIP: VESA driver. Make initfs generated by code 2016-09-20 21:52:45 -06:00
Jeremy Soller f60661820d Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead 2016-09-20 16:23:28 -06:00
Jeremy Soller 791dbfa7ad Implement user schemes. Example in pcid. Currently deadlocks in UserInner 2016-09-20 08:47:16 -06:00
Jeremy Soller 36fde7c7c5 Allow userspace to handle IRQs (WIP). Create basic keyboard handler 2016-09-18 20:17:08 -06:00
Jeremy Soller 57f5699664 Update libstd. Add CWD and associated syscalls. Remove debugging 2016-09-17 19:01:34 -06:00
Jeremy Soller 7561839cfc Do not optimize kernel 2016-09-17 09:23:55 -06:00
Jeremy Soller 4f6a0fb2b0 Stripping the kernel causes crashes for some reason 2016-09-11 16:13:27 -06:00
Jeremy Soller c9a4b3882c PCI driver WIP 2016-09-11 15:56:48 -06:00
Jeremy Soller f05cc96db1 KVM default off, ack after irq handling 2016-09-11 15:13:09 -06:00
Jeremy Soller 8563961f28 Flush TLB correctly when remapping
Seperate mouse and keyboard structs in PS/2 driver
2016-09-11 15:02:35 -06:00
Jeremy Soller 44e8b99b46 Implement exec
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller 00db6ddd62 vga=no mode and serial echo 2016-09-10 19:24:16 -06:00
Jeremy Soller 0b1265d87e Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
Jeremy Soller 59327eb1b2 Strip kernel for size, recompile on change of bootloader 2016-09-09 18:31:28 -06:00
Jeremy Soller b326ac0a10 Remove symbols from init executable 2016-09-09 17:28:20 -06:00
Jeremy Soller 8dd26c5239 Compile init as executable using libstd 2016-09-09 17:13:16 -06:00
Jeremy Soller 3cd846a756 Update rust, use redox branch to prepare for libstd 2016-09-09 15:48:54 -06:00
Jeremy Soller afde5f5b5d rebuild init on cargo file change 2016-09-08 19:13:52 -06:00
Jeremy Soller 46f9f90e3c Add syscall library, make init program Rust 2016-09-08 19:10:50 -06:00
Jeremy Soller a5d79d7957 Nographic mode, fix userspace transition by setting kernel TLS back on syscall 2016-09-08 15:45:26 -06:00
Jeremy Soller ff4d06f678 More efficient iteration in graphics functions 2016-09-01 15:31:39 -06:00
Jeremy Soller 6e3f59ba8e Simple, unsafe context switch 2016-08-28 18:38:53 -06:00
Jeremy Soller 6715d5c534 Arm! 2016-08-25 17:03:01 -06:00
Jeremy Soller 234fb64999 Add display 2016-08-24 20:10:55 -06:00
Jeremy Soller 9cd48a36a5 Allow OS X compilation 2016-08-20 09:44:14 -06:00
Jeremy Soller 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -06:00
Jeremy Soller b0797a5d8a Allocate a very small 4K stack for the other CPUs, increase count to 4 2016-08-17 17:40:18 -06:00
Jeremy Soller ebf9766ef5 Map kernel in AP, WIP 2016-08-17 15:47:54 -06:00
Jeremy Soller 27d5996abf Get the APs into rust code, set stack and page table in trampoline 2016-08-16 21:25:48 -06:00
Jeremy Soller 08900d56c8 Changes to allow for detection and init of ASPs 2016-08-16 18:04:15 -06:00
Jeremy Soller 7b2acdd79c Cleanup ACPI code, find lower tables 2016-08-16 12:16:32 -06:00
Jeremy Soller cc8fe85e6a GDT and IDT in kernel space
Paging constructs completed, remap kernel before jumping to kmain
Panic will do a stack trace
Remove SSE from none target
2016-08-15 14:34:20 -06:00
Jeremy Soller 465363f0a1 Add simple paging, use rust libcore and compile without sse 2016-08-15 11:30:14 -06:00
Jeremy Soller 19077d69db WIP: Schemes 2016-08-14 21:38:32 -06:00
Jeremy Soller 4e270bb807 Add context and file structs 2016-08-14 18:16:56 -06:00
Jeremy Soller 29b6544d8f Add test architecture 2016-08-14 14:59:18 -06:00
Jeremy Soller 42c9ba12dc Remove interrupt setup from asm bootloader, add io module, memcpy functions, and serial driver 2016-08-14 09:31:35 -06:00
Jeremy Soller dea137be73 WIP: IDT in rust 2016-08-13 18:58:31 -06:00
Jeremy Soller d5902c5a20 Bootable kernel skeleton 2016-08-13 18:21:46 -06:00