{"id":13648682,"url":"https://github.com/rcore-os/virtio-drivers","last_synced_at":"2025-10-08T22:20:30.691Z","repository":{"id":37831821,"uuid":"246897603","full_name":"rcore-os/virtio-drivers","owner":"rcore-os","description":"VirtIO guest drivers in Rust.","archived":false,"fork":false,"pushed_at":"2025-04-04T17:15:57.000Z","size":34420,"stargazers_count":245,"open_issues_count":11,"forks_count":68,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-06T17:04:07.889Z","etag":null,"topics":["hacktoberfest","no-std","rust","virtio","virtio-drivers"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcore-os.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-12T17:51:15.000Z","updated_at":"2025-04-04T13:33:20.000Z","dependencies_parsed_at":"2023-12-22T18:30:14.097Z","dependency_job_id":"c88c52f0-9199-42c4-b9c4-b8c040bc56df","html_url":"https://github.com/rcore-os/virtio-drivers","commit_stats":{"total_commits":197,"total_committers":11,"mean_commits":17.90909090909091,"dds":"0.25380710659898476","last_synced_commit":"8e52adace55c5e082ba2effffcb70bf480d76ec0"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcore-os%2Fvirtio-drivers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcore-os%2Fvirtio-drivers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcore-os%2Fvirtio-drivers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcore-os%2Fvirtio-drivers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcore-os","download_url":"https://codeload.github.com/rcore-os/virtio-drivers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248767059,"owners_count":21158375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","no-std","rust","virtio","virtio-drivers"],"created_at":"2024-08-02T01:04:27.176Z","updated_at":"2025-10-08T22:20:30.686Z","avatar_url":"https://github.com/rcore-os.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# VirtIO-drivers-rs\n\n[![crates.io page](https://img.shields.io/crates/v/virtio-drivers.svg)](https://crates.io/crates/virtio-drivers)\n[![docs.rs page](https://docs.rs/virtio-drivers/badge.svg)](https://docs.rs/virtio-drivers)\n[![CI](https://github.com/rcore-os/virtio-drivers/workflows/CI/badge.svg?branch=master)](https://github.com/rcore-os/virtio-drivers/actions)\n\nVirtIO guest drivers in Rust. For **no_std** environment.\n\n## Support status\n\n### Device types\n\n| Device  | Supported |\n| ------- | --------- |\n| Block   | ✅        |\n| Net     | ✅        |\n| GPU     | ✅        |\n| Input   | ✅        |\n| Console | ✅        |\n| Socket  | ✅        |\n| Sound   | ✅        |\n| RNG     | ✅        |\n| ...     | ❌        |\n\n### Transports\n\n| Transport   | Supported |                                                   |\n| ----------- | --------- | ------------------------------------------------- |\n| Legacy MMIO | ✅        | version 1                                         |\n| MMIO        | ✅        | version 2                                         |\n| PCI         | ✅        | Memory-mapped CAM only, e.g. aarch64 or PCIe ECAM |\n\n### Device-independent features\n\n| Feature flag                 | Supported |                                         |\n| ---------------------------- | --------- | --------------------------------------- |\n| `VIRTIO_F_INDIRECT_DESC`     | ✅        | Indirect descriptors                    |\n| `VIRTIO_F_EVENT_IDX`         | ✅        | `avail_event` and `used_event` fields   |\n| `VIRTIO_F_VERSION_1`         | TODO      | VirtIO version 1 compliance             |\n| `VIRTIO_F_ACCESS_PLATFORM`   | ❌        | Limited device access to memory         |\n| `VIRTIO_F_RING_PACKED`       | ❌        | Packed virtqueue layout                 |\n| `VIRTIO_F_IN_ORDER`          | ❌        | Optimisations for in-order buffer usage |\n| `VIRTIO_F_ORDER_PLATFORM`    | ❌        | Platform ordering for memory access     |\n| `VIRTIO_F_SR_IOV`            | ❌        | Single root I/O virtualization          |\n| `VIRTIO_F_NOTIFICATION_DATA` | ❌        | Extra data in device notifications      |\n\n## Examples \u0026 Tests\n\n### [x86_64](./examples/x86_64)\n\n```bash\ncd examples/x86_64\nmake qemu\n```\n\n### [aarch64](./examples/aarch64)\n\n```bash\ncd examples/aarch64\nmake qemu\n```\n\n### [RISCV](./examples/riscv)\n\n```bash\ncd examples/riscv\nmake qemu\n```\n\n### [hexagon](./examples/hexagon)\n\n```bash\ncd examples/hexagon\nmake qemu\n```\n\nYou will see device info \u0026 GUI Window in qemu.\n\n\u003cimg decoding=\"async\" src=\"https://github.com/rcore-os/virtio-drivers/raw/master/examples/riscv/virtio-test-gpu.png\" width=\"50%\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcore-os%2Fvirtio-drivers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcore-os%2Fvirtio-drivers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcore-os%2Fvirtio-drivers/lists"}