[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN][PATCH v12 20/20] tools/xl: Add new xl command overlay for device tree overlay support
On 06/09/2023 09:57, Jan Beulich wrote: > > > On 06.09.2023 09:32, Michal Orzel wrote: >> >> >> On 06/09/2023 08:55, Jan Beulich wrote: >>> >>> >>> On 06.09.2023 03:16, Vikram Garhwal wrote: >>>> --- a/tools/xl/xl_vmcontrol.c >>>> +++ b/tools/xl/xl_vmcontrol.c >>>> @@ -1265,6 +1265,58 @@ int main_create(int argc, char **argv) >>>> return 0; >>>> } >>>> >>>> +int main_dt_overlay(int argc, char **argv) >>>> +{ >>>> + const char *overlay_ops = NULL; >>>> + const char *overlay_config_file = NULL; >>>> + void *overlay_dtb = NULL; >>>> + int rc; >>>> + uint8_t op; >>>> + int overlay_dtb_size = 0; >>>> + const int overlay_add_op = 1; >>>> + const int overlay_remove_op = 2; >>>> + >>>> + if (argc < 2) { >>>> + help("dt_overlay"); >>>> + return EXIT_FAILURE; >>>> + } >>>> + >>>> + overlay_ops = argv[1]; >>>> + overlay_config_file = argv[2]; >>>> + >>>> + if (strcmp(overlay_ops, "add") == 0) >>>> + op = overlay_add_op; >>>> + else if (strcmp(overlay_ops, "remove") == 0) >>>> + op = overlay_remove_op; >>>> + else { >>>> + fprintf(stderr, "Invalid dt overlay operation\n"); >>>> + return EXIT_FAILURE; >>>> + } >>>> + >>>> + if (overlay_config_file) { >>>> + rc = libxl_read_file_contents(ctx, overlay_config_file, >>>> + &overlay_dtb, &overlay_dtb_size); >>>> + >>>> + if (rc) { >>>> + fprintf(stderr, "failed to read the overlay device tree file >>>> %s\n", >>>> + overlay_config_file); >>>> + free(overlay_dtb); >>>> + return ERROR_FAIL; >>>> + } >>>> + } else { >>>> + fprintf(stderr, "overlay dtbo file not provided\n"); >>>> + return ERROR_FAIL; >>>> + } >>>> + >>>> + rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op); >>> >>> Because of this being Arm-only (as validly pointed out by osstest), I expect >>> the entire function here as well as its entry in cmd_table[] want to be >>> Arm-specific, too? Of course it would be nice to not key this to __arm__ / >>> __aarch64__, but to something that would not need touching again if the >>> underlying infrastructure was made available to, say, RISC-V as well. But of >>> course - right now the goal needs to be to address the CI and osstest >>> breakage. >> I agree. I would suggest to guard it with LIBXL_HAVE_DT_OVERLAY which is for >> now >> only defined for arm32/arm64. This way the code will not need to be modified >> if other >> arch gain support for the feature. > > Ah yes, that ought to work. While there perhaps also replace the conditional > around the declaration of the function in libxl.h. (But of course Anthony > may tell me/us that this isn't the way to go.) Hmm, if we change guards for libxl_dt_overlay(), what about xc_dt_overlay() for which we cannot use LIBXL guard? Is it ok in that case or better just focus on the fix. ~Michal
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |