qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V4 0/7] CAN bus support for QEMU (SJA1000 PCI so


From: Deniz Eren
Subject: Re: [Qemu-devel] [PATCH V4 0/7] CAN bus support for QEMU (SJA1000 PCI so far)
Date: Wed, 31 Jan 2018 11:13:49 +1100

Hi Pavel, Paolo,

I tried to rerun my environment to test however it seems the interface has 
changed a little and my standard program options cause complaints. 
Unfortunately I don’t have too much time to dig through at the moment.

My standard startup command is:

$ ./qemu-local/bin/qemu-system-i386 -hda sdd2gb-uno1483-16.04-2.0-dev.img -boot 
d -k en-us -device 
mioe3680_pci,canbus1=canbus0,host1=vcan0,canbus2=canbus1,host2=vcan1 -m 
size=2048 -netdev user,id=user.0 -device e1000,netdev=user.0 -redir 
tcp:5022::22 -enable-kvm &



Best regards,
Deniz

Sent from my iPhone

Deniz Eren
+61 400 307 762

> On 31 Jan 2018, at 9:12 am, Pavel Pisa <address@hidden> wrote:
> 
> Hello Paolo,
> 
> thanks much for conversion to acceptable QOM model.
> 
>> On Tuesday 30 of January 2018 15:15:22 Paolo Bonzini wrote:
>>> On 25/01/2018 22:33, Pavel Pisa wrote:
>>> Hello Paolo,
>>> 
>>> thanks for suggestions. I understand and fully agree with your
>>> request to switch to QOM. I have succeed with that for CAN devices
>>> some time ago. It worth to be done for the rest of the objects
>>> but I fear that I do not find time to complete QOMification
>>> in reasonable future. Contributions/suggestions from other
>>> are welcomed. I can look for students for GSoC at our university
>>> or under other funding.
>> 
>> Please take a look at branch can-pci-qom of github.com/bonzini/qemu.git.
>> Apart from QOMification of the backend include, I simplified the IRQ
>> handling in can_kvaser_pci (fixing bugs too I think), and removed an
>> unnecessary mutex.  I also moved the files to net/can and hw/net/can so
>> that in the future Jason (networking maintainer) can take care of pull
>> requests.
>> 
>> I might have broken something, and the top commit in particular is
>> completely untested.
> 
> I have run basic test with Linux kernel on both sides
> for one kavser_pci card on guest side and vcan (no real interface)
> on host side.
> 
> Mesages exchange tests passed and looks OK.
> 
> I have used next parameters
> 
>      -object can-bus,id=canbus0 \
>      -device kvaser_pci,canbus=canbus0 \
>      -object can-host-socketcan,if=can0,canbus=canbus0,id=canbus0-socketcan
> 
> The id parameter is required for "can-host-socketcan" object.
> Else next error is printed
> 
>  qemu-system-x86_64: -object can-host-socketcan,if=can0,canbus=canbus0: 
> Parameter 'id' is missing
> 
> If "-object can-bus,id=canbus0" is missing then next error is reported
> 
>  qemu-system-x86_64: -object 
> can-host-socketcan,if=can0,canbus=canbus0,id=canbus0-socketcan: Device 
> 'canbus0' not found
> 
> I have inspected through monitor the state of objects
> 
>  (qemu) qom-list /objects
>  canbus0-socketcan (child<can-host-socketcan>)
>  type (string)
>  canbus0 (child<can-bus>)
> 
>  (qemu) info qom-tree
>  /machine (pc-i440fx-2.12-machine)
>    ...
>    /peripheral-anon (container)
>      /device[1] (kvaser_pci)
>        /bus master[0] (qemu:memory-region)
>        /kvaser_pci-xilinx[0] (qemu:memory-region)
>        /kvaser_pci-s5920[0] (qemu:memory-region)
>        /kvaser_pci-sja[0] (qemu:memory-region)
>        /bus master container[0] (qemu:memory-region)
>    ...
> 
> 
>  (qemu) qom-list /objects
>  canbus0-socketcan (child<can-host-socketcan>)
>  type (string)
>  canbus0 (child<can-bus>)
> 
>  (qemu) qom-list /machine/peripheral-anon/device[1]
>  bus master container[0] (child<qemu:memory-region>)
>  canbus (link<can-bus>)
>  rombar (uint32)
>  hotpluggable (bool)
>  x-pcie-lnksta-dllla (bool)
>  kvaser_pci-sja[0] (child<qemu:memory-region>)
>  multifunction (bool)
>  hotplugged (bool)
>  parent_bus (link<bus>)
>  romfile (str)
>  kvaser_pci-s5920[0] (child<qemu:memory-region>)
>  x-pcie-extcap-init (bool)
>  command_serr_enable (bool)
>  addr (int32)
>  type (string)
>  legacy-addr (str)
>  kvaser_pci-xilinx[0] (child<qemu:memory-region>)
>  realized (bool)
>  bus master[0] (child<qemu:memory-region>)
> 
> From the user point of view, it would be nice if "can-bus"
> can be populated when required automatically.
> 
> I am not sure, but may it be that it would worth to
> push can-bus objects under some category/specific
> container. The path /objects is quite wide.
> Into something like /object/can-bus or /net/can.
> 
> But generally thanks much, the progress you have made
> in one day is really great. I hope that others check
> your branch. I have pushed your unmodified version into
> "can-pci-qom" branch of my repo
> 
>  https://gitlab.fel.cvut.cz/canbus/qemu-canbus/tree/can-pci-qom
> 
> It would be great if others can check that everything
> works in their setup. I think that then it can be pushed
> into mainline and some usability improvements can be
> done/experiment with later.
> 
> Thanks much,
> 
> 
>                Pavel Pisa



reply via email to

[Prev in Thread] Current Thread [Next in Thread]