[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/2] xen/arm32: Introduce alternative runtime patching



On Mon, Mar 20, 2017 at 06:45:18AM +0000, Wei Chen wrote:
> Hi Konrad,
> 
> On 2017/3/17 22:34, Konrad Rzeszutek Wilk wrote:
> > On Thu, Mar 16, 2017 at 05:53:38PM +0800, Wei Chen wrote:
> >> This patch is based on the implementation of ARM64, it introduces
> >> alternative runtime patching to ARM32. This allows to patch assembly
> >> instruction at runtime to either fix hardware bugs or optimize for
> >> certain hardware features on ARM32 platform.
> >>
> >> Xen hypervisor is using ARM execution state only on ARM32 platform,
> >> Thumb is not used. So, the Thumb only branch instructions (CBZ, CBNZ,
> >> TBB and TBH) are not considered in alternatives.
> >>
> >> The left ARM32 branch instructions are BX, BLX, BL and B. The
> >> instruction BX is taking a register in parameter, so we don't need to
> >> rewrite it. The instructions BLX, BL and B are using the similar
> >> encoding for the offset and will avoid specific case when extracting
> >> and updating the offset.
> >>
> >> In this patch, we include alternative.h header file to livepatch.c
> >> directly for ARM32 compilation issues. When the alternative patching
> >> config is enabled, the livepatch.c will use the alternative functions.
> >> In this case, we should include the alternative header file to this
> >> file. But for ARM64, it does not include this header file directly.
> >> It includes this header file indirectly through:
> >> sched.h->domain.h->page.h->alternative.h.
> >> But, unfortunately, the page.h of ARM32 doesn't include alternative.h,
> >> and we don't have the reason to include it to ARM32 page.h now. So we
> >> have to include the alternative.h directly in livepatch.c.
> >
> > OK, thanks for the explanation.
> >
> >
> > Could you also confirm that the test-cases for livepatching
> > does compile for you?
> >
> > make -C xen tests
> >
> > should do it (specifically I am curious if xen_hello_world_func.c
> > compiles fine).
> >
> 
> Yes, the test-cases for livepatching can compile successfully.

Fantastic!
> I paste the full compiling log below:

No need for that but thank you!

Pls add 'Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>'
on the patch.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.