Commit Graph

51 Commits

Author SHA1 Message Date
4lDO2 21e30b7339 Replace syscall::clone() with libc::fork(). 2022-07-27 16:25:01 +02:00
Jeremy Soller 00de428d6b Workarounds for x86 32-bit 2022-07-26 17:20:34 -06:00
Jeremy Soller 8e1f91137e e1000d: use syscall::Daemon 2022-04-01 18:02:49 -06:00
4lDO2 d426ffacea Update toolchain to 2022-03-18. 2022-03-19 15:06:29 +01:00
4lDO2 7a2b3d7656 Update dependencies. 2021-06-17 18:18:27 +02:00
Jeremy Soller 31bae74334 Merge branch 'code_hygiene' into 'master'
Code hygiene

See merge request redox-os/drivers!72
2020-08-08 12:55:24 +00:00
Jeremy Soller be101621cc Update to newer syscall 2020-08-02 15:25:03 -06:00
Wren Turkal 6018b6fc49 Fix lint issues from rustc.
Signed-off-by: Wren Turkal <wt@penguintechs.org>
2020-08-01 16:52:47 -07:00
Jeremy Soller a16604fc2c e1000d and rtl8168d will use pipe to wait for network: before continuing 2020-07-19 21:04:10 -06:00
Jeremy Soller 2087f0ad03 Fix parsing of bar size 2019-09-04 20:40:18 -06:00
Jeremy Soller eda6bc6f92 Calculate and use PCI BAR memory sizes in most drivers. 2019-09-04 20:38:08 -06:00
Jeremy Soller 2de4a526fb Merge scheme handling in e1000d and rtl8168d 2019-08-29 20:16:48 -06:00
Simon Ellmann 5e4b53fe92 Speed up e1000 driver 2019-07-30 14:03:48 +02:00
Jeremy Soller c259b9d44c Add TODO to eventually handle in-flight syscalls with ENODEV 2019-07-18 21:14:20 -06:00
Jeremy Soller 974fe7488f e1000d: handle EOF 2019-07-18 21:10:02 -06:00
Roland Ruckerbauer b50437af8a Fixed deprecated syntax in vesad
2018 edition upgrade & fixes for a bunch of 'future error warnings'

Actually upgrading all crates to 2018 edition
2019-06-29 21:47:52 +02:00
Jeremy Soller 50652ceb93 Temporary patches for Redox with unix target family 2019-04-23 13:25:41 -06:00
Jeremy Soller 7afaadabd9 Ensure that MMIO memory is mapped without caching 2019-04-08 20:22:01 -06:00
Jeremy Soller e090281086 Support for new fevent 2019-03-13 13:58:55 -06:00
Jeremy Soller 3f41225d78 Convert e1000d to using SchemeBlockMut, update dependencies 2019-02-02 13:59:49 -07:00
Jeremy Soller 1e65a21242 Attempt to read scheme after interrupt 2019-01-01 20:22:08 -07:00
Jeremy Soller c47c68f44c Update fmap support 2018-12-28 16:19:09 -07:00
Jeremy Soller aaafbbad33 Update e1000d to new event 2018-05-20 16:11:19 -06:00
Jeremy Soller 0a9b15939e Update to new event 2018-05-20 11:05:10 -06:00
Jeremy Soller bd8a377c78 Use capability mode (null namespace) for drivers 2017-10-09 20:36:16 -06:00
Jeremy Soller ee58fcaa61 Spin for reset, do not yield 2017-08-21 19:19:07 -06:00
Jeremy Soller 14d8165079 Cleanup xhci, add basic IRQ event functions, cleanup e1000d and rtl8168d 2017-08-06 15:19:56 -06:00
Jeremy Soller 513ddd9eb5 Imports for EINVAL 2017-07-22 13:44:21 -06:00
Jeremy Soller 473ac85faa Return error when dup buf is not empty 2017-07-22 13:17:48 -06:00
Jeremy Soller ce78f9cf9e Use dashes for mac addresses 2017-07-20 19:39:50 -06:00
Jeremy Soller c54aa03e54 Add newlines to network config 2017-07-20 19:02:50 -06:00
Jeremy Soller 1e7013915b Add path implementation for e1000d and ahcid 2017-04-15 09:57:37 -06: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
Jeremy Soller 3a8e40d78c Yield unstead of spinning without interruption for loops in e1000d, add information about link speed 2017-03-21 20:38:27 -06:00
Jeremy Soller c544b72c73 Reset, wait for link up 2017-03-21 16:56:26 -06:00
Jeremy Soller 608403765d Refactor to move io into syscall, and use git for crate references 2017-01-09 20:36:36 -07:00
Martin Lindhe 50d7e630f7 fix some typos 2017-01-03 13:14:37 +01: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 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 87a7261781 Add O_NONBLOCK 2016-10-23 15:38:49 -06:00
Jeremy Soller 9c94a5cd86 Event based ethernetd 2016-10-23 15:26:36 -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 5724bacd2b Set mac address on boot 2016-10-22 19:13:57 -06:00
Jeremy Soller 04266d6438 WIP: Make network drivers send fevent packets 2016-10-22 17:14:52 -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 936f177775 Allow sending/receiving with e1000 driver 2016-10-08 20:36:51 -06:00