• Home
  • Install
  • Cosmos Website
  • Articles
  • Cosmos
  • X#
  • IL2CPU
Show / Hide Table of Contents
  • Cosmos.Core
    • ACPI
    • ACPI.RSDPtr
    • Bootstrap
    • CPU
    • GCImplementation
    • GCTable
    • Global
    • INTs
    • INTs.EFlagsEnum
    • INTs.ExceptionInterruptDelegate
    • INTs.IRQContext
    • INTs.IRQDelegate
    • INTs.MMXContext
    • INTs.TSS
    • IOPort
    • KernelPanics
    • ManagedMemoryBlock
    • MemoryBlock
    • MemoryBlock08
    • MemoryBlock16
    • MemoryBlock32
    • MemoryMapBlock
    • MemoryOperations
    • PIC
    • PIC.Cmd
    • RawMemoryMapBlock
    • VTable
    • VTablesImpl
  • Cosmos.Core.IOGroup
    • ATA
    • PIC
    • PS2Controller
  • Cosmos.Core.Memory
    • Heap
    • HeapLarge
    • HeapMedium
    • HeapSmall
    • ObjectGCStatus
    • RAT
    • RAT.PageType
    • RootSMTBlock
    • SMTBlock
    • SMTPage
  • Cosmos.Core.MemoryGroup
    • AHCI
  • Cosmos.Core.Multiboot
    • Multiboot2
  • Cosmos.Core.Multiboot.Tags
    • AcpiNew
    • AcpiOld
    • BasicMemoryInformation
    • EFI64
    • Framebuffer
    • MB2Tag
    • MemoryMap
  • Cosmos.Core_Asm
    • ArrayClearAsm
    • ArrayGetLengthAsm
    • ArrayImpl
    • ArrayInternalCopyAsm
    • BufferBlockCopyAsm
    • BufferImpl
    • CPUCanReadCPUIDAsm
    • CPUDisableINTsAsm
    • CPUEnableINTsAsm
    • CPUGetEBPValue
    • CPUGetEndOfKernelAsm
    • CPUGetESPValue
    • CPUGetStackStart
    • CPUHaltAsm
    • CPUImpl
    • CPUInitFloatAsm
    • CPUInitSSEAsm
    • CPUReadCPUIDAsm
    • CPUReadModelSpecificRegisterAsm
    • CPUReadTimestampCounterAsm
    • CPUSetESPValue
    • CPUUpdateIDTAsm
    • CPUZeroFillAsm
    • DelegateCtorAsm
    • DelegateGetMulticastInvokeAsm
    • DelegateImpl
    • DelegateInvokeAsm
    • GCImplementationImpl
    • IOPortImpl
    • Multiboot2Impl
    • Multiboot2ImplAsm
    • RuntimeHelpersImpl
  • Cosmos.Core_Asm.MemoryOperations
    • MemoryOperationsCopy128BlocksAsm
    • MemoryOperationsCopy128BytesAsm
    • MemoryOperationsCopy16BytesAsm
    • MemoryOperationsCopy32BytesAsm
    • MemoryOperationsCopy64BytesAsm
    • MemoryOperationsFill16BlocksAsm
  • Cosmos.Debug.Kernel
    • Debugger
    • DebuggerFactory
  • Cosmos.HAL
    • BaudRate
    • Bootstrap
    • CardType
    • ClassID
    • COMPort
    • DataReceivedHandler
    • Device
    • DeviceID
    • Global
    • KeyboardBase
    • KeyboardBase.KeyPressedEventHandler
    • MouseBase
    • MouseBase.MouseChangedEventHandler
    • NetworkDevice
    • PCI
    • PCIBaseAddressBar
    • PCIDevice
    • PCIDevice.Config
    • PCIDevice.DeviceClass
    • PCIDevice.PCIBist
    • PCIDevice.PCICommand
    • PCIDevice.PCIHeaderType
    • PCIDevice.PCIInterruptPIN
    • PCIDeviceBridge
    • PCIDeviceCardbus
    • PCIDeviceNormal
    • PCSpeaker
    • PIT
    • PIT.PITTimer
    • PIT.PITTimer.OnTrigger
    • Power
    • ProgramIF
    • PS2Controller
    • PS2Keyboard
    • PS2Mouse
    • RTC
    • SerialPort
    • SpeakerExtensions
    • SubclassID
    • TextScreen
    • TextScreenBase
    • TextScreenHelpers
    • VendorID
  • Cosmos.HAL.Audio
    • AudioBitDepth
    • AudioBuffer
    • IAudioBufferProvider
    • SampleFormat
  • Cosmos.HAL.BlockDevice
    • AHCI
    • Ata
    • Ata.BusPositionEnum
    • Ata.ControllerIdEnum
    • ATA_PIO
    • ATA_PIO.Cmd
    • ATA_PIO.DvcSelVal
    • ATA_PIO.Ident
    • ATA_PIO.SpecLevel
    • ATA_PIO.Status
    • ATAPI
    • ATAPI.PacketCommands
    • BlockDevice
    • BlockDeviceType
    • EBR
    • EBR.PartInfo
    • GPT
    • GPT.GPartInfo
    • IDE
    • MBR
    • MBR.PartInfo
    • Partition
  • Cosmos.HAL.BlockDevice.Ports
    • SATA
    • SATAPI
    • StoragePort
  • Cosmos.HAL.BlockDevice.Registers
    • AHCISignature
    • ATACommands
    • ATADeviceStatus
    • Base
    • Bases
    • CommandAndStatus
    • CurrentInterfaceSpeedStatus
    • DeviceDetectionStatus
    • FISRegisterD2H
    • FISRegisterH2D
    • FISSize
    • FISType
    • GenericRegisters
    • HBACommandHeader
    • HBACommandTable
    • HBAPRDTEntry
    • InterfacePowerManagementStatus
    • InterruptEnable
    • InterruptStatus
    • PortRegisters
    • PortType
  • Cosmos.HAL.Drivers.Audio
    • AC97
    • AudioDriver
  • Cosmos.HAL.Drivers.Network
    • AMDPCNetII
    • E1000
    • E1000.RXDesc
    • E1000.TXDesc
    • E1000DeviceID
    • RTL8139
  • Cosmos.HAL.Drivers.USB
    • USBHost
  • Cosmos.HAL.Drivers.Video
    • VBEDriver
    • VGADriver
    • VGADriver.ColorDepth
    • VGADriver.ScreenSize
    • VGADriver.TextSize
  • Cosmos.HAL.Drivers.Video.SVGAII
    • Capability
    • FIFO
    • FIFOCommand
    • ID
    • IOPortOffset
    • Register
    • VMWareSVGAII
  • Cosmos.HAL.Network
    • MACAddress
    • NetworkInit
  • Cosmos.System
    • Console
    • ConsoleKeyEx
    • ConsoleKeyExExtensions
    • Durations
    • Global
    • Kernel
    • KeyboardManager
    • KeyEvent
    • KeyEvent.KeyEventType
    • KeyMapping
    • MouseManager
    • MouseState
    • Notes
    • PCSExtensions
    • PCSpeaker
    • Power
    • ScanMapBase
    • VMTools
  • Cosmos.System.Audio
    • AudioManager
    • AudioMixer
    • AudioStream
  • Cosmos.System.Audio.DSP.Processing
    • AudioPostProcessor
    • GainPostProcessor
  • Cosmos.System.Audio.IO
    • AudioBufferReader
    • AudioBufferReadWriteBase
    • AudioBufferWriter
    • MemoryAudioStream
    • SeekableAudioStream
  • Cosmos.System.ExtendedASCII
    • CosmosEncodingProvider
  • Cosmos.System.FileSystem
    • CosmosVFS
    • Disk
    • FileSystem
    • FileSystemFactory
    • ManagedPartition
  • Cosmos.System.FileSystem.FAT
    • FatFileSystemFactory
  • Cosmos.System.FileSystem.FAT.Listing
    • FatDirectoryEntryAttributeConsts
    • FatDirectoryEntryMetadata
    • FatDirectoryEntryMetadata.LongFilenameEntryMetadata
  • Cosmos.System.FileSystem.ISO9660
    • ISO9660FileSystem
    • ISO9660FileSystemFactory
  • Cosmos.System.FileSystem.Listing
    • DirectoryEntry
    • DirectoryEntryTypeEnum
  • Cosmos.System.FileSystem.VFS
    • FileSystemManager
    • VFSBase
    • VFSManager
  • Cosmos.System.Graphics
    • Bitmap
    • Canvas
    • ColorDepth
    • ColorOrder
    • FullScreenCanvas
    • Image
    • ImageFormat
    • Mode
    • SVGAIICanvas
    • VBECanvas
    • VGACanvas
    • VGAScreen
  • Cosmos.System.Graphics.Fonts
    • Font
    • PCScreenFont
    • UnicodeMapping
  • Cosmos.System.Helpers
    • ArrayHelper
  • Cosmos.System.IO
    • ConsoleStream
    • SyncTextReader
  • Cosmos.System.Keyboard
    • KeyEventHelper
  • Cosmos.System.Network
    • EthernetPacket
    • NetworkDebugger
    • NetworkStack
  • Cosmos.System.Network.ARP
    • ARPPacket
  • Cosmos.System.Network.Config
    • DNSConfig
    • IPConfig
    • NetworkConfig
    • NetworkConfiguration
  • Cosmos.System.Network.IPv4
    • Address
    • EndPoint
    • ICMPClient
    • ICMPPacket
    • IPPacket
    • OutgoingBuffer
  • Cosmos.System.Network.IPv4.TCP
    • Flags
    • Status
    • Tcp
    • TCPOption
    • TCPPacket
    • TransmissionControlBlock
  • Cosmos.System.Network.IPv4.UDP
    • UdpClient
    • UDPPacket
  • Cosmos.System.Network.IPv4.UDP.DHCP
    • DHCPClient
    • DHCPOption
    • DHCPPacket
  • Cosmos.System.Network.IPv4.UDP.DNS
    • DNSAnswer
    • DnsClient
    • DNSPacket
    • DNSPacketAnswer
    • DNSPacketAsk
    • DNSQuery
    • ReplyCode
  • Cosmos.System.ScanMaps
    • DEStandardLayout
    • ESStandardLayout
    • FRStandardLayout
    • GBStandardLayout
    • TRStandardLayout
    • US_Dvorak
    • USStandardLayout

