[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 16/16] livepatch: arm[32, 64], x86: NOP test-case
Hi Konrad, On 23/09/16 02:35, Konrad Rzeszutek Wilk wrote: diff --git a/xen/test/livepatch/xen_nop.c b/xen/test/livepatch/xen_nop.c new file mode 100644 index 0000000..69dcbca --- /dev/null +++ b/xen/test/livepatch/xen_nop.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + * + */ + +#include "config.h" +#include <xen/types.h> + +#include <public/sysctl.h> + +/* + * All of the .new_size and .old_addr are based on assumptions that the + * code for 'xen_minor_version' is compiled in specific way. Before + * running this test-case you MUST verify that the assumptions are + * correct (Hint: make debug and look in xen.s). + */ +struct livepatch_func __section(".livepatch.funcs") livepatch_nop = { + .version = LIVEPATCH_PAYLOAD_VERSION, + .old_size = MINOR_VERSION_SZ, + +#ifdef CONFIG_X86 + .old_addr = (void *)MINOR_VERSION_ADDR, + /* Everything but the last instruction: "req". */ + .new_size = MINOR_VERSION_SZ-1, +#endif + +#ifdef CONFIG_ARM_64 + .old_addr = (void *)MINOR_VERSION_ADDR, + /* Replace the first one: "mov w0, #0x8". */ + .new_size = 4, I would prefer if you use .new_size = MINOR_VERSION_SZ - 4 here. +#endif + +#ifdef CONFIG_ARM_32 + .old_addr = (void *)MINOR_VERSION_ADDR, + /* And replace all but the return instruction. */ + .new_size = MINOR_VERSION_SZ-4, It means that you could merge the ARM64 and ARM32 case. With that: Acked-by: Julien Grall <julien.grall@xxxxxxx> Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |