[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v6 06/37] ppc/xive: add support for the END Event
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v6 06/37] ppc/xive: add support for the END Event State buffers |
Date: |
Fri, 7 Dec 2018 13:05:27 +1100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Thu, Dec 06, 2018 at 07:30:34AM +0100, Cédric Le Goater wrote:
> On 12/6/18 5:09 AM, David Gibson wrote:
> > On Thu, Dec 06, 2018 at 12:22:20AM +0100, Cédric Le Goater wrote:
[snip]
> >> +/*
> >> + * END ESB MMIO loads
> >> + */
> >> +static uint64_t xive_end_source_read(void *opaque, hwaddr addr, unsigned
> >> size)
> >> +{
> >> + XiveENDSource *xsrc = XIVE_END_SOURCE(opaque);
> >> + XiveRouter *xrtr = xsrc->xrtr;
> >> + uint32_t offset = addr & 0xFFF;
> >> + uint8_t end_blk;
> >> + uint32_t end_idx;
> >> + XiveEND end;
> >> + uint32_t end_esmask;
> >> + uint8_t pq;
> >> + uint64_t ret = -1;
> >> +
> >> + end_blk = xrtr->chip_id;
> >
> > .. instead I think it makes more sense to just configure the end_blk
> > directly on the end_source, rather than reaching into another object
> > to
>
> Ah. That's what I was asking in an email. I missed the answer maybe.
> Let's drop it and sPAPRXive block will be 0.
Actually, I think I might not have answered earlier, because it was
far enough into the thread that I'd forgotten the original context too
much to answer easily.
Anyway, proposed course of action sounds fine.
[snip]
> >> +static void xive_source_end_reset(void *dev)
> >> +{
> >> + /* TODO: Loop on all ENDs and mask off the ESn and ESe */
> >
> > IIUC you're talking about actually writing the (potentially in memory)
> > END structures. I don't think that makes sense for the END source
> > hardware model. I'm guessing you want this for PAPR, where the ENDs
> > are in virtual hardware
>
> That's done already.
>
> > rather than guest memory, but in that case I
> > think the reset handling should be in the PAPR specific Xive object,
> > not the end_source itself.
>
> I will remove the TODO, it's obsolete.
Ok, and the whole function with it, yes? Or is there something else
that will really belong here?
--
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
signature.asc
Description: PGP signature
- Re: [Qemu-ppc] [PATCH v6 04/37] ppc/xive: introduce the XiveRouter model, (continued)
[Qemu-ppc] [PATCH v6 05/37] ppc/xive: introduce the XIVE Event Notification Descriptors, Cédric Le Goater, 2018/12/05
[Qemu-ppc] [PATCH v6 06/37] ppc/xive: add support for the END Event State buffers, Cédric Le Goater, 2018/12/05
[Qemu-ppc] [PATCH v6 07/37] ppc/xive: introduce the XIVE interrupt thread context, Cédric Le Goater, 2018/12/05
[Qemu-ppc] [PATCH v6 08/37] ppc/xive: introduce a simplified XIVE presenter, Cédric Le Goater, 2018/12/05
[Qemu-ppc] [PATCH v6 09/37] ppc/xive: notify the CPU when the interrupt priority is more privileged, Cédric Le Goater, 2018/12/05
[Qemu-ppc] [PATCH v6 12/37] spapr: initialize VSMT before initializing the IRQ backend, Cédric Le Goater, 2018/12/05