The Pedigree Project 0.1
Static Public Member Functions | List of all members
VirtDeviceTree Class Reference

#include <DeviceTree.h>

+ Collaboration diagram for VirtDeviceTree:

Static Public Member Functions

static bool initialise (const void *dtb)
 
static bool initialiseAcpi (uint64_t rsdpPhysical, const BootstrapStruct_t::MemoryMapEntry *memoryMap, size_t memoryMapCount)
 
static bool valid ()
 
static bool memoryRegion (size_t index, VirtMemoryRegion &region)
 
static bool virtioMmio (size_t index, VirtMmioDevice &device)
 
static bool pciHost (VirtPciHost &host)
 
static bool pciWindow (size_t index, VirtPciWindow &window)
 
static bool pciTranslate (uint64_t address, uint64_t size, bool io, uint64_t &physical)
 
static uint32_t pciInterrupt (uint8_t bus, uint8_t device, uint8_t function, uint8_t pin)
 
static bool pciMsiController (VirtMsiController &controller)
 
static bool pciMsiDeviceId (uint8_t bus, uint8_t device, uint8_t function, uint32_t &id)
 
static uintptr_t uartBase ()
 
static uint32_t uartIrq ()
 
static uintptr_t rtcBase ()
 
static uint32_t gicVersion ()
 
static uintptr_t gicDistributorBase ()
 
static uintptr_t gicCpuBase ()
 
static uintptr_t gicRedistributorBase ()
 
static uint64_t gicRedistributorPhysical ()
 
static uint32_t physicalTimerIrq ()
 
static uint32_t virtualTimerIrq ()
 
static bool psciAvailable ()
 
static bool psciUsesHvc ()
 
static bool initrd (uint64_t &start, uint64_t &end)
 
static const char * bootargs ()
 
static size_t blobSize ()
 

Detailed Description

Early, allocation-free discovery of ARM virt platform hardware.

Definition at line 52 of file DeviceTree.h.

Member Function Documentation

◆ blobSize()

size_t VirtDeviceTree::blobSize ( )
static

Definition at line 696 of file DeviceTree.cc.

◆ bootargs()

const char * VirtDeviceTree::bootargs ( )
static

Definition at line 692 of file DeviceTree.cc.

◆ gicCpuBase()

uintptr_t VirtDeviceTree::gicCpuBase ( )
static

Definition at line 654 of file DeviceTree.cc.

◆ gicDistributorBase()

uintptr_t VirtDeviceTree::gicDistributorBase ( )
static

Definition at line 650 of file DeviceTree.cc.

◆ gicRedistributorBase()

uintptr_t VirtDeviceTree::gicRedistributorBase ( )
static

Definition at line 658 of file DeviceTree.cc.

◆ gicRedistributorPhysical()

uint64_t VirtDeviceTree::gicRedistributorPhysical ( )
static

Definition at line 662 of file DeviceTree.cc.

◆ gicVersion()

uint32_t VirtDeviceTree::gicVersion ( )
static

Definition at line 646 of file DeviceTree.cc.

◆ initialise()

bool VirtDeviceTree::initialise ( const void *  dtb)
static

Definition at line 447 of file DeviceTree.cc.

◆ initialiseAcpi()

bool VirtDeviceTree::initialiseAcpi ( uint64_t  rsdpPhysical,
const BootstrapStruct_t::MemoryMapEntry *  memoryMap,
size_t  memoryMapCount 
)
static

Definition at line 459 of file DeviceTree.cc.

◆ initrd()

bool VirtDeviceTree::initrd ( uint64_t &  start,
uint64_t &  end 
)
static

Definition at line 682 of file DeviceTree.cc.

◆ memoryRegion()

bool VirtDeviceTree::memoryRegion ( size_t  index,
VirtMemoryRegion &  region 
)
static

Definition at line 501 of file DeviceTree.cc.

◆ pciHost()

bool VirtDeviceTree::pciHost ( VirtPciHost &  host)
static

Definition at line 517 of file DeviceTree.cc.

◆ pciInterrupt()

uint32_t VirtDeviceTree::pciInterrupt ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint8_t  pin 
)
static

Definition at line 550 of file DeviceTree.cc.

◆ pciMsiController()

bool VirtDeviceTree::pciMsiController ( VirtMsiController &  controller)
static

Definition at line 582 of file DeviceTree.cc.

◆ pciMsiDeviceId()

bool VirtDeviceTree::pciMsiDeviceId ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint32_t &  id 
)
static

Definition at line 600 of file DeviceTree.cc.

◆ pciTranslate()

bool VirtDeviceTree::pciTranslate ( uint64_t  address,
uint64_t  size,
bool  io,
uint64_t &  physical 
)
static

Definition at line 533 of file DeviceTree.cc.

◆ pciWindow()

bool VirtDeviceTree::pciWindow ( size_t  index,
VirtPciWindow &  window 
)
static

Definition at line 525 of file DeviceTree.cc.

◆ physicalTimerIrq()

uint32_t VirtDeviceTree::physicalTimerIrq ( )
static

Definition at line 666 of file DeviceTree.cc.

◆ psciAvailable()

bool VirtDeviceTree::psciAvailable ( )
static

Definition at line 678 of file DeviceTree.cc.

◆ psciUsesHvc()

bool VirtDeviceTree::psciUsesHvc ( )
static

Definition at line 674 of file DeviceTree.cc.

◆ rtcBase()

uintptr_t VirtDeviceTree::rtcBase ( )
static

Definition at line 642 of file DeviceTree.cc.

◆ uartBase()

uintptr_t VirtDeviceTree::uartBase ( )
static

Kernel direct-map virtual addresses for platform MMIO.

Definition at line 634 of file DeviceTree.cc.

Referenced by VirtMachine::initialise().

+ Here is the caller graph for this function:

◆ uartIrq()

uint32_t VirtDeviceTree::uartIrq ( )
static

Definition at line 638 of file DeviceTree.cc.

◆ valid()

bool VirtDeviceTree::valid ( )
static

Definition at line 497 of file DeviceTree.cc.

◆ virtioMmio()

bool VirtDeviceTree::virtioMmio ( size_t  index,
VirtMmioDevice &  device 
)
static

Definition at line 509 of file DeviceTree.cc.

◆ virtualTimerIrq()

uint32_t VirtDeviceTree::virtualTimerIrq ( )
static

Definition at line 670 of file DeviceTree.cc.


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