|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 03/38] arm/p2m: Introduce p2m_(switch|restore)_vttbr_and_(g|s)et_flags
Hi Julien,
On 09/02/2016 11:57 AM, Julien Grall wrote:
>
>
> On 02/09/16 09:40, Sergej Proskurin wrote:
>> Hi Julien,
>
> Hello Sergej,
>
>> On 09/01/2016 05:51 PM, Julien Grall wrote:
>>> Hello Sergej,
>>>
>>> On 16/08/16 23:16, Sergej Proskurin wrote:
>>>> This commit introduces macros for switching and restoring the vttbr
>>>> considering the currently set irq flags. We define these macros, as the
>>>> following commits will use the associated functionality multiple times
>>>> throughout the file ./xen/arch/arm/p2m.c.
>>>>
>>>> Signed-off-by: Sergej Proskurin <proskurin@xxxxxxxxxxxxx>
>>>> ---
>>>> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>>>> Cc: Julien Grall <julien.grall@xxxxxxx>
>>>> ---
>>>> xen/arch/arm/p2m.c | 37 +++++++++++++++++++++++--------------
>>>> 1 file changed, 23 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
>>>> index 08114d8..02e9ee7 100644
>>>> --- a/xen/arch/arm/p2m.c
>>>> +++ b/xen/arch/arm/p2m.c
>>>> @@ -27,6 +27,26 @@ static unsigned int __read_mostly p2m_root_level;
>>>>
>>>> #define P2M_ROOT_PAGES (1<<P2M_ROOT_ORDER)
>>>>
>>>> +#define p2m_switch_vttbr_and_get_flags(ovttbr, nvttbr, flags) \
>>>> +({ \
>>>
>>> It makes more sense to save the content of VTTBR_EL2 in the macro.
>>>
>>
>> I assume you mean the VTTBR_EL2 within the macro parameter ovttbr. I
>> will move the definition of the ovttbr variable into the macro and
s/definition/initialization/
>> return its value at the end so that it can be subsequently provided with
>> the "p2m_restore_vttbr_and_set_flags" macro. Thank you.
>
> I meant
>
> #define p2m_switch_vttbr_and_get_flags(ovttbr, nvttbr, flags) \
> ({ \
> ovttbr = READ_SYSREG(VTTBR_EL2); \
> if ( ovttbr != nvttbr ) \
> { \
> local_irq_save(flags); \
> WRITE_SYSREG64(nvttbr, VTTBR_EL2); \
> isb(); \
> }
> })
>
That is what I understood, thank you :)
Cheers,
~Sergej
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |