NeKernel dev
Loading...
Searching...
No Matches
PCI.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#pragma once
8
9#include <NeKit/Config.h>
10
11#define kPCIConfigAddressPort (0xCF8)
12#define kPCIConfigDataPort (0xCFC)
13
14#define kPCIDeviceCount (32)
15#define kPCIFuncCount (8)
16#define kPCIBusCount (256U)
17
18namespace Kernel::PCI {
19// model
37
38namespace Detail {
39 class BAR {
40 public:
43 };
44} // namespace Detail
45
54} // namespace Kernel::PCI
Definition PCI.h:46
Detail::BAR BAR4
Definition PCI.h:51
Detail::BAR BAR5
Definition PCI.h:52
Detail::BAR BAR1
Definition PCI.h:48
Detail::BAR BAR2
Definition PCI.h:49
Detail::BAR BAR3
Definition PCI.h:50
Definition PCI.h:39
UIntPtr BAR
Definition PCI.h:41
SizeT Size
Definition PCI.h:42
Definition PCI.h:38
Definition Device.cc:38
__UINT16_TYPE__ UInt16
Definition Config.h:40
__SIZE_TYPE__ SizeT
Definition Config.h:60
__UINT8_TYPE__ UInt8
Definition Config.h:55
__UINTPTR_TYPE__ UIntPtr
Definition Config.h:62
Definition PCI.h:20
UInt8 SubClass
Definition PCI.h:27
UInt8 Command
Definition PCI.h:23
UInt8 Bus
Definition PCI.h:33
UInt8 Class
Definition PCI.h:28
UInt16 VendorId
Definition PCI.h:21
UInt8 HeaderType
Definition PCI.h:31
UInt8 Status
Definition PCI.h:24
UInt16 DeviceId
Definition PCI.h:22
UInt8 Device
Definition PCI.h:34
UInt8 RevisionId
Definition PCI.h:25
UInt8 Bist
Definition PCI.h:32
UInt8 CacheLineSz
Definition PCI.h:29
UInt8 LatencyTimer
Definition PCI.h:30
UInt8 ProgIf
Definition PCI.h:26
UInt8 Function
Definition PCI.h:35