summaryrefslogtreecommitdiffstats
path: root/classes/qemuboot-xen-dtb.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* Revert "xen: Disable PCI on qemuarm with Xen"Michal Orzel2022-06-201-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fb0a7b97db4f419b82309f98a4944ae3330d1e2e. Justification: Commit fb0a7b97db4f removed the PCI node from the qemu device tree due to the issue when trying to access PCI configuration space that was causing Linux running on top of Xen to end up in an infinite loop. The investigation showed that the problem occurs due to qemu placing ECAM space at 256GiB mark. Even though Xen officially supports on arm32 up to 12GiB of physical address space, it is able to map it correctly for dom0. However, when Linux tries to access the ECAM space and the stage2 translation fault occurs, HPFAR register contains incorrect IPA. We can say it is incorrect because using hardware AT instruction or software lookup, we can obtain the correct IPA from the same VA. This can suggest that the problem is related to QEMU fault handling. Instead of removing the PCI node the follow-up commit will disable highmem option in qemu which will cause placing ECAM space in the 32-bit space. Signed-off-by: Michal Orzel <michal.orzel@arm.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* xen: Disable PCI on qemuarm with XenBertrand Marquis2022-05-181-0/+22
| | | | | | | | | | | | | | | | | | Remove the pci node from the qemu device tree when runqemu is used with xen-qemuboot. Linux is ending up in an infinite loop when trying to access PCI configuration space when running on top of Xen on arm32. As we do not need or support any of the devices on PCI on arm32 at the moment, just remove the node from the device tree generated by qemu. The problem does not appear at the moment without Xen and it is unclear why it is with Xen. This will be investigated but in the meantime provide a working configuration for users. Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* qemuboot: Fix command line and enable other machinesBertrand Marquis2022-05-181-4/+5
| | | | | | | | | | | | | | Fix qemuboot-xen-dtb to properly add dom0 bootargs by using a parameter instead of directly using the QB_XEN_DOM0_BOOTARGS inside the function. When not done, the variable is empty and dom0 bootargs are wrong in the device tree. Use QB_MACHINE to generate a device tree with qemu instead of always using the armv8 machine. This will allow this class to be used for other machines later. Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* xen: update to setuptools based lopperBruce Ashfield2021-11-031-1/+1
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* xen-image-minimal: fix aarch64 build for non-qemuboot-enabled machinesChristopher Clark2021-08-021-1/+1
| | | | | | | | | | The qemuboot device tree generation task in qemuboot-xen-dtb.bbclass requires the QB_SYSTEM_NAME variable to be set to identify the Qemu binary to use. Skip the task if it is not set. Reported-and-tested-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Christopher Clark <christopher.clark@starlab.io> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* qemuboot, xen-image-minimal: enable runqemu for qemuarm64 Xen imagesChristopher Clark2021-07-291-0/+209
The Xen hypervisor built for Arm 64-bit targets can be launched with runqemu by providing a Device Tree binary and configuration for Qemu, which enables interactive testing of Xen images. Add qemuboot-xen-dtb.bbclass to add a new bitbake task for generating the dtb file by using lopper on a device tree produced by Qemu. Add qemuboot-xen-defaults.bbclass to supply working default parameters for the qemuarm64 machine and general support for qemuboot for Xen, and adjust the defaults as needed to boot successfully in testing. Development aided by this script by Stewart Hildebrand of DornerWorks: https://gist.github.com/stewdk/110f43e0cc1d905fc6ed4c7e10d8d35e Signed-off-by: Christopher Clark <christopher.clark@starlab.io> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>