Class PCIDevice

Inheritance
System.Object
PCIDevice
PCIDeviceBridge
PCIDeviceCardbus
PCIDeviceNormal
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Cosmos.HAL
Assembly: Cosmos.HAL2.dll
Syntax
public class PCIDevice

Constructors

| Improve this Doc View Source

PCIDevice(UInt32, UInt32, UInt32)

Declaration
public PCIDevice(uint bus, uint slot, uint function)
Parameters
Type Name Description
System.UInt32 bus
System.UInt32 slot
System.UInt32 function

Fields

| Improve this Doc View Source

BAR0

Declaration
public readonly uint BAR0
Field Value
Type Description
System.UInt32
| Improve this Doc View Source

BaseAddressBar

Declaration
public readonly PCIBaseAddressBar[] BaseAddressBar
Field Value
Type Description
PCIBaseAddressBar[]
| Improve this Doc View Source

BIST

Declaration
public readonly PCIDevice.PCIBist BIST
Field Value
Type Description
PCIDevice.PCIBist
| Improve this Doc View Source

bus

Declaration
public readonly uint bus
Field Value
Type Description
System.UInt32
| Improve this Doc View Source

ClassCode

Declaration
public readonly byte ClassCode
Field Value
Type Description
System.Byte
| Improve this Doc View Source

