# Architecture identifier.
arch = "x86_64" # str
# Platform Package.
package = "axplat-x86-pc" # str
# Platform identifier.
platform = "x86-pc" # str
# Stack size of each task.
task-stack-size = 0x40000 # uint
# Number of timer ticks per second (Hz). A timer tick may contain several timer
# interrupts.
ticks-per-sec = 100 # uint

#
# Device specifications
#
[devices]
# IPI interrupt num
ipi-irq = 0xf3 # uint
# MMIO ranges with format (`base_paddr`, `size`).
mmio-ranges = [
    [0xb000_0000, 0x1000_0000],
    [0xfe00_0000, 0xc0_0000],
    [0xfec0_0000, 0x1000],
    [0xfed0_0000, 0x1000],
    [0xfee0_0000, 0x1000]
] # [(uint, uint)]
# End PCI bus number.
pci-bus-end = 0xff # uint
# Base physical address of the PCIe ECAM space (should read from ACPI 'MCFG' table).
pci-ecam-base = 0xb000_0000 # uint
# PCI device memory ranges (not used on x86).
pci-ranges = [] # [(uint, uint)]
# Timer interrupt frequency in Hz. (4.0GHz)
timer-frequency = 4_000_000_000 # uint
# Timer interrupt num.
timer-irq = 0xf0 # uint
# VirtIO MMIO ranges with format (`base_paddr`, `size`).
virtio-mmio-ranges = [] # [(uint, uint)]

#
# Platform configs
#
[plat]
# Stack size on bootstrapping. (256K)
boot-stack-size = 0x40000 # uint
# Number of CPUs.
max-cpu-num = 1 # uint
# Kernel address space base.
kernel-aspace-base = "0xffff_8000_0000_0000" # uint
# Kernel address space size.
kernel-aspace-size = "0x0000_7fff_ffff_f000" # uint
# Base physical address of the kernel image.
kernel-base-paddr = 0x20_0000 # uint
# Base virtual address of the kernel image.
kernel-base-vaddr = "0xffff_8000_0020_0000" # uint
# Offset of bus address and phys address. some boards, the bus address is
# different from the physical address.
phys-bus-offset = 0 # uint
# Base address of the whole physical memory.
phys-memory-base = 0 # uint
# Size of the whole physical memory. (128M)
phys-memory-size = 0x800_0000 # uint
# Linear mapping offset, for quick conversions between physical and virtual
# addresses.
phys-virt-offset = "0xffff_8000_0000_0000" # uint
