[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


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Vikram Garhwal <vikram.garhwal@xxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Wed, 6 Sep 2023 09:32:31 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=whwNS31ciyyyIKDdM7G6dzN//dXtNumdFdEUk0tQB70=; b=RgQXa4gVB6nJP5393Y+/ewpeuF6yywlYD0Ez34LQ9OEx24Ej1T0jfttkB3Ek+6vSDsbYcv3opeUKGS7gksPIkh1/tUa7rmBGpbvK+DAG09wBF49HpazRL3m1YzO9ZuMIGjB3xbJiPjF55+pIVsxdMbQSqab54sCzNwv/hhJ5bmxcsrYz17he2/ke6ZuYbyBFwgOkn7SaJ1iR2ch/i5LMyboNOsQJDv499uJYo5f7NEzEobTcV5OMz5QSsI5INHdBA6MDWPsBdSKeuhZBVkHr6kUpJUEF3LYF2xzwUxil8z+xKKfM3gQaCav3QLIlsNmdCpTZyoQ0FHzo9DQyiJHt2A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i0MsFkdhrbSYcJWdAA7rxlZZS+O2BjZ64Rzhp54GrKK3410m4ByvRq5xYX6IwJeCdIUyhaK6wBgkSdqTaShaaLGfaBab6LvCH1laVdGdkOYkODFD7j/uUx+gnUzcuu2spJtYuItiYUI3V58N8xy/kyPXhEB0mGu6eC9sZ7w/d+Zk1SVqK0lbyBETnzB8TFuTBShmSIi2lczypfcrl3Urkeqn3JOxQzFIz2K4IyDPOQJu7WElxrI6fb1Qre5VBxDT+HrZBhOZCZWfAVdUI3mJvWo4oBpfE8T4J7VCBE/uttAXOAuvzfoHIrm3PDEBj/6rCn7QMQ4Ipw0YXet74PbDBA==
  • Cc: <julien@xxxxxxx>, <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, "Anthony PERARD" <anthony.perard@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 06 Sep 2023 07:33:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


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.
If you agree, I can send a patch to unbreak CI unless you want to do this.

~Michal



 


Rackspace

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