ConfigAddressPort

Declaration
public const ushort ConfigAddressPort = 3320
Field Value
Type Description
System.UInt16
| Improve this Doc View Source

ConfigDataPort

Declaration
public const ushort ConfigDataPort = 3324
Field Value
Type Description
System.UInt16
| Improve this Doc View Source

DeviceExists

Declaration
public readonly bool DeviceExists
Field Value
Type Description
System.Boolean
| Improve this Doc View Source

DeviceID

Declaration
public readonly ushort DeviceID
Field Value
Type Description
System.UInt16
| Improve this Doc View Source

function

Declaration
public readonly uint function
Field Value
Type Description
System.UInt32
| Improve this Doc View Source

HeaderType

Declaration
public readonly PCIDevice.PCIHeaderType HeaderType
Field Value
Type Description
PCIDevice.PCIHeaderType
| Improve this Doc View Source

InterruptPIN

Declaration
public readonly PCIDevice.PCIInterruptPIN InterruptPIN
Field Value
Type Description
PCIDevice.PCIInterruptPIN
| Improve this Doc View Source

ProgIF

Declaration
public readonly byte ProgIF
Field Value
Type Description
System.Byte
| Improve this Doc View Source

RevisionID

Declaration
public readonly byte RevisionID
Field Value
Type Description
System.Byte
| Improve this Doc View Source

