Commit graph

144 commits

Author SHA1 Message Date
Jeremy Soller bc57e608bc Reduce size of kernel heap 2017-01-01 16:45:30 -07:00
Jeremy Soller 1bcc7f96f4 Parse FADT 2016-12-28 17:21:16 -07:00
Jeremy Soller b91d0236bb Add serial console terminal 2016-12-19 21:34:03 -07:00
Jeremy Soller 7a361b34db Fix serial console carriage return 2016-12-19 21:16:59 -07:00
Jeremy Soller 027bbb0b2e Remove bochs breakpoints 2016-11-20 09:06:55 -07:00
Jeremy Soller d26fe308ab Increase heap size 2016-11-18 08:46:11 -07:00
Jeremy Soller bf292bc0d1 Add signal support - exit on signal 2016-11-17 12:12:02 -07:00
Jeremy Soller 3c0abadfd0 Implement more test arch features 2016-11-14 11:04:31 -07:00
Jeremy Soller b83bdb3643 Interrupt enable and nop function 2016-11-14 10:46:53 -07:00
Jeremy Soller 69d54ef0c5 Get frequency info 2016-11-07 14:15:20 -07:00
Jeremy Soller 39d931e705 Update cpuid 2016-11-07 14:04:13 -07:00
Jeremy Soller 7fa413019f Get CPU features 2016-11-07 13:56:02 -07:00
Jeremy Soller 6927a4c5cf Add memory information 2016-11-07 12:47:32 -07:00
Jeremy Soller fe83400600 Fix syscall ABI 2016-11-02 21:45:50 -06:00
Jeremy Soller e3317f05f7 Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
Jeremy Soller 85f8500cea Update submodules 2016-11-01 15:08:20 -06:00
Jeremy Soller 4fc9283aff Remove rd/wrfsbase 2016-10-31 18:04:28 -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 25dc44b348 Add DMAR device definition 2016-10-26 17:23:20 -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 a715e157d4 Make all perCPU mappings available in all contexts - this will allow APs to pick up threads 2016-10-23 09:13:12 -06:00
Jeremy Soller 64cfe68046 Allow x and y resolution to be saved 2016-10-18 17:04:06 -06:00
Jeremy Soller 2868b3098a Reenable fx 2016-10-16 16:25:24 -06:00
Jeremy Soller 9c2a45d0bf Mark kernel memory global 2016-10-16 16:18:01 -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 5d7b0a3889 Enable interrupt flag in userspace 2016-10-06 20:52:24 -06:00
Jeremy Soller 64cc730eac Time (#11)
* WIP: Time syscalls

* Count time from PIT using low tickrate

* Implement realtime

* Implement nanosleep with a tight loop
2016-10-06 20:50:14 -06:00
Jeremy Soller 4331195693 Allocate AP stack linearly 2016-09-28 08:59:14 -06:00
Jeremy Soller d72609898a Fix allocate_frames 2016-09-26 17:13:35 -06:00
Jeremy Soller dad81d3c46 WIP: AHCI drivers and more memory syscalls 2016-09-26 17:00:06 -06:00
Jeremy Soller 79f7e09230 Add FX 2016-09-22 16:13:05 -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 0540726890 Fix context_switch_unlock being optimized out 2016-09-21 14:47:45 -06:00
Jeremy Soller 5757f3436e Clone grants 2016-09-20 22:14:08 -06:00
Jeremy Soller e110ab81b8 WIP: VESA driver. Make initfs generated by code 2016-09-20 21:52:45 -06:00
Jeremy Soller be3bcbb878 Add function for getting mapped page flags 2016-09-20 17:36:36 -06:00
Jeremy Soller 941fc0b494 Grant to allow passing data to scheme handler 2016-09-20 14:50:04 -06:00
Jeremy Soller 0b3be623fc Move PS/2 driver to userspace 2016-09-19 17:19:49 -06:00
Jeremy Soller c957c2a105 PS/2 driver convert to char 2016-09-19 10:24:19 -06:00
Jeremy Soller 727647dbf1 Seperate PS/2 keyboard and mouse driver 2016-09-19 09:43:30 -06:00
Jeremy Soller 70a2faa0c7 Correctly position stack in higher half 2016-09-19 08:46:11 -06:00
Jeremy Soller 1331f4103f Unlock context switch lock without potentially screwing up switch_to function 2016-09-18 21:05:59 -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 4bcee99d9f Add mechanism to read IRQ count 2016-09-18 18:59:46 -06:00
Jeremy Soller 483d466b1a Add fsync. Add env scheme, currently hardcoded to get ion to launch. Make serial IRQ send data to debug scheme 2016-09-18 17:55:35 -06:00
Jeremy Soller cfbaccf4d2 Complete execve - add argument support using safe ABI 2016-09-17 21:44:50 -06:00
Jeremy Soller d5766c092f Remove debug breaks 2016-09-17 09:19:55 -06:00
Jeremy Soller 4e78a12002 Do not halt on page fault, do a stack dump 2016-09-17 08:13:09 -06:00
Jeremy Soller aa7e38882b Map display in kernel shared memory 2016-09-15 08:50:29 -06:00
Jeremy Soller 53a5a9188a Remove debugging 2016-09-15 08:39:20 -06:00