[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC PATCH 19/26] ppc/xive: introduce a helper to map the
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [RFC PATCH 19/26] ppc/xive: introduce a helper to map the XIVE memory regions |
Date: |
Wed, 26 Jul 2017 00:16:29 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 25/07/17 19:18, Cédric Le Goater wrote:
> On 07/25/2017 04:54 AM, Alexey Kardashevskiy wrote:
>> On 06/07/17 03:13, Cédric Le Goater wrote:
>>> It will be used when the guest chooses the XIVE exploitation mode in
>>> CAS.
>>>
>>> Signed-off-by: Cédric Le Goater <address@hidden>
>>> ---
>>> hw/intc/xive.c | 11 +++++++++++
>>> include/hw/ppc/xive.h | 2 ++
>>> 2 files changed, 13 insertions(+)
>>>
>>> diff --git a/hw/intc/xive.c b/hw/intc/xive.c
>>> index cda1fa18e44d..895dd2b2f61b 100644
>>> --- a/hw/intc/xive.c
>>> +++ b/hw/intc/xive.c
>>> @@ -915,3 +915,14 @@ bool xive_eq_for_target(XIVE *x, uint32_t target,
>>> uint8_t priority,
>>>
>>> return true;
>>> }
>>> +
>>> +void xive_mmio_map(XIVE *x)
>>> +{
>>> + /* ESBs */
>>> + sysbus_mmio_map(SYS_BUS_DEVICE(x), 0, x->vc_base);
>>> +
>>> + /* Thread Management Interrupt Areas */
>>> + /* TODO: Only map the OS TIMA for the moment. Mapping the whole
>>> + * region needs some rework in the handlers */
>>> + sysbus_mmio_map(SYS_BUS_DEVICE(x), 1, x->tm_base + (1 << x->tm_shift));
>>> +}
>>
>>
>> imho it makes more sense to squash such small patches (this one and 20/26,
>> 21/26) into those which actually make use of the new helpers - easier to
>> review, better for bisectability.
>
> ok. I am also realizing we should unmap.
I could not find a helper to do unmapping for sysbus regions so I suppose
it has to be memory_region_set_enabled() or (imho better)
memory_region_set_size() which would take zero size for the XICS emulation
case.
>
> Thanks,
>
> C.
>
>>
>>> diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h
>>> index 288116aeb8f4..560f6ab66f73 100644
>>> --- a/include/hw/ppc/xive.h
>>> +++ b/include/hw/ppc/xive.h
>>> @@ -68,4 +68,6 @@ typedef struct sPAPRMachineState sPAPRMachineState;
>>> void xive_spapr_init(sPAPRMachineState *spapr);
>>> void xive_spapr_populate(XIVE *x, void *fdt);
>>>
>>> +void xive_mmio_map(XIVE *x);
>>> +
>>> #endif /* PPC_XIVE_H */
>>>
>>
>>
>
--
Alexey
[Qemu-ppc] [RFC PATCH 20/26] ppc/xive: introduce a helper to create XIVE interrupt source objects, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 21/26] ppc/xive: introduce routines to allocate IRQ numbers, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 22/26] ppc/xive: create an XIVE interrupt source to handle IPIs, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 23/26] spapr: add a XIVE object to the sPAPR machine, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 24/26] spapr: include the XIVE interrupt source for IPIs, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 25/26] spapr: print the XIVE interrupt source for IPIs in the monitor, Cédric Le Goater, 2017/07/05
[Qemu-ppc] [RFC PATCH 26/26] spapr: force XIVE exploitation mode for POWER9 (HACK), Cédric Le Goater, 2017/07/05
Re: [Qemu-ppc] [RFC PATCH 00/26] guest exploitation of the XIVE interrupt controller (POWER9), David Gibson, 2017/07/10