Commit Graph

707 Commits

Author SHA1 Message Date
Anhad Singh ea1c855cdc virtiod: make use of the int_roundings feature
* Removes the need to define `round_up` and `div_round_up`

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-26 09:55:48 +10:00
Anhad Singh 65c4317564 virtiod: refactoring
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-23 16:18:14 +10:00
Anhad Singh c176903905 virtio-blk: read and scheme
* Minor code cleanup
* Able to read/write from the disk
* Recycle the descriptors (this is currently done inefficiently, will be
  fixed in a follow up commit)
* Add the disk scheme for virtio-blk with working functionality for seek(),
  read() and open()
* After all of this work, we are successfully able to boot redox from
  virtio-blk!! :)

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-23 12:41:07 +10:00
Anhad Singh 576302a618 virtio-blk: get device config
* Get the device config for virtio-blk
* Log out the # sectors and the block size

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-20 14:17:31 +10:00
Anhad Singh 8fb5e353ea virtio::transport: setup queue
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-20 14:14:22 +10:00
Anhad Singh 990a9c2716 virtio::transport: finalize features
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-20 10:14:10 +10:00
Anhad Singh 8a7fa569a7 virtiod: ensure the device has MSI-X support
According to the virtio sspecification v1.2, MSI-X support is REQUIRED
and is the only supported method anyways (i.e, legacy int and MSI wont
work).

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-20 10:00:08 +10:00
Anhad Singh 100ff9abd4 virtio: add check_device_feature and ack_driver_feature for
`StandardTransport`.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 16:33:00 +10:00
Anhad Singh 12551d450f virtio: enable and allocate MSI-X vector
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 15:12:44 +10:00
Anhad Singh fe22264571 misc: include virtiod in the README
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 12:22:03 +10:00
Anhad Singh f750d4223d virtio: perform the device reset
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 12:19:57 +10:00
Anhad Singh 7e5a3196c2 pcid::server_handle: add get_capabilities
This commit adds the `get_capabilities` function to `PcidServerHandle`
which returns all of the `Capability`s (raw representation) of the PCI
device.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 12:18:56 +10:00
Anhad Singh 1580cb8c83 virtio: stub!
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-06-19 12:02:35 +10:00
Jeremy Soller 5400dc1213 Merge branch 'remove_physunmap' into 'master'
Remove all usages of physunmap

See merge request redox-os/drivers!93
2023-06-11 14:12:01 +00:00
4lDO2 a5a3f3341f Remove all usages of physunmap. 2023-06-11 11:33:27 +02:00
Jeremy Soller 78d332c003 Merge branch 'stable-alloc' into 'master'
Use the free functions in std::alloc instead of Global as AllocRef

See merge request redox-os/drivers!77
2023-05-30 21:26:17 +00:00
Noa e673b4e3b1 Use the free functions in std::alloc instead of Global as AllocRef 2023-05-30 13:01:45 -05:00
Jeremy Soller b05402e92b ided: add timeouts to loops and better debugging 2023-05-11 20:31:02 -06:00
Jeremy Soller 78b41c1d72 Merge branch 'rw_van_230406' into 'master'
Add AmlHandler read/write of physaddr

See merge request redox-os/drivers!92
2023-04-14 14:19:19 +00:00
Ron Williams 9fb4a8be04 Add AmlHandler read/write of physaddr 2023-04-13 19:09:07 -07:00
Jeremy Soller 985d870fa2 Merge branch 'update-orbclient' into 'master'
Update orbclient

See merge request redox-os/drivers!91
2023-04-05 14:55:47 +00:00
Will Angenent d682fb7994 Update orbclient 2023-04-04 18:21:31 +01:00
Jeremy Soller dc665af7ce Merge branch 'rw_van_230328' into 'master'
acpi: Add aml serde with separate library for definitions

See merge request redox-os/drivers!90
2023-03-29 12:56:38 +00:00
Ron Williams 1baac63934 clean up aml symbols 2023-03-29 01:41:13 -07:00
Ron Williams 23be7ed63c Add serde with separate library for definitions 2023-03-27 20:58:59 -07:00
Jeremy Soller ef48f4aa9a Merge branch 'master' into 'master'
New section on README.

See merge request redox-os/drivers!89
2023-03-26 23:30:58 +00:00
Ribbon e1605444a8 New section on README. 2023-03-26 23:30:58 +00:00
Jeremy Soller 9af4c3bd18 Merge branch 'rw_van_230321' into 'master'
temporarily use forked library for AML

See merge request redox-os/drivers!88
2023-03-22 00:46:00 +00:00
Ron Williams 9333d9acea temporarily use forked library for AML 2023-03-21 17:14:50 -07:00
Jeremy Soller c26eb11cf1 Support read/write I/O on x86 2023-03-07 19:26:54 -07:00
Jeremy Soller 7d7a706cb3 Update aml to 0.16.3 2023-03-03 18:24:17 -07:00
Jeremy Soller 9ba1358077 Used patched aml 2023-03-02 17:56:19 -07:00
Jeremy Soller 40334044aa Revert "Make acpid a no-op on i686 until aml crate issue is fixed"
This reverts commit 6cd802b9b4.
2023-03-02 17:54:36 -07:00
Jeremy Soller 6cd802b9b4 Make acpid a no-op on i686 until aml crate issue is fixed 2023-03-02 12:01:24 -07:00
Jeremy Soller 79a9f447d2 xhci: workaround packet size and protocol speed issues on real hardware 2023-02-16 15:57:28 -07:00
Jeremy Soller afb12dc98b xhci: ensure doorbell is rung after irq reactor has state 2023-02-16 15:28:34 -07:00
Jeremy Soller f0ff668f0c xhcid: fix direction of status stage in scheme 2023-02-16 07:39:35 -07:00
Jeremy Soller 96246acca5 pcid: Optimize PCI bus scanning 2023-02-15 20:05:25 -07:00
Jeremy Soller 6fb6fa34cb ahci: logging adjustments 2023-02-15 19:36:12 -07:00
Jeremy Soller b6321aa764 nvme: logging adjustments 2023-02-15 19:34:05 -07:00
Jeremy Soller 5bbe2e3f4c ahci, ihda, pci, xhci: logging adjustments 2023-02-15 19:30:59 -07:00
Jeremy Soller 98a3106749 ihda, usbhid, xhci: logging adjustments 2023-02-15 19:24:50 -07:00
Jeremy Soller 00720cc95b ihdad: adjust log levels 2023-02-15 19:17:55 -07:00
Jeremy Soller e62b798a8b xhci: Fix status stage TRB direction in get_desc_raw 2023-02-15 13:13:39 -07:00
Jeremy Soller a86f32e67a xhci: Workaround for missing interrupts 2023-02-15 11:47:48 -07:00
Jeremy Soller 625064004d Update for new Rust nightly 2023-02-11 14:37:22 -07:00
Jeremy Soller 3b4e0652bd Merge branch 'master' into 'master'
Add drivers description.

See merge request redox-os/drivers!87
2023-02-08 19:03:03 +00:00
Alberto Souza 800c56f15a Add README.md 2023-02-08 18:55:59 +00:00
Jeremy Soller 6789f2846d Merge branch 'rw_van_230127' into 'master'
Add description text in toml format for each symbol in acpi:/symbols

See merge request redox-os/drivers!86
2023-01-29 13:18:35 +00:00
Ron Williams 9c739d7648 Add description text in toml format for each symbol in acpi:/symbols 2023-01-28 22:47:28 -08:00