All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] virtio-gpu doesn't build if you do a linux-headers update from kvm/next
Date: Thu, 5 Nov 2015 18:05:14 +0100	[thread overview]
Message-ID: <563B8C4A.70307@redhat.com> (raw)
In-Reply-To: <8737wk1m0p.fsf@linaro.org>

On 11/05/15 16:52, Alex Bennée wrote:
> 
> Laszlo Ersek <lersek@redhat.com> writes:
> 
>> On 11/05/15 13:32, Peter Maydell wrote:
>>> On 5 November 2015 at 12:13, Gerd Hoffmann <kraxel@redhat.com> wrote:
>>>>> etc, because all the virtio_gpu definitions disappear from
>>>>> include/standard-headers/linux/virtio_gpu.h.
>>>>
>>>> Updates not yet in mainline, they are sitting in drm-next and should
>>>> land during the merge window (i.e. 4.4-rc1 should have them).
>>>>
>>>> I'd suggest to exclude virtio_gpu.h changes when updating linux headers
>>>> for the time being.
>>>
>>> I would strongly prefer it if we could get to a point where
>>> we can say "kernel headers must only be updated from this tree"
>>> and be guaranteed that it always works. This used to be true
>>> with the tree in question being kvm/next, but it doesn't seem
>>> to be so now. If it's going to be common that we have header
>>> changes that don't go via kvm/next, maybe we need to coordinate
>>> a tree that merges together the abi-guaranteed-stable changes
>>> from different places before they hit mainline?
>>
>> I've always frowned upon importing headers from one project to another
>> project. First, they can have different coding styles. (Case in point.)
>> Second, not everything that needs to be defined for the original project
>> is useful to the receiving project, and I find such cruft in the
>> receiving project very annoying. Third, in some cases it might even
>> raise licensing questions.
>>
>> If it is an ABI, it should be specified in text format somewhere, and
>> then the projects can have their independent type definitions, macros
>> etc that implement the spec.
> 
> Surely the kernel uapi includes is that textual format. Once stuff is
> accepted into the master kernel tree there is your stable API.

What is uapi for? If it is for QEMU (the userspace process) to consume
the host kernel's services, then I agree.

If uapi is for the guest kernel to consume (= drive) QEMU's virtual
hardware, then I strongly disagree. In that case Linux is just one of
the possible guests that can drive that hardware.

(Side point: and QEMU is just one of the emulators / hypervisors that
can provide that hardware. Which is why the actual hardware description
should exist independently of both.)

I'll elaborate elsewhere in the thread.

Thanks
Laszlo

> FWIW the few bits I've done that involve syncing headers I basically
> carry a [DEV] patch in my QEMU tree until the feature is finally merged
> in the kernel and then I do my final re-base against the official tree
> state.

  reply	other threads:[~2015-11-05 17:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05 11:42 [Qemu-devel] virtio-gpu doesn't build if you do a linux-headers update from kvm/next Peter Maydell
2015-11-05 11:49 ` Paolo Bonzini
2015-11-05 12:13 ` Gerd Hoffmann
2015-11-05 12:32   ` Peter Maydell
2015-11-05 13:23     ` Christian Borntraeger
2015-11-05 13:44       ` Peter Maydell
2015-11-05 13:46         ` Christian Borntraeger
2015-11-05 14:01         ` Paolo Bonzini
2015-11-05 14:30           ` Peter Maydell
2015-11-05 14:52             ` Peter Maydell
2015-11-05 15:03               ` Paolo Bonzini
2015-11-05 14:58             ` Paolo Bonzini
2015-11-05 18:56               ` Peter Maydell
2015-11-05 13:48     ` Laszlo Ersek
2015-11-05 15:52       ` Alex Bennée
2015-11-05 17:05         ` Laszlo Ersek [this message]
2015-11-05 17:09           ` Paolo Bonzini
2015-11-05 14:42     ` Gerd Hoffmann
2015-11-05 14:45       ` Peter Maydell
2015-11-05 14:58         ` Gerd Hoffmann
2015-11-05 15:11           ` Peter Maydell
2015-11-05 17:15             ` Laszlo Ersek
2015-11-05 18:13               ` Cornelia Huck
2015-11-05 18:51                 ` Laszlo Ersek
2015-11-06 16:34               ` Alex Bennée
2015-11-06 16:43               ` Peter Maydell

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=563B8C4A.70307@redhat.com \
    --to=lersek@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=kraxel@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.