All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Vallejo <agarciav@amd.com>
To: Denis Mukhin <dmkhn@proton.me>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"Jason Andryuk" <jason.andryuk@amd.com>,
	"Xenia Ragiadakou" <xenia.ragiadakou@amd.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Michal Orzel" <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH v3 03/16] x86/boot: add cmdline to struct boot_domain
Date: Thu, 10 Apr 2025 13:02:48 +0100	[thread overview]
Message-ID: <D92XZF3R2BA9.9GKEOF93H2E2@amd.com> (raw)
In-Reply-To: <ay75cmCDuxMtW2NROw3rcPNNhWU-QXAuk25j_isEbVoH7WmECfIC1xWw9hX-yvWKDXqamxx32tum4_3CRN46CGrgQKk1_loSZsExg4Ata1s=@proton.me>

On Wed Apr 9, 2025 at 10:05 PM BST, Denis Mukhin wrote:
> On Tuesday, April 8th, 2025 at 9:07 AM, Alejandro Vallejo <agarciav@amd.com> wrote:
>
>> 
>> 
>> From: "Daniel P. Smith" dpsmith@apertussolutions.com
>> 
>> 
>> Add a container for the "cooked" command line for a domain. This
>> provides for the backing memory to be directly associated with the
>> domain being constructed. This is done in anticipation that the domain
>> construction path may need to be invoked multiple times, thus ensuring
>> each instance had a distinct memory allocation.
>> 
>> Signed-off-by: Daniel P. Smith dpsmith@apertussolutions.com
>> 
>> Signed-off-by: Jason Andryuk jason.andryuk@amd.com
>> 
>> Signed-off-by: Alejandro Vallejo agarciav@amd.com
>> 
>> ---
>> No changes on ACPI cmdline handling on PVH, as it's orthogonal to the
>> purpose of this patch.
>> 
>> v3:
>> * s/xfree/XFREE/ on failed construct_dom0() to avoid a dangling
>> cmdline ptr.
>> * Re-flow hvm_copy_to_guest_phys() into a multi-line call.
>> * s/bd->cmdline != NULL/b->cmdline/ (to homogenise with the previous
>> 
>> cmdline pointer check)
>> ---
>> xen/arch/x86/hvm/dom0_build.c | 12 +++----
>> xen/arch/x86/include/asm/boot-domain.h | 1 +
>> xen/arch/x86/pv/dom0_build.c | 4 +--
>> xen/arch/x86/setup.c | 50 +++++++++++++++++++-------
>> 4 files changed, 47 insertions(+), 20 deletions(-)
>> 
>> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
>> index 2a094b3145..ebad5a49b8 100644
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -653,7 +653,6 @@ static int __init pvh_load_kernel(
>> void *image_start = image_base + image->headroom;
>> 
>> unsigned long image_len = image->size;
>> 
>> unsigned long initrd_len = initrd ? initrd->size : 0;
>> 
>> - const char *cmdline = image->cmdline_pa ? __va(image->cmdline_pa) : NULL;
>> 
>> const char *initrd_cmdline = NULL;
>> struct elf_binary elf;
>> struct elf_dom_parms parms;
>> @@ -736,8 +735,8 @@ static int __init pvh_load_kernel(
>> initrd = NULL;
>> }
>> 
>> - if ( cmdline )
>> - extra_space += elf_round_up(&elf, strlen(cmdline) + 1);
>> + if ( bd->cmdline )
>> 
>> + extra_space += elf_round_up(&elf, strlen(bd->cmdline) + 1);
>
> I think it makes sense to use local variable to cache the results of 
>
>   strlen(bd->cmdline) + 1
>
> since the construct is used multiple times within pvh_load_kernel()
>
> E.g. cmdline_len similarly to {image,initrd}_len.
>

Seeing how you're the second person to propose the same thing, I'll bite
and just do it. I really dislike the wall of locals in
pvh_load_kernel(), but oh well...

Cheers,
Alejandro


  reply	other threads:[~2025-04-10 12:03 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-08 16:07 [PATCH v3 00/16] Hyperlaunch device tree for dom0 Alejandro Vallejo
2025-04-08 16:07 ` [PATCH v3 01/16] x86/boot: introduce boot domain Alejandro Vallejo
2025-04-09  6:24   ` Jan Beulich
2025-04-09 10:28     ` Alejandro Vallejo
2025-04-10 13:13       ` Daniel P. Smith
2025-04-10 20:56         ` Jason Andryuk
2025-04-10 13:09     ` Daniel P. Smith
2025-04-10 15:01       ` Jan Beulich
2025-04-10 20:56         ` Jason Andryuk
2025-04-16 13:02           ` Daniel P. Smith
2025-04-16 13:33             ` Jan Beulich
2025-04-16 14:00               ` Daniel P. Smith
2025-04-16 14:06                 ` Jan Beulich
2025-04-16 15:01                   ` Daniel P. Smith
2025-04-08 16:07 ` [PATCH v3 02/16] x86/boot: introduce domid field to struct boot_domain Alejandro Vallejo
2025-04-09  6:34   ` Jan Beulich
2025-04-09 10:33     ` Alejandro Vallejo
2025-04-10 16:18       ` Jason Andryuk
2025-04-08 16:07 ` [PATCH v3 03/16] x86/boot: add cmdline " Alejandro Vallejo
2025-04-09  6:48   ` Jan Beulich
2025-04-09 11:11     ` Alejandro Vallejo
2025-04-09 11:28       ` Alejandro Vallejo
2025-04-09 14:13         ` Jan Beulich
2025-04-09 14:00       ` Jan Beulich
2025-04-09 21:05   ` Denis Mukhin
2025-04-10 12:02     ` Alejandro Vallejo [this message]
2025-04-08 16:07 ` [PATCH v3 04/16] kconfig: introduce option to independently enable libfdt Alejandro Vallejo
2025-04-09 18:57   ` Denis Mukhin
2025-04-10 12:05     ` Alejandro Vallejo
2025-04-10  9:04   ` Jan Beulich
2025-04-10 12:04     ` Alejandro Vallejo
2025-04-08 16:07 ` [PATCH v3 05/16] kconfig: introduce domain builder config option Alejandro Vallejo
2025-04-10  9:08   ` Jan Beulich
2025-04-10 12:52     ` Alejandro Vallejo
2025-04-10 12:57       ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 06/16] x86/hyperlaunch: introduce the domain builder Alejandro Vallejo
2025-04-09 18:53   ` Denis Mukhin
2025-04-10  7:49     ` Jan Beulich
2025-04-10 13:01     ` Alejandro Vallejo
2025-04-10  9:39   ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 07/16] x86/hyperlaunch: initial support for hyperlaunch device tree Alejandro Vallejo
2025-04-10 10:10   ` Jan Beulich
2025-04-10 14:50     ` Alejandro Vallejo
2025-04-08 16:07 ` [PATCH v3 08/16] x86/hyperlaunch: Add helpers to locate multiboot modules Alejandro Vallejo
2025-04-10 10:42   ` Jan Beulich
2025-04-14 13:37     ` Alejandro Vallejo
2025-04-14 15:05       ` Jan Beulich
2025-04-14 18:01         ` Alejandro Vallejo
2025-04-15  6:05           ` Jan Beulich
2025-04-15 11:30             ` Alejandro Vallejo
2025-04-16 16:55             ` Nicola Vetrini
2025-04-17 11:50               ` Alejandro Vallejo
2025-04-14 19:09         ` Nicola Vetrini
2025-04-08 16:07 ` [PATCH v3 09/16] x86/hyperlaunch: locate dom0 kernel with hyperlaunch Alejandro Vallejo
2025-04-09 21:24   ` Denis Mukhin
2025-04-14 13:56     ` Alejandro Vallejo
2025-04-10 10:58   ` Jan Beulich
2025-04-14 13:58     ` Alejandro Vallejo
2025-04-08 16:07 ` [PATCH v3 10/16] x86/hyperlaunch: obtain cmdline from device tree Alejandro Vallejo
2025-04-09 22:04   ` Denis Mukhin
2025-04-14 14:54     ` Alejandro Vallejo
2025-04-10 11:12   ` Jan Beulich
2025-04-14 14:23     ` Alejandro Vallejo
2025-04-14 15:09       ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 11/16] x86/hyperlaunch: locate dom0 initrd with hyperlaunch Alejandro Vallejo
2025-04-09 22:07   ` Denis Mukhin
2025-04-14 15:03     ` Alejandro Vallejo
2025-04-10 11:34   ` Jan Beulich
2025-04-14 17:06     ` Alejandro Vallejo
2025-04-14 17:27       ` Alejandro Vallejo
2025-04-15  6:17         ` Jan Beulich
2025-04-15 11:59           ` Alejandro Vallejo
2025-04-15 14:11             ` Jan Beulich
2025-04-16 13:19             ` Daniel P. Smith
2025-04-15  6:12       ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 12/16] x86/hyperlaunch: add domain id parsing to domain config Alejandro Vallejo
2025-04-09 22:15   ` Denis Mukhin
2025-04-14 18:07     ` Alejandro Vallejo
2025-04-15  0:28       ` Stefano Stabellini
2025-04-15  6:21       ` Jan Beulich
2025-04-15 11:37         ` Alejandro Vallejo
2025-04-15 14:13           ` Jan Beulich
2025-04-10 11:49   ` Jan Beulich
2025-04-14 18:35     ` Alejandro Vallejo
2025-04-15  6:27       ` Jan Beulich
2025-04-15 12:05         ` Alejandro Vallejo
2025-04-15 14:16           ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 13/16] x86/hyperlaunch: specify dom0 mode with device tree Alejandro Vallejo
2025-04-09 22:24   ` Denis Mukhin
2025-04-10 11:55     ` Jan Beulich
2025-04-14 18:45     ` Alejandro Vallejo
2025-04-10 11:57   ` Jan Beulich
2025-04-16 13:32     ` Daniel P. Smith
2025-04-16 13:38       ` Jan Beulich
2025-04-16 14:09         ` Daniel P. Smith
2025-04-16 14:24           ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 14/16] x86/hyperlaunch: add memory parsing to domain config Alejandro Vallejo
2025-04-09 22:29   ` Denis Mukhin
2025-04-14 18:49     ` Alejandro Vallejo
2025-04-10 12:03   ` Jan Beulich
2025-04-14 18:59     ` Alejandro Vallejo
2025-04-16 13:37     ` Daniel P. Smith
2025-04-16 13:41       ` Jan Beulich
2025-04-16 14:12         ` Daniel P. Smith
2025-04-16 14:27           ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 15/16] x86/hyperlaunch: add max vcpu parsing of hyperlaunch device tree Alejandro Vallejo
2025-04-09 22:33   ` Denis Mukhin
2025-04-14 19:07     ` Alejandro Vallejo
2025-04-10 12:08   ` Jan Beulich
2025-04-14 19:12     ` Alejandro Vallejo
2025-04-16 13:42     ` Daniel P. Smith
2025-04-16 13:54       ` Alejandro Vallejo
2025-04-16 14:16         ` Daniel P. Smith
2025-04-16 13:54       ` Jan Beulich
2025-04-16 14:19         ` Daniel P. Smith
2025-04-16 14:31           ` Jan Beulich
2025-04-08 16:07 ` [PATCH v3 16/16] x86/hyperlaunch: add capabilities to boot domain Alejandro Vallejo
2025-04-09 22:39   ` Denis Mukhin
2025-04-14 19:17     ` Alejandro Vallejo
2025-04-10 12:18   ` Jan Beulich
2025-04-14 19:31     ` Alejandro Vallejo
2025-04-15  6:38       ` Jan Beulich
2025-04-15 12:22         ` Alejandro Vallejo
2025-04-15 14:20           ` Jan Beulich
2025-04-10 12:18   ` Jan Beulich
2025-04-09  6:29 ` [PATCH v3 00/16] Hyperlaunch device tree for dom0 Jan Beulich
2025-04-09 10:19   ` Alejandro Vallejo
2025-04-09 10:39     ` Alejandro Vallejo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D92XZF3R2BA9.9GKEOF93H2E2@amd.com \
    --to=agarciav@amd.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dmkhn@proton.me \
    --cc=dpsmith@apertussolutions.com \
    --cc=jason.andryuk@amd.com \
    --cc=jbeulich@suse.com \
    --cc=michal.orzel@amd.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xenia.ragiadakou@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.