2#ifndef PEDIGREE_PCI_RESOURCES_H
3#define PEDIGREE_PCI_RESOURCES_H
5#include "pedigree/kernel/compiler.h"
6#include "pedigree/kernel/processor/types.h"
10namespace PciResources {
13EXPORTED_PUBLIC
bool initialize(
Device* root =
nullptr);
19EXPORTED_PUBLIC
bool addFunction(
Device* device);
20EXPORTED_PUBLIC
bool removeFunction(
Device* device);
24EXPORTED_PUBLIC
bool reserve(
Device* owner, uint64_t base, uint64_t size,
bool prefetchable);
25EXPORTED_PUBLIC
bool allocate(
Device* owner, uint64_t size, uint64_t alignment,
bool prefetchable,
26 uint64_t maxAddress, uint64_t& outBase);
27EXPORTED_PUBLIC
bool release(
Device* owner, uint64_t base, uint64_t size);