SimpleKernel 1.17.0
Loading...
Searching...
No Matches
virtio::PciTransport Class Referencefinal

Virtio PCI 传输层(占位) More...

#include <pci.hpp>

Inheritance diagram for virtio::PciTransport:
Inheritance graph
Collaboration diagram for virtio::PciTransport:
Collaboration graph

Public Member Functions

auto IsValid () const -> bool
 
auto GetDeviceId () const -> uint32_t
 
auto GetVendorId () const -> uint32_t
 
auto GetStatus () const -> uint32_t
 
auto SetStatus (uint32_t) -> void
 
auto GetDeviceFeatures () -> uint64_t
 
auto SetDriverFeatures (uint64_t) -> void
 
auto GetQueueNumMax (uint32_t) -> uint32_t
 
auto SetQueueNum (uint32_t, uint32_t) -> void
 
auto SetQueueDesc (uint32_t, uint64_t) -> void
 
auto SetQueueAvail (uint32_t, uint64_t) -> void
 
auto SetQueueUsed (uint32_t, uint64_t) -> void
 
auto GetQueueReady (uint32_t) -> bool
 
auto SetQueueReady (uint32_t, bool) -> void
 
auto NotifyQueue (uint32_t) -> void
 
auto GetInterruptStatus () const -> uint32_t
 
auto AckInterrupt (uint32_t) -> void
 
auto ReadConfigU8 (uint32_t) const -> uint8_t
 
auto ReadConfigU16 (uint32_t) const -> uint16_t
 
auto ReadConfigU32 (uint32_t) const -> uint32_t
 
auto ReadConfigU64 (uint32_t) const -> uint64_t
 
auto GetConfigGeneration () const -> uint32_t
 
- Public Member Functions inherited from virtio::Transport
auto Reset (this auto &&self) -> void
 重置设备
 
auto NeedsReset (this auto const &self) -> bool
 检查设备是否需要重置
 
auto IsActive (this auto const &self) -> bool
 检查设备是否已激活(DRIVER_OK 已设置)
 
auto AcknowledgeInterrupt (this auto &&self) -> void
 确认并清除设备中断
 

Additional Inherited Members

- Public Types inherited from virtio::Transport
enum class  DeviceStatus : uint32_t {
  kReset = 0 , kAcknowledge = 1 , kDriver = 2 , kDriverOk = 4 ,
  kFeaturesOk = 8 , kDeviceNeedsReset = 64 , kFailed = 128
}
 设备状态位定义 More...
 
- Protected Member Functions inherited from virtio::Transport
 Transport ()=default
 
 ~Transport ()=default
 
 Transport (Transport &&) noexcept=default
 
auto operator= (Transport &&) noexcept -> Transport &=default
 
 Transport (const Transport &)=delete
 
auto operator= (const Transport &) -> Transport &=delete
 

Detailed Description

Virtio PCI 传输层(占位)

Todo:
实现 PCI Modern (1.0+) 传输层
See also
virtio-v1.2#4.1

Definition at line 16 of file pci.hpp.

Member Function Documentation

◆ AckInterrupt()

auto virtio::PciTransport::AckInterrupt ( uint32_t  ) -> void
inline

Definition at line 42 of file pci.hpp.

42{}

◆ GetConfigGeneration()

auto virtio::PciTransport::GetConfigGeneration ( ) const -> uint32_t
inline

Definition at line 56 of file pci.hpp.

56{ return 0; }

◆ GetDeviceFeatures()

auto virtio::PciTransport::GetDeviceFeatures ( ) -> uint64_t
inline

Definition at line 25 of file pci.hpp.

25{ return 0; }

◆ GetDeviceId()

auto virtio::PciTransport::GetDeviceId ( ) const -> uint32_t
inline

Definition at line 19 of file pci.hpp.

19{ return 0; }

◆ GetInterruptStatus()

auto virtio::PciTransport::GetInterruptStatus ( ) const -> uint32_t
inline

Definition at line 41 of file pci.hpp.

41{ return 0; }

◆ GetQueueNumMax()

auto virtio::PciTransport::GetQueueNumMax ( uint32_t  ) -> uint32_t
inline

Definition at line 28 of file pci.hpp.

28 {
29 return 0;
30 }

◆ GetQueueReady()

auto virtio::PciTransport::GetQueueReady ( uint32_t  ) -> bool
inline

Definition at line 35 of file pci.hpp.

35 {
36 return false;
37 }

◆ GetStatus()

auto virtio::PciTransport::GetStatus ( ) const -> uint32_t
inline

Definition at line 22 of file pci.hpp.

22{ return 0; }

◆ GetVendorId()

auto virtio::PciTransport::GetVendorId ( ) const -> uint32_t
inline

Definition at line 20 of file pci.hpp.

20{ return 0; }

◆ IsValid()

auto virtio::PciTransport::IsValid ( ) const -> bool
inline

Definition at line 18 of file pci.hpp.

18{ return false; }

◆ NotifyQueue()

auto virtio::PciTransport::NotifyQueue ( uint32_t  ) -> void
inline

Definition at line 40 of file pci.hpp.

40{}

◆ ReadConfigU16()

auto virtio::PciTransport::ReadConfigU16 ( uint32_t  ) const -> uint16_t
inline

Definition at line 47 of file pci.hpp.

47 {
48 return 0;
49 }

◆ ReadConfigU32()

auto virtio::PciTransport::ReadConfigU32 ( uint32_t  ) const -> uint32_t
inline

Definition at line 50 of file pci.hpp.

50 {
51 return 0;
52 }

◆ ReadConfigU64()

auto virtio::PciTransport::ReadConfigU64 ( uint32_t  ) const -> uint64_t
inline

Definition at line 53 of file pci.hpp.

53 {
54 return 0;
55 }

◆ ReadConfigU8()

auto virtio::PciTransport::ReadConfigU8 ( uint32_t  ) const -> uint8_t
inline

Definition at line 44 of file pci.hpp.

44 {
45 return 0;
46 }

◆ SetDriverFeatures()

auto virtio::PciTransport::SetDriverFeatures ( uint64_t  ) -> void
inline

Definition at line 26 of file pci.hpp.

26{}

◆ SetQueueAvail()

auto virtio::PciTransport::SetQueueAvail ( uint32_t  ,
uint64_t   
) -> void
inline

Definition at line 33 of file pci.hpp.

33{}

◆ SetQueueDesc()

auto virtio::PciTransport::SetQueueDesc ( uint32_t  ,
uint64_t   
) -> void
inline

Definition at line 32 of file pci.hpp.

32{}

◆ SetQueueNum()

auto virtio::PciTransport::SetQueueNum ( uint32_t  ,
uint32_t   
) -> void
inline

Definition at line 31 of file pci.hpp.

31{}

◆ SetQueueReady()

auto virtio::PciTransport::SetQueueReady ( uint32_t  ,
bool   
) -> void
inline

Definition at line 38 of file pci.hpp.

38{}

◆ SetQueueUsed()

auto virtio::PciTransport::SetQueueUsed ( uint32_t  ,
uint64_t   
) -> void
inline

Definition at line 34 of file pci.hpp.

34{}

◆ SetStatus()

auto virtio::PciTransport::SetStatus ( uint32_t  ) -> void
inline

Definition at line 23 of file pci.hpp.

23{}

The documentation for this class was generated from the following file: