[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |