Commit graph

238 commits

Author SHA1 Message Date
Jeremy Soller 2272c1b154 Update rust, update submodules, switch to new redoxfs 2016-12-13 18:06:07 -07:00
Jeremy Soller d2bee631e1 Virtualbox net=no support 2016-12-06 15:31:24 -07:00
Jeremy Soller 18262264ea Use genisoimage instead of mkisofs, add genisoimage package to travis 2016-12-06 14:51:28 -07:00
Jeremy Soller 31d62f9272 Use isohybrid to generate a USB stick friendly ISO
Add assertions to verify that grants are unmapped
Fix grant unmapping in exec and exit, thus fixing some crashes without network cards
2016-12-06 14:47:05 -07:00
Jeremy Soller 69df8dfab3 Add iso build 2016-11-30 20:58:22 -07:00
Jeremy Soller c507455614 Force overwrite of bin.gz 2016-11-30 17:37:49 -07:00
Jeremy Soller 4457be8cc0 Add gzip target for travis to deploy on tag 2016-11-30 17:32:58 -07:00
Tommie Levy dcd96e2b94 Preprocess arguments to rustc to workaround cargo 2016-11-26 15:25:16 -05:00
Jeremy Soller c885d11337 Segregate drivers and schemes in /sbin, UI apps in ui/bin 2016-11-26 11:33:05 -07:00
Jeremy Soller 39419fb008 Fix warnings, increase size of fs 2016-11-19 20:23:25 -07:00
Jeremy Soller 41811ad98d Allow compiling both livedisk and harddrive 2016-11-19 20:19:41 -07:00
Jeremy Soller 150dfc5c4e Add binutils 2016-11-18 09:01:39 -07:00
Jeremy Soller 939dff71ae Add hexdump, build filesystem in initfs 2016-11-18 08:46:11 -07:00
Jeremy Soller 121fb0b781 Add statvfs 2016-11-18 08:44:03 -07:00
Jeremy Soller bf292bc0d1 Add signal support - exit on signal 2016-11-17 12:12:02 -07:00
Jeremy Soller d294d56b52 Add ability to contain a process in a scheme sandbox 2016-11-16 20:54:38 -07:00
Jeremy Soller 9ad0da33f0 Update netutils, add simple ntp client 2016-11-15 21:30:19 -07:00
Jeremy Soller 1f29d163b1 Update to add chmod 2016-11-15 17:08:14 -07:00
Jeremy Soller 5fd7b2b71d Real std (#755)
* Switch to real standard, fix daemonization on real standard

* Update submodules

* Remove --cfg redox

* Update rust, syscall

* Update submodules

* Update orbutils
2016-11-14 11:06:55 -07:00
Jeremy Soller 3c0abadfd0 Implement more test arch features 2016-11-14 11:04:31 -07:00
Jeremy Soller 2d853ed622 Remove --cfg redox 2016-11-10 20:22:43 -07:00
Jeremy Soller 2db2d10cce Switch to real standard, fix daemonization on real standard 2016-11-10 20:02:51 -07:00
Jeremy Soller fb739faece Fix build, remove cfg(redox) 2016-11-09 17:00:48 -07:00
Jeremy Soller 4e314292f8 Update submodules, add browser 2016-11-08 17:23:32 -07:00
Jeremy Soller 95538d3b79 Fix netutils refs 2016-11-08 09:09:14 -07:00
Jeremy Soller e182ccf3fe Update netutils, coreutils 2016-11-08 09:08:13 -07:00
Jeremy Soller 5183936de0 Add ref makefile target 2016-11-08 09:00:21 -07:00
Jeremy Soller 6927a4c5cf Add memory information 2016-11-07 12:47:32 -07:00
Jeremy Soller a88a3374b8 Fix permissions 2016-11-07 08:48:08 -07:00
Jeremy Soller 91f4dd81f8 Merge branch 'fix-fs-permissions' of https://github.com/genodeftest/redox into genodeftest-fix-fs-permissions 2016-11-07 08:39:39 -07:00
Jeremy Soller f8f47bc5f1 Add virtualbox support 2016-11-06 17:35:56 -07:00
Christian Stadelmann 8d6fa7eb07 Makefile: fix filesystem permissions
This change fixes filesystem permissions:
* set right permissions even if build machine has umask 0077
* /etc/passwd must not be readable by user
* make sure filesystem gets unmounted if build fails
* include directories for setting permissions
* exclude others from /home/user and /root directories
* set executable bit in /bin/ even if build machine umask tries to prevent that
2016-11-05 15:12:22 +01:00
Jeremy Soller e4104bcc93 Update Makefile 2016-11-05 08:01:12 -06:00
Jeremy Soller 67354b6d26 Mount harddrive instead of filesystem 2016-11-03 16:07:26 -06:00
Jeremy Soller f5cfe6e973 Do not require filesystem to be built in order to mount (to fix rebuilding) 2016-11-03 16:06:48 -06:00
Jeremy Soller a1364bcc3d Add tee 2016-11-02 22:25:03 -06:00
Jeremy Soller 4dfabbdb67 Add sort 2016-11-02 22:23:59 -06:00
Jeremy Soller 13a4625e90 Compile kernel in release mode 2016-11-02 22:14:02 -06:00
Jeremy Soller 4b57535c8d Switch to release mode, allow all optimizations 2016-11-02 21:46:34 -06:00
Jeremy Soller 1585e67f1b Only document kernel and std 2016-11-02 08:32:14 -06:00
Jeremy Soller bfa561c5ab Organize doc 2016-11-01 21:33:28 -06:00
Jeremy Soller 1e87c19bfb Slightly better mounting procedure 2016-11-01 21:02:25 -06:00
Jeremy Soller 8bbfb8bf2a Fix build on OS X 2016-11-01 15:34:33 -06:00
Jeremy Soller ff227737bf Add pty scheme 2016-11-01 09:53:48 -06:00
Jeremy Soller 9f2a1aba0c Fix mouse cursor on some systems
Reenable orbital
2016-10-31 22:18:38 -06:00
Jeremy Soller 27375c89c2 Update libstd, remove openlibm (now inside of libstd) 2016-10-31 12:37:29 -06:00
Jeremy Soller 149b0297a4 Smp (#23)
* Fire up multiple processors

* Use IPIs to wake up secondary processors

* Much better exception information

* Modifications to show more information on fault

* WIP: Use real libstd

* Add TLS (not complete)

* Add random function, export getpid, cleanup

* Do not spin APs until new context

* Update rust

* Update rust

* Use rd/wrfsbase

* Implement TLS

* Implement compiler builtins and update rust

* Update rust

* Back to Redox libstd

* Update rust
2016-10-31 10:49:00 -06:00
Jeremy Soller 2491e4771e Redo networking (#22)
* Rewriting network functions

* Add buffer to dup
Fix non-blocking handling by triggering once on enabling events to read to EOF

* Modifications for UDP API

* Implement TCP client side

* Add active close

* Add DMAR parser

* Implement basic TCP listening. Need to improve the state machine

* Reduce debugging

* Fixes for close procedure

* Updates to fix path processing in libstd
2016-10-26 13:19:56 -06:00
Jeremy Soller ead01ea2da Add random number scheme, update userutils to use it 2016-10-24 14:08:15 -06:00
Jeremy Soller 80d326f1d9 Add httpd to makefile and init.rc 2016-10-23 19:02:48 -06:00
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