Cross-platform Rust wrappers for the PCI ID Repository

Overview

pci-ids

This project is modified from wooduffw's usb-ids.rs (https://github.com/woodruffw/usb-ids.rs)

license Build Status Crates.io

Cross-platform Rust wrappers for the PCI ID Repository.

This library bundles the PCI ID database, allowing platforms other than Linux to query it as a source of canonical PCI metadata.

Usage

Iterating over all known vendors:

use pci_ids::Vendors;

for vendor in Vendors::iter() {
    for device in vendor.devices() {
        println!("vendor: {}, device: {}", vendor.name(), device.name());
    }
}
You might also like...
Basic Rust kernel using Limine

Rust Limine Barebones This is a small kernel that boots using Limine. Build First of all, download Rust ! (I guess you already did it if you are here

A new operating system kernel with Linux binary compatibility written in Rust.
A new operating system kernel with Linux binary compatibility written in Rust.

Kerla Kerla is a monolithic operating system kernel from scratch in Rust which aims to be compatible with the Linux ABI, that is, runs Linux binaries

Fast dense evaluation of Green's function kernels in Rust

Fast evaluation of Greens functions in Rust This library allows the fast evaluation of Greens functions and potential sums for Laplace, Helmholtz, and

Minimal x86_64 OS kernel written in Rust
Minimal x86_64 OS kernel written in Rust

rkernel A minimal x86_64 Rust OS kernel. Multiboot2 VGA driver PIC PIT PS/2 Keyboard driver PS/2 Mouse driver TSC RTC Allocator ATA PIO (In progress..

Operating system written in Rust for NumWorks calculator (model n0110)

RustWorks An OS (eventually) for the Numworks calculator (model n0110). Setup First install Rust by following these instuctions then: rustup target ad

SteinsOS is an operating system written in Rust

SteinsOS is an operating system featuring non-preemptive kernel targeting on single-core armv8 architecture.

🍒 Small, simple, and fast kernel written in Rust. 🌸
🍒 Small, simple, and fast kernel written in Rust. 🌸

🍒 Small, simple, and fast kernel written in Rust. 🌸

Learn to write an embedded OS in Rust
Learn to write an embedded OS in Rust

Operating System development tutorials in Rust on the Raspberry Pi

Revons Os is a new OS written from scratch in Rust to experiment with novel OS structure
Revons Os is a new OS written from scratch in Rust to experiment with novel OS structure

Revons Os is a new OS written from scratch in Rust to experiment with novel OS structure, better state management, and how to leverage intralingual design principles to shift OS responsibilities like resource management into the compiler.

Comments
  • Include pci.ids via submodule

    Include pci.ids via submodule

    pci.ids is available on GitHub: pciutils/pciids

    Have you considered including the file via a git submodule? That way, you could track changes to pci.ids more easily.

    This is just a suggestion though, I am completely fine with the way pci.ids is currently included in this repository.

    opened by mkroening 1
  • Add support for classes, subclasses and programming interfaces

    Add support for classes, subclasses and programming interfaces

    Fixes https://github.com/lienching/pci-ids.rs/issues/4.

    It might be easier to review this PR on a per-commit basis.

    I designed the structs and their documentation very similarly to their existing counterparts:

    • Class => Vendor
    • Subclass => Device
    • ProgIf => SubSystem

    I am not sure if this makes sense in every case, but it works well enough for our use case.

    What do you think? :)

    opened by mkroening 0
  • Support no_std environments

    Support no_std environments

    Hi!

    I'd like to depend on this project in libhermit-rs. libhermit-rs is a kernel and can't use std. This PR adds support for no_std environments (apart from dependency upgrades).

    This is working fine for me locally.

    What do you think? :)

    opened by mkroening 0
Releases(v0.2.3)
Owner
Charles Lien
Edge Computing & Security
Charles Lien
QEMU platform SBI support implementation, using RustSBI

QEMU support using RustSBI Compile and run with: cargo qemu When running cargo qemu, the test kernel will build and run. Expected output should be: xt

RustSBI 70 Dec 28, 2022
A comparison of operating systems written in Rust

Rust OS comparison A comparison of operating systems written in Rust. There are several open source operating systems written in Rust. Most of them ar

Markus Kohlhase 492 Jan 8, 2023
An OS kernel written in rust. Non POSIX

"Tifflin" Experimental Kernel (and eventually Operating System) This is an experiment in writing an OS Kernel in rust (http://rust-lang.org). Mostly t

John Hodge (Mutabah) 618 Jan 8, 2023
A hobby operating system, in Rust

intermezzOS: kernel intermezzOS is a hobby operating system. This repository is for its kernel. See the website for more. License This project is dual

intermezzOS 1.3k Jan 1, 2023
A Rust version of the Weenix OS

Reenix This is the start of a unix like operating system written in Rust. It is based on the Weenix Operating system written for Brown's CS167/9. At t

Alex Light 311 Dec 22, 2022
A tiny 32 bit kernel written in Rust

rustboot A tiny 32 bit kernel written in Rust. I was inspired to download Rust and try to do this after seeing zero.rs - a stub that lets Rust program

Charlie Somerville 1.5k Dec 30, 2022
A language-based OS to run Rust on bare metal

RustOS A simple, language-based OS. Current features: Simple VGA for seeing output Some Rust libraries (core, alloc, collections) already in Working (

null 402 Dec 8, 2022
A language-based OS to run Rust on bare metal

RustOS A simple, language-based OS. Current features: Simple VGA for seeing output Some Rust libraries (core, alloc, collections) already in Working (

null 79 Dec 3, 2022
Experimental kernel for embedded devices written in Rust

bkernel is an experimental kernel for embedded devices written in Rust. I'm mostly trying out Rust now to see how it applies to kernel development. Pr

Alexey Shmalko 84 Dec 13, 2022
Open Source Rust kernel; Runs WASM and WASI as lightweight containers.

?? etheryal Kernel etheryal kernel is an Open Source capability-based Kernel written in the Rust programming language. The kernel allows implementing

null 32 Dec 4, 2022