2#ifndef PEDIGREE_PCI_FIRMWARE_H
3#define PEDIGREE_PCI_FIRMWARE_H
5#include "pedigree/kernel/compiler.h"
6#include "pedigree/kernel/processor/types.h"
9constexpr size_t MaxWindows = 16;
16 bool prefetchable =
false;
23 Window windows[MaxWindows] = {};
24 size_t windowCount = 0;
27constexpr uint32_t NativeHotplug = 1U << 0;
28constexpr uint32_t NativeAer = 1U << 3;
29constexpr uint32_t NativePcieCapability = 1U << 4;
31EXPORTED_PUBLIC
bool discover();
32EXPORTED_PUBLIC
const Root* rootForBus(uint8_t bus);
33EXPORTED_PUBLIC
bool requestNativeControl(uint8_t bus, uint32_t bits);
34EXPORTED_PUBLIC uint32_t nativeControl(uint8_t bus);