Some unsorted collection of small but useful debugging options for Xen and Linux kernel compiled as part of TRS targeting AVA Developer Platform 32 machine.
Early printk via UART
Such options are required in .config file of xen if compiled as standalone binary:
CONFIG_VERBOSE_DEBUG=y CONFIG_EARLY_UART_CHOICE_PL011=y CONFIG_EARLY_UART_PL011=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_UART_BASE_ADDRESS=0x100002600000 CONFIG_EARLY_UART_PL011_BAUD_RATE=0 CONFIG_EARLY_UART_PL011_MMIO32=y CONFIG_EARLY_PRINTK_INC="debug-pl011.inc"
In case of TRS these config options can be added in one of the *.cfg
files under meta-ledge-secure/meta-ledge-secure/dynamic-layers/meta-virtualization/recipes-extended/xen/files/
Increasing verbosity of logs
Xen cmdline’s parameters loglvl=...
and guest_loglvl=...
can be switch to all
.
For TRS this can be achieved by editing the cmdline in file meta-ledge-secure/meta-ledge-secure/dynamic-layers/meta-virtualization/recipes-extended/xen/files/xen.cfg.in
:
options=noreboot dom0_mem=${DOM0_MEMORY_SIZE} bootscrub=0 iommu=on loglvl=all guest_loglvl=all
Logs location (xen, qemu)
On the booted machine the useful qemu and xen logs will be located under /var/log/xen/*
PCIe
It is observed that some PCIe cards might have issues negotiating power management policies and may produce AER events/messages. There is an option in BIOS to handle such messages in BIOS but it is untested.
However, the PCIe ASPM can be disabled via Linux kernel cmdline:
pcie_aspm=off
The AER messages also could be suppressed using:
pci=noaer