Files
RedBear-OS/README.md
T

60 lines
2.0 KiB
Markdown

# Drivers
These are the currently implemented devices/hardware interfaces.
- ac97d - Realtek audio chipsets.
- acpid - ACPI (incomplete).
Lack of drivers for devices defined in AML.
- ahcid - SATA.
- alxd - Atheros ethernet (incomplete).
Lack of datasheet to finish.
- amlserde - a library to provide serialization/deserialization of the AML symbol table from ACPI (incomplete).
- bgad - Bochs emulator/debugger.
- block-io-wrapper - Library used by other drivers.
- e1000d - Intel Gigabit ethernet.
- ided - IDE.
- ihdad - Intel HD Audio chipsets.
- inputd - Multiplexes input from multiple input drivers and provides that to Orbital.
- ixgbed - Intel 10 Gigabit ethernet.
- nvmed - NVMe.
- pcid - PCI.
- pcspkrd - PC speaker
- ps2d - PS/2
- rtl8139d - Realtek ethernet.
- rtl8168d - Realtek ethernet.
- sb16d - Sound Blaster audio (incomplete).
Still need to determine a way to allocate memory under 16MiB for use in ISA DMA.
- usbctl - USB control (incomplete).
Missing class drivers for various classes.
- usbhidd - USB HID (incomplete).
Has tons of descriptors that are possible, not all are supported.
- usbscsid - USB SCSI (incomplete).
Missing class drivers for various classes.
- vboxd - VirtualBox guest.
- vesad - VESA.
- virtio-blkd - VirtIO block device (incomplete).
- virtio-core - VirtIO core.
- virtio-gpud - VirtIO GPU device (incomplete).
- virtio-netd - VirtIO net device (incomplete).
- xhcid - xHCI (incomplete).
## Contributing to Drivers
If you want to write drivers for Redox, datasheets are preferable, when they are freely available. Be aware that datasheets are often provided under a [Non-Disclosure Agreement](https://en.wikipedia.org/wiki/Non-disclosure_agreement) from hardware vendors, which can affect the ability to create an MIT-licensed driver.
If you don't have datasheets, we recommend you to do reverse-engineering of available C code of BSD drivers.
We recommend BSDs drivers because BSD license is compatible with MIT (permissive), that way we can reuse the code in other drivers.