Re: Vfio-on-arm: the device tree does not contain the DMA device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alvise,

Thanks for your help.
I'm using pl330-vfio-dev branch but it's not up-to-date.
Then I update the qemu code.
Now I can start up the guest.

I run the following cmd in guest :

	echo 1 > /sys/kernel/debug/vosys_dmatest/start
		dmaengine: dma_sync_wait: timeout!
		vosys dmatest: tx error
		vosys dmatest: src and destination do not match
	dmesg | grep vosys
		vosys dmatest: vosys dmatest module init
		vosys dmatest: tx error
		vosys dmatest: tx completed
And at the terminal running isim_system there is an error :

	ERROR: DMAC330 channel thread abort.
	ERROR: DMAC330: Instruction fetch ERROR, thread set to FAULTING state

Is there something wrong?

Thanks,
Shannon


On 2014/6/24 17:14, Alvise Rigo wrote:
> This is a QEMU error. Are you using the pl330-vfio-dev branch? Is it
> up-to-date?
> 
> alvise
> 
> Il 24/06/2014 11:00, Shannon Zhao ha scritto:
>> Hi Bharat,
>>
>>
>> ls -l /sys/bus/platform/devices/2c0a0000.dma/iommu_group/devices
>> total 0
>> lrwxrwxrwx 1 root root 0 Jan  1 02:58 2c0a0000.dma -> ../../../../devices/2c0a0000.dma
>>
>> Then I run "echo 2c0a0000.dma > /sys/bus/platform/drivers/vfio-platform/bind". There is /dev/vfio/0.
>>
>> But there is also an error reported.
>>
>> 	-nographic can not be used with -daemonize
>> 	char device redirected to /dev/pts/3 (label pty0-base)
>> 	PL330_VFIO: === VFIO device file descriptor 13 ===
>> 	Device has 1 region(s):
>> 	PL330_VFIO: - Region 0: size=0x1000 offset=0x0 flags=0x7
>> 	PL330_VFIO: - IRQ 0: range of 1, flags=0x7
>> 	PL330_VFIO: - IRQ 1: range of 1, flags=0x7
>> 	PL330_VFIO: - IRQ 2: range of 1, flags=0x7
>> 	PL330_VFIO: - IRQ 3: range of 1, flags=0x7
>> 	PL330_VFIO: - IRQ 4: range of 1, flags=0x7
>> 	qemu-system-arm: -device pl330,vfio_group=/dev/vfio/0,vfio_device=2c0a0000.dma,vfio_container=/dev/vfio/vfio: Property '.vfio_group' not found
>>
>> Thanks,
>> Shannon
>> On 2014/6/24 16:08, Bharat.Bhushan@xxxxxxxxxxxxx wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Shannon Zhao [mailto:zhaoshenglong@xxxxxxxxxx]
>>>> Sent: Tuesday, June 24, 2014 1:16 PM
>>>> To: Bhushan Bharat-R65777; Alvise Rigo; a.motakis@xxxxxxxxxxxxxxxxxxxxxx;
>>>> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxxxxxxxx;
>>>> zhangchengxing@xxxxxxxxxx
>>>> Subject: Re: Vfio-on-arm: the device tree does not contain the DMA device
>>>>
>>>> Hi Bharat,
>>>>
>>>> Thanks for your help.
>>>>
>>>> I executed the following cmd:
>>>> 	echo vfio-platform >
>>>> /sys/bus/platform/devices/2c0a0000.dma/driver_override
>>>
>>> You have to bind the device with vfio-platform driver after the above command.
>>>
>>>> But there is no /dev/vfio/0 and error reported starting guest
>>>>
>>>> 	-nographic can not be used with -daemonize
>>>> 	char device redirected to /dev/pts/3 (label pty0-base)
>>>> 	PL330_VFIO: Group is not viable (not all devices bound for vfio)
>>>
>>> A bit surprised; it should be failing when opening /dev/vfio/0 but it is failing in VFIO_GROUP_GET_STATUS ioctl.
>>>
>>> Also looks like there are more device attached to the said iommu-group.
>>> Can check by running below command:
>>> #ls -l /sys/bus/pci/devices/2c0a0000.dma/iommu_group/devices
>>>
>>> Thanks
>>> -Bharat
>>>
>>>> 	qemu-system-arm: Error while probing real device.
>>>>
>>>> 	qemu-system-arm: Initialization of device pl330 failed Is there something
>>>> wrong?
>>>>
>>>> Thank you very much.
>>>> Shannon
>>>>
>>>> On 2014/6/24 15:05, Bharat.Bhushan@xxxxxxxxxxxxx wrote:
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Shannon Zhao [mailto:zhaoshenglong@xxxxxxxxxx]
>>>>>> Sent: Tuesday, June 24, 2014 12:30 PM
>>>>>> To: Alvise Rigo; Bhushan Bharat-R65777;
>>>>>> a.motakis@xxxxxxxxxxxxxxxxxxxxxx; iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx;
>>>>>> kvmarm@xxxxxxxxxxxxxxxxxxxxx; zhangchengxing@xxxxxxxxxx
>>>>>> Subject: Re: Vfio-on-arm: the device tree does not contain the DMA
>>>>>> device
>>>>>>
>>>>>> Hi Alvise,
>>>>>>
>>>>>> Thanks for your help.
>>>>>> Now I can see /dev/vfio/vfio and /dev/vfio/0 after executing "echo
>>>>>> 2c0a0000.dma
>>>>>>> /sys/bus/platform/drivers/vfio-platform/vfio_bind".
>>>>>> But when using qemu to start guest, there is an error :
>>>>>>
>>>>>> -nographic can not be used with -daemonize char device redirected to
>>>>>> /dev/pts/3 (label pty0-base)
>>>>>> PL330_VFIO: === VFIO device file descriptor 13 === Device has 1
>>>>>> region(s):
>>>>>> PL330_VFIO: - Region 0: size=0x1000 offset=0x2c0a0000 flags=0x7
>>>>>> PL330_VFIO: - IRQ 0: range of 1, flags=0x7 ------------[ cut here
>>>>>> ]------------ kernel BUG at mm/slub.c:3386!
>>>>>> Internal error: Oops - BUG: 0 [#1] SMP ARM Modules linked in:
>>>>>> CPU: 2 PID: 1746 Comm: qemu-system-arm Tainted: G        W    3.14.0-rc1+ #19
>>>>>> task: ee665580 ti: ed0b8000 task.ti: ed0b8000 PC is at
>>>>>> kfree+0x128/0x134 LR is at vfio_set_trigger.isra.5+0x40/0x104
>>>>>> pc : [<800d9e3c>]    lr : [<80319094>]    psr: 400f0013
>>>>>> sp : ed0b9e64  ip : 000800f3  fp : 000014ac
>>>>>> r10: 00000000  r9 : ed0b8000  r8 : edeb3b80
>>>>>> r7 : 0000000e  r6 : 80620584  r5 : 00000000  r4 : eea0b000
>>>>>> r3 : 00000400  r2 : 800f38b0  r1 : eea0ce60  r0 : 00000400
>>>>>> Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
>>>>>> Control: 30c53c7d  Table: eddac080  DAC: 00000000 Process
>>>>>> qemu-system-arm (pid: 1746, stack limit = 0xed0b8240)
>>>>>> Stack: (0xed0b9e64 to 0xed0ba000)
>>>>>> 9e60:          ee603700 00000000 ee603700 0000000e edeb3b80 00000000 80319094
>>>>>> 9e80: ee603700 00003b6e 00000000 edeb3b80 ee603700 00003b6e 0000000d
>>>>>> 80319208
>>>>>> 9ea0: 0000000e edeb3b80 80492a18 edeb3b80 ee57f780 80319690 00000024
>>>>>> 008b2074
>>>>>> 9ec0: 008b2074 8031886c 00000001 008b2074 00000018 00000024 00000000
>>>>>> 00000000
>>>>>> 9ee0: 00000001 00000004 00000001 00000001 ee088e70 008b2060 ee57f780
>>>>>> 803155d0
>>>>>> 9f00: 803155b0 800ef430 80477a58 00080802 ed0b8000 800e1358 00000020
>>>>>> ed0b9f50
>>>>>> 9f20: ed0b9f60 00000003 8061e808 00080802 ed0b9f60 800e14f0 00000000
>>>>>> 806522f8
>>>>>> 9f40: 80477a58 8061e808 ede4c1c0 8011af18 00000000 00000009 8053bbc0
>>>>>> 00000000
>>>>>> 9f60: ee683610 00000001 ee57f780 008b2060 00003b6e 0000000d ed0b8000
>>>>>> 00000000
>>>>>> 9f80: 000014ac 800ef9ac 0000000e 00000001 008b2060 00429eb0 0000000d
>>>>>> 00000036
>>>>>> 9fa0: 8001c464 8001c2e0 008b2060 00429eb0 0000000d 00003b6e 008b2060
>>>>>> 00000001
>>>>>> 9fc0: 008b2060 00429eb0 0000000d 00000036 00000000 7ea99040 0089a220
>>>>>> 000014ac
>>>>>> 9fe0: 003fa474 7ea98fc4 000bc5c8 76ceb2ec 200f0010 0000000d 00000000
>>>>>> 8062c770 [<800d9e3c>] (kfree) from [<80319094>]
>>>>>> (vfio_set_trigger.isra.5+0x40/0x104)
>>>>>> [<80319094>] (vfio_set_trigger.isra.5) from [<80319208>]
>>>>>> (vfio_platform_set_irq_trigger+0xb0/0x144)
>>>>>> [<80319208>] (vfio_platform_set_irq_trigger) from [<80319690>]
>>>>>> (vfio_platform_set_irqs_ioctl+0x44/0x58)
>>>>>> [<80319690>] (vfio_platform_set_irqs_ioctl) from [<8031886c>]
>>>>>> (vfio_platform_ioctl+0x2e0/0x314)
>>>>>> [<8031886c>] (vfio_platform_ioctl) from [<803155d0>]
>>>>>> (vfio_device_fops_unl_ioctl+0x20/0x2c)
>>>>>> [<803155d0>] (vfio_device_fops_unl_ioctl) from [<800ef430>]
>>>>>> (do_vfs_ioctl+0x78/0x5b8)
>>>>>> [<800ef430>] (do_vfs_ioctl) from [<800ef9ac>] (SyS_ioctl+0x3c/0x5c)
>>>>>> [<800ef9ac>] (SyS_ioctl) from [<8001c2e0>]
>>>>>> (ret_fast_syscall+0x0/0x30)
>>>>>> Code: 15913038 e1a01003 e8bd45f0 eaff28e5 (e7f001f2)
>>>>>>
>>>>>> I'm using branch vfio-platform-v4 for kernel and pl330-vfio-dev for qemu.
>>>>>> Following is qemu cmdline:
>>>>>> 	./qemu-system-arm -enable-kvm -M vexpress-a15 -cpu cortex-a15 \
>>>>>>        	-chardev pty,id=pty0,mux=on -monitor chardev:pty0 \
>>>>>>        	-serial chardev:pty0 -daemonize \
>>>>>>        	-device
>>>>>> pl330,vfio_group="/dev/vfio/0",vfio_device="2c0a0000.dma",vfio_contai
>>>>>> ner="/dev/v
>>>>>> fio/vfio" \
>>>>>>        	-append "earlyprintk ip=dhcp console=ttyAMA0 rootwait" \
>>>>>>        	-kernel zImage -dtb guest-a15.dtb -initrd filesystem.cpio.gz
>>>>>> - nographic
>>>>>>
>>>>>> If I change to branch vfio-platform-v6 for kernel, there is "/dev/vfio/vfio".
>>>>>> But no "/sys/bus/platform/drivers/vfio-platform/vfio_bind".
>>>>>
>>>>> Can you Check if you have driver_override at
>>>> "/sys/bus/platform/devices/DEVICE-XXX/ ?
>>>>> If yes then you should use driver_override mechanism to bind that device to
>>>> vfio-platform driver.
>>>>>
>>>>> Thanks
>>>>> -Bharat
>>>>>
>>>>>> And if I use above qemu cmdline to start guest, there is also an error :
>>>>>> 	PL330_VFIO: Group is not viable (not all devices bound for vfio)
>>>>>> 	qemu-system-arm: Error while probing real device.
>>>>>>
>>>>>> 	qemu-system-arm: Initialization of device pl330 failed
>>>>>>
>>>>>> The usage about v4 and v6 has changed ?
>>>>>> And would you tell me when you will update the guideline about vfio-on-arm?
>>>>>>
>>>>>> Thanks,
>>>>>> Shannon
>>>>>> On 2014/6/20 16:37, Alvise Rigo wrote:
>>>>>>> Linaro has a great set of pre-built images here http://releases.linaro.org/.
>>>>>>>
>>>>>>> For example these should work fine:
>>>>>>> http://releases.linaro.org/13.12/ubuntu/saucy-images
>>>>>>>
>>>>>>> alvise
>>>>>>>
>>>>>>> Il 20/06/2014 10:23, Shannon Zhao ha scritto:
>>>>>>>> Hi Alvise,
>>>>>>>>
>>>>>>>> I'm so sorry that I can't use qemu-debootstrap because my
>>>>>>>> environment can't
>>>>>> access some links using proxy.
>>>>>>>> Are there other ways to get a proper fs?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Shannon
>>>>>>>>
>>>>>>>> On 2014/6/20 15:15, Alvise Rigo wrote:
>>>>>>>>> Hi Shannon,
>>>>>>>>>
>>>>>>>>> If you follow the steps in the section "Creating the File System"
>>>>>>>>> of the guide you should be able to obtain a working fs.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> alvise
>>>>>>>>>
>>>>>>>>> Il 20/06/2014 04:57, Shannon Zhao ha scritto:
>>>>>>>>>> Hi Bharat,
>>>>>>>>>>
>>>>>>>>>> Thanks for your advice .
>>>>>>>>>>
>>>>>>>>>> I'm using the rootfs getting from the url
>>>>>> "http://www.virtualopensystems.com/downloads/guides/kvm_on_arm/fs-ali
>>>>>> p-
>>>>>> armel.cramfs".
>>>>>>>>>>
>>>>>>>>>> Can you give me another link to get a newer rootfs?
>>>>>>>>>>
>>>>>>>>>> Thank you
>>>>>>>>>> Shannon
>>>>>>>>>>
>>>>>>>>>> On 2014/6/19 20:20, Bharat.Bhushan@xxxxxxxxxxxxx wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Shannon Zhao [mailto:zhaoshenglong@xxxxxxxxxx]
>>>>>>>>>>>> Sent: Thursday, June 19, 2014 5:47 PM
>>>>>>>>>>>> To: Bhushan Bharat-R65777; Alvise Rigo;
>>>>>>>>>>>> a.motakis@xxxxxxxxxxxxxxxxxxxxxx;
>>>>>>>>>>>> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>> Subject: Re: Vfio-on-arm: the device tree does not contain the
>>>>>>>>>>>> DMA device
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 2014/6/19 20:12, Bharat.Bhushan@xxxxxxxxxxxxx wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>> From: Shannon Zhao [mailto:zhaoshenglong@xxxxxxxxxx]
>>>>>>>>>>>>>> Sent: Thursday, June 19, 2014 5:38 PM
>>>>>>>>>>>>>> To: Alvise Rigo; Bhushan Bharat-R65777;
>>>>>>>>>>>>>> a.motakis@xxxxxxxxxxxxxxxxxxxxxx;
>>>>>>>>>>>>>> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx;
>>>>>>>>>>>>>> kvmarm@xxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>> Subject: Re: Vfio-on-arm: the device tree does not contain
>>>>>>>>>>>>>> the DMA device
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Alvise,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I run following cmds :
>>>>>>>>>>>>>> 	echo 2c0a0000.dma >
>>>>>>>>>>>>>> /sys/bus/platform/drivers/vfio-platform/vfio_bind
>>>>>>>>>>>>>
>>>>>>>>>>>>> run "ls /dev/vfio/" before and after the above command
>>>>>>>>>>>> Hi Bharat,
>>>>>>>>>>>>
>>>>>>>>>>>> Nothing appeared either before or after the cmd "echo
>>>>>>>>>>>> 2c0a0000.dma > /sys/bus/platform/drivers/vfio-platform/vfio_bind".
>>>>>>>>>>>> There is only /dev/vfio.
>>>>>>>>>>>
>>>>>>>>>>> I am not sure, but may be you are using pretty old rootfs with
>>>>>>>>>>> broken udev
>>>>>> rules. Try to fetch a newer rootfs form somewhere.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -Bharat
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -Bharat
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> 	./qemu-system-arm -enable-kvm -M vexpress-a15 -cpu cortex-a15 \
>>>>>>>>>>>>>>         	-device
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>> pl330,vfio_group="/dev/vfio/0",vfio_device="2c0a0000.dma",vfio_contai
>>>>>> ner="/dev/v
>>>>>>>>>>>>>> fio/vfio" \
>>>>>>>>>>>>>>         	-append "earlyprintk ip=dhcp console=ttyAMA0 rootwait" \
>>>>>>>>>>>>>>         	-kernel zImage -dtb guest-a15.dtb -initrd
>>>>>>>>>>>>>> filesystem.cpio.gz
>>>>>> -
>>>>>>>>>>>>>> nographic But the error still exists.
>>>>>>>>>>>>>> 	qemu-system-arm: -device
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>> pl330,vfio_group=/dev/vfio/0,vfio_device=2c0a0000.dma,vfio_container=
>>>>>> /dev/vfio/v
>>>>>>>>>>>>>> fio: Parameter 'driver' expects pluggable device type
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Shannon
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 2014/6/19 19:26, Alvise Rigo wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Il 19/06/2014 13:11, Shannon Zhao ha scritto:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 2014/6/19 18:47, Alvise Rigo wrote:
>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Il 19/06/2014 11:38, Shannon Zhao ha scritto:
>>>>>>>>>>>>>>>>>> Hi Bharat,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 2014/6/19 17:19, Bharat.Bhushan@xxxxxxxxxxxxx wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>>>>>>>>> From: kvmarm-bounces@xxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>>>>>>>> [mailto:kvmarm- bounces@xxxxxxxxxxxxxxxxxxxxx] On
>>>>>>>>>>>>>>>>>>>> Behalf Of Shannon Zhao
>>>>>>>>>>>>>>>>>>>> Sent: Thursday, June 19, 2014 2:45 PM
>>>>>>>>>>>>>>>>>>>> To: Alvise Rigo; a.motakis@xxxxxxxxxxxxxxxxxxxxxx;
>>>>>>>>>>>>>>>>>>>> iommu@lists.linux- foundation.org;
>>>>>>>>>>>>>>>>>>>> kvmarm@xxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>>>>>>>> Subject: Re: Vfio-on-arm: the device tree does not
>>>>>>>>>>>>>>>>>>>> contain the DMA device
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Alvise,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks for your reply.
>>>>>>>>>>>>>>>>>>>> I have apply the patch and could see the DMA devices.
>>>>>>>>>>>>>>>>>>>> But there is no vosys_dmatest int the directory
>>>>>>>>>>>>>>>>>>>> "/sys/kernel/debug/" after mounting debugfs.
>>>>>>>>>>>>>>>>>>>> I found that the branch vfio-platform-v4 doesn't
>>>>>>>>>>>>>>>>>>>> contain the module vosys_dmatest.
>>>>>>>>>>>>>>>>>>>> Then I port it from the branch pl330_dmatest and run
>>>>>> vosys_dmatest
>>>>>>>>>>>>>> successfully.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> 	echo 1 > /sys/kernel/debug/vosys_dmatest/start
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> 	[ 6145.343419] dmaengine: __dma_request_channel:
>>>>>>>>>>>>>>>>>>>> success
>>>>>>>>>>>>>> (dma0chan0)
>>>>>>>>>>>>>>>>>>>> 	[ 6145.344000] vosys dmatest: callback: transfer completed
>>>>>>>>>>>>>>>>>>>> 	[ 6145.344147] vosys dmatest: tx completed
>>>>>>>>>>>>>>>>>>>> 	[ 6145.344589] vosys dmatest: source and destination match.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Download the qemu and use following command to start a guest:
>>>>>>>>>>>>>>>>>>>> 	./qemu-system-arm -enable-kvm -M vexpress-a15 -cpu
>>>>>>>>>>>>>>>>>>>> cortex-
>>>>>> a15 \
>>>>>>>>>>>>>>>>>>>>         	-device
>>>>>>>>>>>>>> pl330,vfio_group="/dev/vfio/0",vfio_device="2c0a0000.dma",\
>>>>>>>>>>>>>>>>>>>>         	vfio_container="/dev/vfio/vfio" \
>>>>>>>>>>>>>>>>>>>>         	-append "earlyprintk ip=dhcp console=ttyAMA0 rootwait"
>>>>>> \
>>>>>>>>>>>>>>>>>>>>         	-kernel zImage -dtb guest.dtb -initrd
>>>>>> filesystem.cpio.gz
>>>>>>>>>>>>>>>>>>>> - nographic An error reported:
>>>>>>>>>>>>>>>>>>>> 	qemu-system-arm: -device
>>>>>>>>>>>>>>>>>>>> pl330,vfio_group=/dev/vfio/0,vfio_device=2c0a0000.dma,:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Why do we need to give "vfio_group=/dev/vfio/0" ?
>>>>>>>>>>>>>>>>>> I refer to the url
>>>>>>>>>>>>>> "http://www.virtualopensystems.com/en/solutions/guides/vfio-on-arm/";.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> 	could not open disk image vfio_container=/dev/vfio:
>>>>>>>>>>>>>>>>>>>> 	Could not open 'vfio_container=/dev/vfio': No such
>>>>>>>>>>>>>>>>>>>> file or directory
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Are you unbinding "2c0a0000.dma" from its driver and
>>>>>>>>>>>>>>>>>>> binding with
>>>>>> "vfio-
>>>>>>>>>>>>>> playform" driver ?
>>>>>>>>>>>>>>>>>> How to unbind "2c0a0000.dma" from its driver?
>>>>>>>>>>>>>>>>>> I have tried following cmd to bind "2c0a0000.dma" with
>>>>>>>>>>>>>>>>>> "vfio-
>>>>>> playform"
>>>>>>>>>>>>>> driver.
>>>>>>>>>>>>>>>>>> 	echo 2c0a0000.dma >
>>>>>>>>>>>>>>>>>> /sys/bus/platform/drivers/vfio-platform/vfio_bind
>>>>>>>>>>>>>>>>>> But there is no /dev/vfio/0 or /dev/vfio/vfio .
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Can you please verify that while configuring the host you enabled:
>>>>>>>>>>>>>>>>> - Device Drivers -> IOMMU Hardware Support -> ARM Ltd.
>>>>>>>>>>>>>>>>> System MMU
>>>>>>>>>>>>>>>>> (SMMU) Support and
>>>>>>>>>>>>>>>>> - Device Drivers -> VFIO Non-Privileged userspace driver
>>>>>>>>>>>>>>>>> framework
>>>>>>>>>>>>>>>>> -> VFIO support for platform devices
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Alvise,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have checked the two configuration are enabled.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Then try the following cmd, but another error reported:
>>>>>>>>>>>>>>>> 	qemu-system-arm: -device
>>>>>>>>>>>>>>>> pl330,vfio_group=/dev/vfio/0,vfio_device=2c0a0000.dma,vfio_
>>>>>>>>>>>>>>>> container=
>>>>>>>>>>>>>>>> /dev/vfio/vfio: Parameter 'driver' expects pluggable device
>>>>>>>>>>>>>>>> type
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Do I need to unbind the "2c0a0000.dma" from its driver and
>>>>>>>>>>>>>>>> binding
>>>>>> with
>>>>>>>>>>>>>> "vfio-platform" driver as Bharat mentioned ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Yes, the 2c0a0000.dma should not be bound to any driver at
>>>>>>>>>>>>>>> boot, so you just need to:
>>>>>>>>>>>>>>> echo 2c0a0000.dma >
>>>>>>>>>>>>>>> /sys/bus/platform/drivers/vfio-platform/vfio_bind
>>>>>>>>>>>>>>> to bind the device to the VFIO driver.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> alvise
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Then try to update the pl330-vfio-dev branch and run QEMU
>>>>>>>>>>>>>>>>> with the
>>>>>>>>>>>> following
>>>>>>>>>>>>>> command:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ./qemu-system-arm -enable-kvm -M vexpress-a15 -cpu cortex-a15 \
>>>>>>>>>>>>>>>>>     -device
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>> pl330,vfio_group="/dev/vfio/0",vfio_device="2c0a0000.dma",vfio_contai
>>>>>> ner="/dev/v
>>>>>>>>>>>>>> fio/vfio" \
>>>>>>>>>>>>>>>>>     -append "earlyprintk ip=dhcp console=ttyAMA0 rootwait" \
>>>>>>>>>>>>>>>>>     -kernel zImage -dtb guest.dtb -initrd
>>>>>>>>>>>>>>>>> filesystem.cpio.gz
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> that means without breaking the "-device pl330" options.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> alvise
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>> -Bharat
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Is there something I'm wrong or do I miss some steps?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>>>> Shannon
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 2014/6/18 21:24, Alvise Rigo wrote:
>>>>>>>>>>>>>>>>>>>>> Hi Shannon,
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thank you for reporting this issue, the device tree
>>>>>>>>>>>>>>>>>>>>> file was
>>>>>> indeed
>>>>>>>>>>>>>> missing.
>>>>>>>>>>>>>>>>>>>>> To solve the problem, you can apply the following
>>>>>>>>>>>>>>>>>>>>> patch to the repository you mentioned
>>>>>>>>>>>>>>>>>>>>> (git://github.com/virtualopensystems/arm-dts.git).
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> For your information, soon we will update the guide
>>>>>>>>>>>>>>>>>>>>> with a newer version of VFIO with this issue fixed.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>>>>> alvise
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>>>>>>>>  fast_models/rtsm_ve-cortex_a15x4_a7x4.dts | 100
>>>>>>>>>>>>>>>>>>>>> +++++++++++++++++++++++++++++-
>>>>>>>>>>>>>>>>>>>>>  1 file changed, 97 insertions(+), 3 deletions(-)
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> diff --git a/fast_models/rtsm_ve-cortex_a15x4_a7x4.dts
>>>>>>>>>>>>>>>>>>>>> b/fast_models/rtsm_ve-cortex_a15x4_a7x4.dts
>>>>>>>>>>>>>>>>>>>>> index ef1275b..79c6af2 100644
>>>>>>>>>>>>>>>>>>>>> --- a/fast_models/rtsm_ve-cortex_a15x4_a7x4.dts
>>>>>>>>>>>>>>>>>>>>> +++ b/fast_models/rtsm_ve-cortex_a15x4_a7x4.dts
>>>>>>>>>>>>>>>>>>>>> @@ -142,7 +142,7 @@
>>>>>>>>>>>>>>>>>>>>>  		cpu7: cpu@7 {
>>>>>>>>>>>>>>>>>>>>>  			device_type = "cpu";
>>>>>>>>>>>>>>>>>>>>>  			compatible = "arm,cortex-a7";
>>>>>>>>>>>>>>>>>>>>> -			reg = <0x104>;
>>>>>>>>>>>>>>>>>>>>> +			reg = <0x103>;
>>>>>>>>>>>>>>>>>>>>>  			cluster = <&cluster1>;
>>>>>>>>>>>>>>>>>>>>>  			core = <&core7>;
>>>>>>>>>>>>>>>>>>>>>  		};
>>>>>>>>>>>>>>>>>>>>> @@ -159,7 +159,7 @@
>>>>>>>>>>>>>>>>>>>>>  		#address-cells = <0>;
>>>>>>>>>>>>>>>>>>>>>  		interrupt-controller;
>>>>>>>>>>>>>>>>>>>>>  		reg = <0 0x2c001000 0 0x1000>,
>>>>>>>>>>>>>>>>>>>>> -		      <0 0x2c002000 0 0x2000>,
>>>>>>>>>>>>>>>>>>>>> +		      <0 0x2c002000 0 0x1000>,
>>>>>>>>>>>>>>>>>>>>>  		      <0 0x2c004000 0 0x2000>,
>>>>>>>>>>>>>>>>>>>>>  		      <0 0x2c006000 0 0x2000>;
>>>>>>>>>>>>>>>>>>>>>  		interrupts = <1 9 0xf04>; @@ -183,6 +183,101 @@
>>>>>>>>>>>>>>>>>>>>>  			     <1 10 0xf08>;
>>>>>>>>>>>>>>>>>>>>>  	};
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> +	smmu@2c0b0000 {
>>>>>>>>>>>>>>>>>>>>> +                compatible = "arm,smmu-v2";
>>>>>>>>>>>>>>>>>>>>> +                reg = <0x0 0x2c0b0000 0x0 0x10000>;
>>>>>>>>>>>>>>>>>>>>> +                #global-interrupts = <2>;
>>>>>>>>>>>>>>>>>>>>> +                interrupts = <0 58 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 59 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>,
>>>>>>>>>>>>>>>>>>>>> +                             <0 60 4>;
>>>>>>>>>>>>>>>>>>>>> +                mmu-masters = <&dma0 0x0 0x8>,
>>>>>>>>>>>>>>>>>>>>> +                              <&dma1 0x1 0x9>,
>>>>>>>>>>>>>>>>>>>>> +                              <&dma2 0x2 0xa>,
>>>>>>>>>>>>>>>>>>>>> +                              <&dma3 0x3 0xb>;
>>>>>>>>>>>>>>>>>>>>> +        };
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>> +	dma0: dma@2c0a0000 {
>>>>>>>>>>>>>>>>>>>>> +		compatible = "arm,pl330";
>>>>>>>>>>>>>>>>>>>>> +		reg = <0 0x2c0a0000 0 0x1000>;
>>>>>>>>>>>>>>>>>>>>> +		interrupts = <0 64 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 65 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 66 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 67 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 68 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 69 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 70 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 71 4>;
>>>>>>>>>>>>>>>>>>>>> +		#dma-cells = <1>;
>>>>>>>>>>>>>>>>>>>>> +		#stream-id-cells = <2>;
>>>>>>>>>>>>>>>>>>>>> +		clocks = <&oscclk6a>;
>>>>>>>>>>>>>>>>>>>>> +		clock-names = "apb_pclk";
>>>>>>>>>>>>>>>>>>>>> +	};
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>> +	dma1: dma@2c0a1000 {
>>>>>>>>>>>>>>>>>>>>> +		compatible = "arm,pl330", "arm,primecell";
>>>>>>>>>>>>>>>>>>>>> +		reg = <0 0x2c0a1000 0 0x1000>;
>>>>>>>>>>>>>>>>>>>>> +		interrupts = <0 96 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 97 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 98 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 99 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 100 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 101 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 102 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 103 4>;
>>>>>>>>>>>>>>>>>>>>> +		#dma-cells = <1>;
>>>>>>>>>>>>>>>>>>>>> +		#stream-id-cells = <2>;
>>>>>>>>>>>>>>>>>>>>> +		clocks = <&oscclk6a>;
>>>>>>>>>>>>>>>>>>>>> +		clock-names = "apb_pclk";
>>>>>>>>>>>>>>>>>>>>> +	};
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>> +	dma2: dma@2c0a2000 {
>>>>>>>>>>>>>>>>>>>>> +		compatible = "arm,pl330", "arm,primecell";
>>>>>>>>>>>>>>>>>>>>> +		reg = <0 0x2c0a2000 0 0x1000>;
>>>>>>>>>>>>>>>>>>>>> +		interrupts = <0 128 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 129 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 130 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 131 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 132 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 133 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 134 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 135 4>;
>>>>>>>>>>>>>>>>>>>>> +		#dma-cells = <1>;
>>>>>>>>>>>>>>>>>>>>> +		#stream-id-cells = <2>;
>>>>>>>>>>>>>>>>>>>>> +		clocks = <&oscclk6a>;
>>>>>>>>>>>>>>>>>>>>> +		clock-names = "apb_pclk";
>>>>>>>>>>>>>>>>>>>>> +	};
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>> +	dma3: dma@2c0a3000 {
>>>>>>>>>>>>>>>>>>>>> +		compatible = "arm,pl330", "arm,primecell";
>>>>>>>>>>>>>>>>>>>>> +		reg = <0 0x2c0a3000 0 0x1000>;
>>>>>>>>>>>>>>>>>>>>> +		interrupts = <0 160 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 161 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 162 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 163 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 164 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 165 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 166 4>,
>>>>>>>>>>>>>>>>>>>>> +			     <0 167 4>;
>>>>>>>>>>>>>>>>>>>>> +		#dma-cells = <1>;
>>>>>>>>>>>>>>>>>>>>> +		#stream-id-cells = <2>;
>>>>>>>>>>>>>>>>>>>>> +		clocks = <&oscclk6a>;
>>>>>>>>>>>>>>>>>>>>> +		clock-names = "apb_pclk";
>>>>>>>>>>>>>>>>>>>>> +	};
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>> +	oscclk6a: oscclk6a {
>>>>>>>>>>>>>>>>>>>>> +		/* Reference 24MHz clock */
>>>>>>>>>>>>>>>>>>>>> +		compatible = "fixed-clock";
>>>>>>>>>>>>>>>>>>>>> +		#clock-cells = <0>;
>>>>>>>>>>>>>>>>>>>>> +		clock-frequency = <24000000>;
>>>>>>>>>>>>>>>>>>>>> +		clock-output-names = "oscclk6a";
>>>>>>>>>>>>>>>>>>>>> +	};
>>>>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>>>>  	smb {
>>>>>>>>>>>>>>>>>>>>>  		compatible = "simple-bus";
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> @@ -244,4 +339,3 @@
>>>>>>>>>>>>>>>>>>>>>  		/include/ "rtsm_ve-motherboard.dtsi"
>>>>>>>>>>>>>>>>>>>>>  	};
>>>>>>>>>>>>>>>>>>>>>  };
>>>>>>>>>>>>>>>>>>>>> -
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> Shannon
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>>>>> kvmarm mailing list
>>>>>>>>>>>>>>>>>>>> kvmarm@xxxxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>>>>>>>>>> https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Shannon
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> .
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Shannon
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Shannon
>>>>>
>>>>
>>>> --
>>>> Shannon
>>>
>>
> 
> .
> 

-- 
Shannon

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux