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]

 



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
>>
> 
_______________________________________________
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