From: Paolo Bonzini <pbonzini@redhat.com>
To: Deniz Eren <deniz.eren@icloud.com>, Pavel Pisa <pisa@cmp.felk.cvut.cz>
Cc: "Marek Vasut" <marex@denx.de>,
"Oliver Hartkopp" <socketcan@hartkopp.net>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
qemu-devel@nongnu.org, "Oleksij Rempel" <o.rempel@pengutronix.de>,
"Konrad Frederic" <frederic.konrad@adacore.com>,
"Jan Kiszka" <jan.kiszka@siemens.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [Qemu-devel] [PATCH V4 0/7] CAN bus support for QEMU (SJA1000 PCI so far)
Date: Tue, 30 Jan 2018 20:10:13 -0500 [thread overview]
Message-ID: <86d65bae-506b-b17c-faa3-4b44085879f7@redhat.com> (raw)
In-Reply-To: <099f6d2c-ab19-f590-7b58-f5f2058c8c6b@redhat.com>
On 30/01/2018 20:08, Paolo Bonzini wrote:
> On 30/01/2018 19:13, Deniz Eren wrote:
>> 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 &
>
> Yep, it's now like this:
>
> ./qemu-local/bin/qemu-system-i386 \
> -hda sdd2gb-uno1483-16.04-2.0-dev.img -boot d -k en-us \
> -object can-bus,id=canbus0 \
> -object can-bus,id=canbus1 \
> -object can-host-socketcan,id=canhost0,canbus=canbus0,ifname=vcan0 \
> -object can-host-socketcan,id=canhost1,canbus=canbus1,ifname=vcan1 \
> -device mioe3680_pci,canbus0=canbus0,canbus1=canbus1 \
> -m size=2048 -netdev user,id=user.0 -device e1000,netdev=user.0 \
> -redir tcp:5022::22 -enable-kvm
Sorry, all "ifname" are "if".
Paolo
> Thanks,
>
> Paolo
>
>>
>>
>>
>> Best regards,
>> Deniz
>>
>> Sent from my iPhone
>>
>> Deniz Eren
>> +61 400 307 762
>>
>>> On 31 Jan 2018, at 9:12 am, Pavel Pisa <pisa@cmp.felk.cvut.cz> 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
>
next prev parent reply other threads:[~2018-01-31 1:29 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-14 20:14 [Qemu-devel] [PATCH V4 0/7] CAN bus support for QEMU (SJA1000 PCI so far) pisa
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 1/7] CAN bus simple messages transport implementation for QEMU pisa
2018-01-19 12:38 ` Philippe Mathieu-Daudé
2018-01-19 13:28 ` Pavel Pisa
2018-01-19 17:04 ` Pavel Pisa
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 2/7] CAN bus support to connect bust to Linux host SocketCAN interface pisa
2018-01-15 2:55 ` Philippe Mathieu-Daudé
2018-01-15 21:29 ` Pavel Pisa
2018-01-16 0:12 ` Philippe Mathieu-Daudé
2018-01-19 8:51 ` Pavel Pisa
2018-01-19 13:37 ` Philippe Mathieu-Daudé
2018-01-22 10:28 ` Stefan Hajnoczi
2018-01-19 13:37 ` Daniel P. Berrange
2018-01-19 12:57 ` Philippe Mathieu-Daudé
2018-01-19 13:01 ` Philippe Mathieu-Daudé
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 3/7] CAN bus SJA1000 chip register level emulation for QEMU pisa
2018-01-15 3:03 ` Philippe Mathieu-Daudé
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 4/7] CAN bus Kvaser PCI CAN-S (single SJA1000 channel) emulation added pisa
2018-01-15 3:09 ` Philippe Mathieu-Daudé
2018-03-06 15:29 ` Thomas Huth
2018-03-06 20:52 ` Pavel Pisa
2018-03-07 11:40 ` Paolo Bonzini
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 5/7] QEMU CAN bus emulation documentation pisa
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 6/7] CAN bus PCM-3680I PCI (dual SJA1000 channel) emulation added pisa
2018-01-15 3:12 ` Philippe Mathieu-Daudé
2018-01-19 13:15 ` Philippe Mathieu-Daudé
2018-01-14 20:14 ` [Qemu-devel] [PATCH V4 7/7] CAN bus MIOe-3680 " pisa
2018-01-19 13:13 ` Philippe Mathieu-Daudé
2018-01-22 11:35 ` [Qemu-devel] [PATCH V4 0/7] CAN bus support for QEMU (SJA1000 PCI so far) Philippe Mathieu-Daudé
2018-01-23 21:42 ` Pavel Pisa
2018-01-24 20:22 ` Pavel Pisa
2018-01-24 21:41 ` Philippe Mathieu-Daudé
2018-01-25 8:24 ` Pavel Pisa
2018-01-25 13:50 ` Deniz Eren
2018-01-25 13:58 ` Paolo Bonzini
2018-01-25 21:33 ` Pavel Pisa
2018-01-26 11:12 ` Paolo Bonzini
2018-01-28 9:02 ` Pavel Pisa
2018-01-29 7:43 ` Oleksij Rempel
2018-01-30 14:15 ` Paolo Bonzini
2018-01-30 22:12 ` Pavel Pisa
2018-01-31 0:13 ` Deniz Eren
2018-01-31 1:08 ` Paolo Bonzini
2018-01-31 1:10 ` Paolo Bonzini [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-01-31 4:07 Deniz Eren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86d65bae-506b-b17c-faa3-4b44085879f7@redhat.com \
--to=pbonzini@redhat.com \
--cc=deniz.eren@icloud.com \
--cc=f4bug@amsat.org \
--cc=frederic.konrad@adacore.com \
--cc=jan.kiszka@siemens.com \
--cc=marcandre.lureau@redhat.com \
--cc=marex@denx.de \
--cc=o.rempel@pengutronix.de \
--cc=pisa@cmp.felk.cvut.cz \
--cc=qemu-devel@nongnu.org \
--cc=socketcan@hartkopp.net \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).