Commit Graph

48 Commits

Author SHA1 Message Date
Jeremy Soller a38dfb3231 Use IRQs to prevent spin loops in ahcid 2019-01-12 12:52:57 -07:00
Jeremy Soller c47c68f44c Update fmap support 2018-12-28 16:19:09 -07:00
Jeremy Soller 0a9b15939e Update to new event 2018-05-20 11:05:10 -06:00
Ian Douglas Scott d893a73e1e ahcid: fix atapi capacity detection 2018-03-11 18:24:23 -07:00
Jeremy Soller 329750afb9 Remove debug prints 2018-03-10 16:02:06 -07:00
Jeremy Soller 78cff3f57c Remove unnecessary parens 2018-01-28 14:49:29 -07:00
Ian Douglas Scott c8154e7607 ahci: refactor duplicated ATA command code into a method 2018-01-06 23:47:45 -08:00
Ian Douglas Scott 9de5eb7045 atapi: Implement read support 2018-01-04 14:20:12 -08:00
Ian Douglas Scott 78ab386268 Move capacity reading to seperate method 2018-01-04 12:25:47 -08:00
Ian Douglas Scott c78d4dcff0 ahci: atapi support (incomplete)
It can currently retrieve the capacity; no reads or writes yet.
2018-01-02 23:03:54 -08:00
Jeremy Soller bd8a377c78 Use capability mode (null namespace) for drivers 2017-10-09 20:36:16 -06:00
Jeremy Soller 8e41cb9f03 Use disk heirarchy 2017-09-30 20:49:11 -06:00
Jeremy Soller 053524acac Remove unused extern crate 2017-08-30 22:03:10 -06:00
Jeremy Soller 473ac85faa Return error when dup buf is not empty 2017-07-22 13:17:48 -06:00
Jeremy Soller 1e7013915b Add path implementation for e1000d and ahcid 2017-04-15 09:57:37 -06:00
Ivan Chebykin 4c93b53de0 Combine thread use statement with previous 2017-03-22 17:01:49 +03:00
Ivan Chebykin b6268ff95c Fix missing use statement 2017-03-22 16:35:32 +03:00
Jeremy Soller beef16096f Use thread::yield_now instead of pause in ahcid, e1000d, and rtl8168d
Remove debugging from e1000d
2017-03-21 20:52:39 -06:00
Adrian Neumann ebc5f86e8c Make enum values List and Disk contain two values instead of a tuple of values. 2017-03-05 15:44:06 +01:00
Corentin Henry d8a35a9a08 remove unused #[macro_use] 2017-01-24 11:09:09 -08:00
Jeremy Soller 608403765d Refactor to move io into syscall, and use git for crate references 2017-01-09 20:36:36 -07:00
Jeremy Soller cf46a3b5fc Fallback in ahci driver when disk: not available, ability to list disk devices 2017-01-02 08:53:50 -07:00
Jeremy Soller 68a2fe57bc WIP: Predictable naming 2016-11-21 12:23:17 -07:00
Jeremy Soller bac443482a Switch to real standard, fix daemonization on real standard 2016-11-10 20:02:51 -07:00
Jeremy Soller 428e34f77d Disable power management 2016-11-07 20:46:34 -07:00
Jeremy Soller 8daf977c58 Fix eventing in kernel 2016-11-03 16:02:44 -06:00
Jeremy Soller 81c4b8c998 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 fe339a9362 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 891a8a85b3 Update submodules 2016-10-23 19:01:30 -06:00
Jeremy Soller a1acadd373 More debugging of writes in ahcid 2016-10-22 22:23:09 -06:00
Jeremy Soller b18653c57d Debug all driver activity to display:1, use format to avoid line splitting 2016-10-22 19:35:23 -06:00
Jeremy Soller 71a9795139 Do not ack IRQ in ahcid, as it does not enable IRQs 2016-10-20 14:37:05 -06:00
Jeremy Soller d78981ded6 Add rtl8168 driver, make drivers use O_NONBLOCK 2016-10-20 12:52:58 -06:00
Jeremy Soller f0664243c3 Remove question mark where not required 2016-10-15 20:56:32 -06:00
Jeremy Soller 815c471aed 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 2cadfb8691 Graphics (#13)
Virtual Terminals
2016-10-07 20:18:05 -06:00
Jeremy Soller 00a9a12840 Implement unix permissions 2016-10-05 18:01:05 -06:00
Jeremy Soller 1983def7f4 More detailed print on ahci error 2016-09-30 12:06:50 -06:00
Jeremy Soller 758dfb5fe6 Do not emit I/O error in the case that a small buffer is passed - just return 0 2016-09-30 10:27:12 -06:00
Jeremy Soller c1a1de1a0d Fix dup deadlock, add stat 2016-09-29 18:34:58 -06:00
Jeremy Soller e4005d0503 Add dup to ahci disk scheme 2016-09-29 17:45:01 -06:00
Jeremy Soller 9f5353453a Remove debugging 2016-09-27 21:27:32 -06:00
Jeremy Soller e6737c591f Add disk scheme (mostly finished) 2016-09-27 20:52:26 -06:00
Jeremy Soller 8727861301 Make AHCI driver read bytes 2016-09-27 20:26:54 -06:00
Jeremy Soller 64d949fc62 Abstractions for better Ahci driver 2016-09-27 11:14:27 -06:00
Jeremy Soller 0218393e92 Remove unnecessary slash 2016-09-26 17:39:58 -06:00
Jeremy Soller 8e553d619d Fix allocate_frames 2016-09-26 17:13:35 -06:00
Jeremy Soller 7bee7c6a82 WIP: AHCI drivers and more memory syscalls 2016-09-26 17:00:06 -06:00