SecondaryBusNumber

Declaration
public readonly byte SecondaryBusNumber
Field Value
Type Description
System.Byte
| Improve this Doc View Source

slot

Declaration
public readonly uint slot
Field Value
Type Description
System.UInt32
| Improve this Doc View Source

Status

Declaration
public readonly ushort Status
Field Value
Type Description
System.UInt16
| Improve this Doc View Source

Subclass

Declaration
public readonly byte Subclass
Field Value
Type Description
System.Byte
| Improve this Doc View Source

VendorID

Declaration
public readonly ushort VendorID
Field Value
Type Description
System.UInt16

Properties

| Improve this Doc View Source

Claimed

Has this device been claimed by a driver

Declaration
public bool Claimed { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Command

Declaration
public PCIDevice.PCICommand Command { get; set; }
Property Value
Type Description
PCIDevice.PCICommand
| Improve this Doc View Source

InterruptLine

Declaration
public byte InterruptLine { get; }
Property Value
Type Description
System.Byte

Methods

| Improve this Doc View Source

EnableBusMaster(Boolean)

Declaration
public void EnableBusMaster(bool enable)
Parameters
Type Name Description
System.Boolean enable
| Improve this Doc View Source

EnableDevice()

Declaration
public void EnableDevice()
| Improve this Doc View Source

EnableMemory(Boolean)

Enable memory.

Declaration
public void EnableMemory(bool enable)
Parameters
Type Name Description
System.Boolean enable

bool value.

| Improve this Doc View Source

GetAddressBase(UInt32, UInt32, UInt32)

Get address base.

Declaration
protected static uint GetAddressBase(uint aBus, uint aSlot, uint aFunction)
Parameters
Type Name Description
System.UInt32 aBus

A bus.

System.UInt32 aSlot

A slot.

System.UInt32 aFunction

A function.

Returns
Type Description
System.UInt32

UInt32 value.

| Improve this Doc View Source

GetHeaderType(UInt16, UInt16, UInt16)

Get header type.

Declaration
public static ushort GetHeaderType(ushort Bus, ushort Slot, ushort Function)
Parameters
Type Name Description
System.UInt16 Bus

A bus.

System.UInt16 Slot

A slot.

System.UInt16 Function

A function.

Returns
Type Description
System.UInt16

ushort value.

| Improve this Doc View Source

GetVendorID(UInt16, UInt16, UInt16)

Get vendor ID.

Declaration
public static ushort GetVendorID(ushort Bus, ushort Slot, ushort Function)
Parameters
Type Name Description
System.UInt16 Bus

A bus.

System.UInt16 Slot

A slot.

System.UInt16 Function

A function.

Returns
Type Description
System.UInt16

UInt16 value.

| Improve this Doc View Source

ReadRegister16(Byte)

Read register 16.

Declaration
public ushort ReadRegister16(byte aRegister)
Parameters
Type Name Description
System.Byte aRegister

A register.

Returns
Type Description
System.UInt16

UInt16 value.

| Improve this Doc View Source

ReadRegister32(Byte)

Declaration
public uint ReadRegister32(byte aRegister)
Parameters
Type Name Description
System.Byte aRegister
Returns
Type Description
System.UInt32
| Improve this Doc View Source

ReadRegister8(Byte)

Read register - 8-bit.

Declaration
public byte ReadRegister8(byte aRegister)
Parameters
Type Name Description
System.Byte aRegister

A register to read.

Returns
Type Description
System.Byte

byte value.

| Improve this Doc View Source

WriteRegister16(Byte, UInt16)

Write register 16.

Declaration
public void WriteRegister16(byte aRegister, ushort value)
Parameters
Type Name Description
System.Byte aRegister

A register.

System.UInt16 value

A value.

| Improve this Doc View Source

WriteRegister32(Byte, UInt32)

Declaration
public void WriteRegister32(byte aRegister, uint value)
Parameters
Type Name Description
System.Byte aRegister
System.UInt32 value
| Improve this Doc View Source

WriteRegister8(Byte, Byte)

Declaration
public void WriteRegister8(byte aRegister, byte value)
Parameters
Type Name Description
System.Byte aRegister
System.Byte value
  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
☀
☾