From: David Gibson <david@gibson.dropbear.id.au>
To: Alexander Graf <agraf@suse.de>
Cc: "aik@ozlabs.ru" <aik@ozlabs.ru>,
"paulus@samba.org" <paulus@samba.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"mdroth@us.ibm.com" <mdroth@us.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 1/5] pseries: Move sPAPR RTC code into its own file
Date: Thu, 18 Dec 2014 16:43:28 +1100 [thread overview]
Message-ID: <20141218054328.GF12159@voom.redhat.com> (raw)
In-Reply-To: <96E329FA-8614-4FD4-8F6E-E345BB84AB7E@suse.de>
[-- Attachment #1: Type: text/plain, Size: 3173 bytes --]
On Tue, Dec 16, 2014 at 10:41:16AM +0100, Alexander Graf wrote:
>
>
>
> > Am 16.12.2014 um 02:24 schrieb David Gibson <david@gibson.dropbear.id.au>:
> >
> >> On Tue, Dec 16, 2014 at 01:59:01AM +0100, Alexander Graf wrote:
> >>
> >>
> >>> On 16.12.14 01:43, David Gibson wrote:
> >>> At the moment the RTAS (firmware/hypervisor) time of day functions are
> >>> implemented in spapr_rtas.c along with a bunch of other things. Since
> >>> we're going to be expanding these a bit, move the RTAS RTC related code
> >>> out into new file spapr_rtc.c. Also add its own initialization function,
> >>> spapr_rtc_init() called from the main machine init routine.
> >>>
> >>> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> >>> ---
> >>> hw/ppc/Makefile.objs | 2 +-
> >>> hw/ppc/spapr.c | 3 ++
> >>> hw/ppc/spapr_rtas.c | 49 -----------------------------
> >>> hw/ppc/spapr_rtc.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >>> include/hw/ppc/spapr.h | 1 +
> >>> 5 files changed, 88 insertions(+), 50 deletions(-)
> >>> create mode 100644 hw/ppc/spapr_rtc.c
> >>>
> >>> diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
> >>> index 19d9920..437955d 100644
> >>> --- a/hw/ppc/Makefile.objs
> >>> +++ b/hw/ppc/Makefile.objs
> >>> @@ -3,7 +3,7 @@ obj-y += ppc.o ppc_booke.o
> >>> # IBM pSeries (sPAPR)
> >>> obj-$(CONFIG_PSERIES) += spapr.o spapr_vio.o spapr_events.o
> >>> obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o
> >>> -obj-$(CONFIG_PSERIES) += spapr_pci.o
> >>> +obj-$(CONFIG_PSERIES) += spapr_pci.o spapr_rtc.o
> >>> ifeq ($(CONFIG_PCI)$(CONFIG_PSERIES)$(CONFIG_LINUX), yyy)
> >>> obj-y += spapr_pci_vfio.o
> >>> endif
> >>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> >>> index 30de25d..16377a3 100644
> >>> --- a/hw/ppc/spapr.c
> >>> +++ b/hw/ppc/spapr.c
> >>> @@ -1446,6 +1446,9 @@ static void ppc_spapr_init(MachineState *machine)
> >>> /* Set up EPOW events infrastructure */
> >>> spapr_events_init(spapr);
> >>>
> >>> + /* Set up the RTC RTAS interfaces */
> >>> + spapr_rtc_init();
> >>
> >> Do you think we could make it a device instead?
> >
> > Um.. I guess. Is there a standard place to put such pseudo-devices in
> > the bus heirarchy?
>
> How about we combine this with some cleanup work and create a new
> spapr bus that (in the long term) exposes all the details we carry
> around in the spapr struct to its children via the bus?
I've thought about this a bit more. It really doesn't make sense to
put the rtc device anywhere except the root bus (which optionally
could become an spapr sub-type of the default root bus type).
But, while splitting this into its own device would be cleaner, I
don't think we should delay real behavioural fixes for that cleanup.
Working out how to split out the device without breaking old machine
types, and keeping migration working is making my head hurt.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-12-18 6:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-16 0:43 [Qemu-devel] [PATCH 0/5] pseries: Fix and extend PAPR RTC implementation David Gibson
2014-12-16 0:43 ` [Qemu-devel] [PATCH 1/5] pseries: Move sPAPR RTC code into its own file David Gibson
2014-12-16 0:59 ` Alexander Graf
2014-12-16 1:24 ` David Gibson
2014-12-16 9:41 ` Alexander Graf
2014-12-18 5:43 ` David Gibson [this message]
2014-12-18 23:36 ` Alexander Graf
2014-12-19 5:39 ` David Gibson
2014-12-19 9:59 ` Alexander Graf
2014-12-16 0:43 ` [Qemu-devel] [PATCH 2/5] pseries: Add spapr_rtc_read() helper function David Gibson
2014-12-16 1:01 ` Alexander Graf
2014-12-16 1:25 ` David Gibson
2014-12-16 0:43 ` [Qemu-devel] [PATCH 3/5] pseries: Add more parameter validation in RTAS time of day functions David Gibson
2014-12-16 0:43 ` [Qemu-devel] [PATCH 4/5] pseries: Export /machine "rtc-time" property David Gibson
2014-12-16 1:04 ` Alexander Graf
2014-12-16 2:18 ` David Gibson
2014-12-16 9:42 ` Alexander Graf
2014-12-16 0:43 ` [Qemu-devel] [PATCH 5/5] pseries: Make RTAS time of day functions respect -rtc options David Gibson
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=20141218054328.GF12159@voom.redhat.com \
--to=david@gibson.dropbear.id.au \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=mdroth@us.ibm.com \
--cc=paulus@samba.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 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).