Hi Antonios and all,

        Recently, I want to test vfio on ARM and refer to this document 
"http://www.virtualopensystems.com/en/solutions/guides/vfio-on-arm/"; .
        Following is my test steps.

        1. Get kernel src
                git clone git://github.com/virtualopensystems/linux-kvm-arm.git
                cd linux-kvm-arm
                git checkout origin/vfio-platform-v4

        2. Get kernel config
                
http://www.virtualopensystems.com/downloads/guides/kvm_on_arm/kernel-config > 
.config

        3. Make menuconfig the kernel
                enable the KVM, SMMU and VFIO configuration options for the 
host kernel

        4. Compile the kernel
                CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make zImage

        5. Build a device tree
                There isn't rtsm_ve-cortex_a15x4_a7x4.dts in the directory 
"arch/arm/boot/dts/".
                So I download it from this git 
"git://github.com/virtualopensystems/arm-dts.git".
                ./scripts/dtc/dtc -O dtb -o host-a15.dtb 
../arm-dts/fast_models/rtsm_ve-cortex_a15x4_a7x4.dts
                But the rtsm_ve-cortex_a15x4_a7x4.dts doesn't contain the DMA 
or SMMU device.

        6. Launch the model
                Following is the boot_model.sh.
                        #!/bin/bash

                        
MODEL_PATH='/root/ARM/FastModelsPortfolio_8.2/examples/FVP_VE/Build_Cortex-A15x4-A7x4-MMU400-DMA330/Linux64-Debug-GCC-4.4'

                        $MODEL_PATH/isim_system \
                        -a coretile.cluster0.*=/home/vfio/linux-system-semi.axf 
\
                        -a coretile.cluster1.*=/home/vfio/linux-system-semi.axf 
\
                        -C motherboard.smsc_91c111.enabled=1 \
                        -C motherboard.hostbridge.interfaceName="ARMroot" \
                        -C coretile.cluster0.cpu0.semihosting-enable=1 \
                        -C coretile.dmac0_int_base=64 \
                        -C coretile.dmac1_int_base=96 \
                        -C coretile.dmac2_int_base=128 \
                        -C coretile.dmac3_int_base=168 \
                        -C coretile.mmu400_dma330.dmac0.p_irq_nsecure="true" \
                        -C coretile.mmu400_dma330.dmac1.p_irq_nsecure="true" \
                        -C coretile.mmu400_dma330.dmac2.p_irq_nsecure="true" \
                        -C coretile.mmu400_dma330.dmac3.p_irq_nsecure="true" \
                        -C coretile.cluster0.cpu0.semihosting-cmd_line="\
                        --kernel /home/vfio/zImage \
                        --initrd /home/vfio/filesystem.cpio.gz \
                        --dtb host-a15.dtb  -- earlyprintk console=ttyAMA0 
mem=2048M "
                It launched successfully. There is "vfio_platform" in the 
directory, but I can't see any DMA decive in the directory "/sys/devices".

        PS: I also try to enable the kernel configuration option for DMA. "DMA 
Engine support --> DMA API Driver for PL330".
        Is there something I'm wrong? Is there any way I can get the right 
device tree and kernel config?
        Look forward to your reply.
-- 
Shannon

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to