This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J721EXSOMXEVM: VM installation

Part Number: J721EXSOMXEVM

I have enabled KVM in linux kernel and trying to install VM using qemu-system-aarch64.

It looks like VM performance is not good. Is there any sMMU or IOMMU configuration required in device tree?

Thanks,

Shiva

  • Hi Shiva,

    Virtualization is NOT supported in the SDK. What is the use case that you are trying to enable?

    Best Regards,
    Keerthy

  • I was trying to test SRIOV by using PCI passthrough to VM.

  • Hi Shivamurthy,

    Sorry no support in the SDK on virtualization. We do NOT support this. If no questions please click on verify answer.

    - Keerthy

  • Hi Keerthy,

    I am not looking for SDK on virtualization.

    I have enabled CONFIG_KVM in kernel and enabled qemu recipe in yocto.

    And, I installed VM using qemu.

    My question was about sMMU or IOMMU configuration in device tree.

    Do you have any documents on sMMU and IOMMU?

    or

    Do TI has any experts who can help me to configure that in the device tree?

    Thanks,

    Shiva

  • Hi Shiva,

    There is already a DT node for smmu: arch/arm64/boot/dts/ti/k3-j721e-main.dtsi

                    smmu0: iommu@36600000 {
                            compatible = "arm,smmu-v3";
                            reg = <0x0 0x36600000 0x0 0x100000>;
                            interrupt-parent = <&gic500>;
                            interrupts = <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>,
                                         <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>;
                            interrupt-names = "eventq", "gerror";
                            #iommu-cells = <1>;
                    };
    

    Driver: drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c

    Anything more specific that you are looking for? If not then click on verify answer.

    - Keerthy

  • Hi Keerthy,

    I am getting this error during boot:

    [ 1.042934] arm-smmu-v3 36600000.iommu: ias 48-bit, oas 48-bit (features 0x00001faf)
    [ 1.051926] arm-smmu-v3 36600000.iommu: allocated 524288 entries for cmdq
    [ 1.060766] arm-smmu-v3 36600000.iommu: allocated 524288 entries for evtq
    [ 1.068511] arm-smmu-v3 36600000.iommu: msi_domain absent - falling back to wired irqs

    is this normal?

    When I try to enable PCI passthrough using VFIO I get this error:

    # modprobe vfio_pci ids=1344:51a3
    [ 227.651184] VFIO - User Level meta-driver version: 0.3
    [ 227.659862] vfio-pci 0001:01:00.1: assign IRQ: got 0
    [ 227.664879] vfio-pci: probe of 0001:01:00.1 failed with error -22
    [ 227.670972] vfio_pci: add [1344:51a3[ffffffff:ffffffff]] class 0x000000/00000000

    Please let me know if I should not use VFIO for PCI passthrough.

    I think, there should be something like "iommu-map" property in pcie_rc nodes (device tree) to use the iommu for PCI passthrough.

    Could you please help me to add this property?

    Thanks,

    Shiva