qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Stefan Weil <sw@weilnetz.de>
Cc: peter.maydell@linaro.org, jan.kiszka@siemens.com, mjt@tls.msk.ru,
	qemu-devel@nongnu.org, armbru@redhat.com, blauwirbel@gmail.com,
	kraxel@redhat.com, xen-devel@lists.xensource.com,
	i.mitsyanko@samsung.com, mdroth@linux.vnet.ibm.com,
	avi@redhat.com, anthony.perard@citrix.com, lersek@redhat.com,
	stefanha@linux.vnet.ibm.com, stefano.stabellini@eu.citrix.com,
	lcapitulino@redhat.com, rth@twiddle.net, kwolf@redhat.com,
	aliguori@us.ibm.com, mtosatti@redhat.com, pbonzini@redhat.com,
	afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH 0/5 v2] cpu: make a child of DeviceState
Date: Mon, 20 Aug 2012 13:47:39 +0200	[thread overview]
Message-ID: <20120820134739.08bf6de4@thinkpad.mammed.net> (raw)
In-Reply-To: <5031C2A3.3060800@weilnetz.de>

On Mon, 20 Aug 2012 06:52:51 +0200
Stefan Weil <sw@weilnetz.de> wrote:

> Am 20.08.2012 01:39, schrieb Igor Mammedov:
> > this is th 3rd approach to make CPU a child of DeviceState
> > for both kinds of targets *-user and *-softmmu. It seems
> > with current state of qemu it doesn't take too much effort
> > to make it compile. Please check if it doesn't break
> > something on other targets/archs/hosts than i386.
> >
> > what's tested:
> >    - compile tested building all targets on FC17x64 host.
> >    - briefly tested i386 user and softmmu targets
> >
> > Anthony Liguori (1):
> >    qdev: split up header so it can be used in cpu.h
> >
> > Igor Mammedov (4):
> >    move qemu_irq typedef out of cpu-common.h
> >    qapi-types.h doesn't really need to include qemu-common.h
> >    cleanup error.h, included qapi-types.h aready has stdbool.h
> >    make CPU a child of DeviceState
> >
> >   error.h               |    1 -
> >   hw/arm-misc.h         |    1 +
> >   hw/bt.h               |    2 +
> >   hw/devices.h          |    2 +
> >   hw/irq.h              |    2 +
> >   hw/mc146818rtc.c      |    1 +
> >   hw/omap.h             |    1 +
> >   hw/qdev-addr.c        |    1 +
> >   hw/qdev-core.h        |  240 ++++++++++++++++++++++++++++++++
> >   hw/qdev-monitor.h     |   16 ++
> >   hw/qdev-properties.c  |    1 +
> >   hw/qdev-properties.h  |  128 +++++++++++++++++
> >   hw/qdev.c             |    1 +
> >   hw/qdev.h             |  371 +------------------------------------------------
> >   hw/soc_dma.h          |    1 +
> >   hw/xen.h              |    1 +
> >   include/qemu/cpu.h    |    6 +-
> >   qemu-common.h         |    1 -
> >   scripts/qapi-types.py |    2 +-
> >   sysemu.h              |    1 +
> >   20 files changed, 407 insertions(+), 373 deletions(-)
> >   create mode 100644 hw/qdev-core.h
> >   create mode 100644 hw/qdev-monitor.h
> >   create mode 100644 hw/qdev-properties.h
> >
> 
> I'd prefer if you could keep the following simple pattern:
> 
> * Start includes in *.c files with config.h (optionally)
>    and qemu-common.h.
Can't agree with you on this. I'd say that every header should be be self
sufficient, include other headers if it uses types from them and NOT depend on
the position where it's included, it should provide all its own deps.

> 
> * Don't include standard include files which are already
>    included in qemu-common.h
Probably initially qemu-common.h was intended to simplify inclusion
of standard headers and glue stuff in multi-os build environment. but it seems
to be become misused. It includes now a lot of stuff that is not common to
every file it's included in.
Perhaps we should split out of it std includes and glue layer into something
like std/host-common.h and case on case basis move out other type
definitions that are not common into there appropriate places. Like with
qemu_irq.

> 
> * Don't include qemu-common.h in *.h files.
I'm all for it. But it's difficult right now because it tends to be included
in a lot of headers that don't really need it and then other headers happens
to depend on previous inclusion of it. It's difficult to untangle this in one
take, but could be possible in small steps.

[1/1] is a direction that could be used to put type custom types in their
proper places. It would be better way long term and help to avoid problems
with including one header in another. 

> 
> Regards,
> 
> Stefan Weil
> 


-- 
Regards,
  Igor

  reply	other threads:[~2012-08-20 11:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-19 23:39 [Qemu-devel] [PATCH 0/5 v2] cpu: make a child of DeviceState Igor Mammedov
2012-08-19 23:39 ` [Qemu-devel] [PATCH 1/5] move qemu_irq typedef out of cpu-common.h Igor Mammedov
2012-08-20  4:41   ` Stefan Weil
2012-08-20 11:13     ` Igor Mammedov
2012-08-20 19:46       ` Blue Swirl
2012-08-20 20:14         ` Anthony Liguori
2012-08-19 23:39 ` [Qemu-devel] [PATCH 2/5] qdev: split up header so it can be used in cpu.h Igor Mammedov
2012-08-19 23:39 ` [Qemu-devel] [PATCH 3/5] qapi-types.h doesn't really need to include qemu-common.h Igor Mammedov
2012-08-20 15:22   ` Luiz Capitulino
2012-08-20 19:59     ` Igor Mammedov
2012-08-19 23:39 ` [Qemu-devel] [PATCH 4/5] cleanup error.h, included qapi-types.h aready has stdbool.h Igor Mammedov
2012-08-20 15:28   ` Luiz Capitulino
2012-08-20 20:00     ` [Qemu-devel] [Xen-devel] " Igor Mammedov
2012-08-19 23:39 ` [Qemu-devel] [PATCH 5/5] make CPU a child of DeviceState Igor Mammedov
2012-08-21 14:03   ` Eduardo Habkost
2012-08-20  4:52 ` [Qemu-devel] [PATCH 0/5 v2] cpu: make " Stefan Weil
2012-08-20 11:47   ` Igor Mammedov [this message]
2012-08-20 20:07     ` [Qemu-devel] [RFC] How should QEMU code handle include statements (was: Re: [PATCH 0/5 v2] cpu: make a child of DeviceState) Stefan Weil
2012-08-21 10:19       ` [Qemu-devel] [RFC] How should QEMU code handle include statements Avi Kivity

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=20120820134739.08bf6de4@thinkpad.mammed.net \
    --to=imammedo@redhat.com \
    --cc=afaerber@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=anthony.perard@citrix.com \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=i.mitsyanko@samsung.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mjt@tls.msk.ru \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=stefanha@linux.vnet.ibm.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=sw@weilnetz.de \
    --cc=xen-devel@lists.xensource.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).