Class PciDevice

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PciDevice : public Gaia::Dev::Service

Public Functions

PciDevice(uint8_t bus, uint8_t slot, uint8_t fun)
template<typename T>
inline T read(PciOffset offset)
template<typename T>
inline void write(PciOffset offset, T value)
inline void enable_cmd_flag(Command flag)
inline void disable_cmd_flag(Command flag)
inline Info get_info()
virtual void start(Service *provider) override

Starts the service and associates it with the provider.

Parameters:

provider – The provider to associate with

virtual bool match_properties(Properties &props) override
inline virtual const char *class_name() override
inline virtual const char *name() override
template<typename F>
inline void iter_capabilities(F callback)
inline void set_cmd(Command command, bool enabled)
inline void set_bus_mastering(bool enabled)
inline void set_memory_space(bool enabled)
inline void set_io_space(bool enabled)
frg::span<uint8_t> get_bar(uint8_t num)
struct Info

Public Members

uint8_t bus
uint8_t slot
uint8_t fun
uint8_t _class
uint8_t subclass
uint16_t vendor
uint16_t device_id
uint8_t pin
uint8_t gsi
bool lopol
bool edge