qemu-ppc
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]