[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Que
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues |
Date: |
Thu, 3 May 2018 15:45:34 +1000 |
User-agent: |
Mutt/1.9.3 (2018-01-21) |
On Thu, Apr 26, 2018 at 11:48:06AM +0200, Cédric Le Goater wrote:
> On 04/26/2018 09:25 AM, David Gibson wrote:
> > On Thu, Apr 19, 2018 at 02:43:03PM +0200, Cédric Le Goater wrote:
> >> The Event Queue Descriptor (EQD) table is an internal table of the
> >> XIVE routing sub-engine. It specifies on which Event Queue the event
> >> data should be posted when an exception occurs (later on pulled by the
> >> OS) and which Virtual Processor to notify.
> >
> > Uhhh.. I thought the IVT said which queue and vp to notify, and the
> > EQD gave metadata for event queues.
>
> yes. the above poorly written. The Event Queue Descriptor contains the
> guest address of the event queue in which the data is written. I will
> rephrase.
>
> The IVT contains IVEs which indeed define for an IRQ which EQ to notify
> and what data to push on the queue.
>
> >> The Event Queue is a much
> >> more complex structure but we start with a simple model for the sPAPR
> >> machine.
> >>
> >> There is one XiveEQ per priority and these are stored under the XIVE
> >> virtualization presenter (sPAPRXiveNVT). EQs are simply indexed with :
> >>
> >> (server << 3) | (priority & 0x7)
> >>
> >> This is not in the XIVE architecture but as the EQ index is never
> >> exposed to the guest, in the hcalls nor in the device tree, we are
> >> free to use what fits best the current model.
>
> This EQ indexing is important to notice because it will also show up
> in KVM to build the IVE from the KVM irq state.
Ok, are you saying that while this combined EQ index will never appear
in guest <-> host interfaces, it might show up in qemu <-> KVM
interfaces?
> >> Signed-off-by: Cédric Le Goater <address@hidden>
> >
> > Is the EQD actually modifiable by a guest? Or are the settings of the
> > EQs fixed by PAPR?
>
> The guest uses the H_INT_SET_QUEUE_CONFIG hcall to define the address
> of the event queue for a couple prio/server.
Ok, so the EQD can be modified by the guest. In which case we need to
work out what object owns it, since it'll need to migrate it.
--
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 v3 07/35] spapr/xive: introduce the XIVE Event Queues,
David Gibson <=
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, Cédric Le Goater, 2018/05/03
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, David Gibson, 2018/05/03
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, Cédric Le Goater, 2018/05/03
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, David Gibson, 2018/05/04
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, Cédric Le Goater, 2018/05/04
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, David Gibson, 2018/05/05
- Re: [Qemu-ppc] [PATCH v3 07/35] spapr/xive: introduce the XIVE Event Queues, Cédric Le Goater, 2018/05/09