From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, "Julien Grall" <julien@xen.org>,
"Bertrand Marquis" <bertrand.marquis@arm.com>,
"Michal Orzel" <michal.orzel@amd.com>,
"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Anthony PERARD" <anthony.perard@vates.tech>,
"Jan Beulich" <jbeulich@suse.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH v3 8/8] xen/common: dom0less: introduce common dom0less-build.c
Date: Mon, 5 May 2025 12:56:59 +0200 [thread overview]
Message-ID: <1d63c212-e6fb-4907-845d-296fb98fcc08@gmail.com> (raw)
In-Reply-To: <5523bf0d-a94e-444d-a1fa-035ecccb4448@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3093 bytes --]
On 5/5/25 12:46 PM, Oleksii Kurochko wrote:
>
>
> On 5/2/25 10:53 PM, Stefano Stabellini wrote:
>> On Fri, 2 May 2025, Oleksii Kurochko wrote:
>>> Part of Arm's dom0less-build.c could be common between architectures which are
>>> using device tree files to create guest domains. Thereby move some parts of
>>> Arm's dom0less-build.c to common code with minor changes.
>>>
>>> As a part of theses changes the following changes are introduced:
>>> - Introduce make_arch_nodes() to cover arch-specific nodes. For example, in
>>> case of Arm, it is PSCI and vpl011 nodes.
>>> - Introduce set_domain_type() to abstract a way how setting of domain type
>>> happens. For example, RISC-V won't have this member of arch_domain structure
>>> as vCPUs will always have the same bitness as hypervisor. In case of Arm, it
>>> is possible that Arm64 could create 32-bit and 64-bit domains.
>>> - Introduce init_vuart() to cover details of virtual uart initialization.
>>> - Introduce init_intc_phandle() to cover some details of interrupt controller
>>> phandle initialization. As an example, RISC-V could have different name for
>>> interrupt controller node ( APLIC, PLIC, IMSIC, etc ) but the code in
>>> domain_handle_dtb_bootmodule() could handle only one interrupt controller
>>> node name.
>>> - s/make_gic_domU_node/make_intc_domU_node as GIC is Arm specific naming and
>>> add prototype of make_intc_domU_node() to dom0less-build.h
>>>
>>> The following functions are moved to xen/common/device-tree:
>>> - Functions which are moved as is:
>>> - domain_p2m_pages().
>>> - handle_passthrough_prop().
>>> - handle_prop_pfdt().
>>> - scan_pfdt_node().
>>> - check_partial_fdt().
>>> - Functions which are moved with some minor changes:
>>> - alloc_xenstore_evtchn():
>>> - ifdef-ing by CONFIG_HVM accesses to hvm.params.
>>> - prepare_dtb_domU():
>>> - ifdef-ing access to gnttab_{start,size} by CONFIG_GRANT_TABLE.
>>> - s/make_gic_domU_node/make_intc_domU_node.
>>> - Add call of make_arch_nodes().
>>> - domain_handle_dtb_bootmodule():
>>> - hide details of interrupt controller phandle initialization by calling
>>> init_intc_phandle().
>>> - Update the comment above init_intc_phandle(): s/gic/interrupt controller.
>>> - construct_domU():
>>> - ifdef-ing by CONFIG_HVM accesses to hvm.params.
>>> - Call init_vuart() to hide Arm's vpl011_init() details there.
>>> - Add call of set_domain_type() instead of setting kinfo->arch.type explicitly.
>>>
>>> Some parts of dom0less-build.c are wraped by #ifdef CONFIG_STATIC_{SHMEM,MEMORY}
>>> as not all archs support these configs.
>>>
>>> Signed-off-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>
>> FYI for a possible follow-up patch (doesn't have to be done in this
>> patch), the following functions could now be static:
>>
>> alloc_dom0_vcpu0
>> dom0_max_vcpus
> I will make them static in follow-up patch in the next patch series version.
Oh, I just noticed that we can't make them static as there is none static declaration in
xen/domain.h
~ Oleksii
[-- Attachment #2: Type: text/html, Size: 3769 bytes --]
next prev parent reply other threads:[~2025-05-05 10:57 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-02 16:22 [PATCH v3 0/8] Move parts of Arm's Dom0less to common code Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 1/8] xen/arm: drop declaration of handle_device_interrupts() Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 2/8] xen/common: dom0less: make some parts of Arm's CONFIG_DOM0LESS common Oleksii Kurochko
2025-05-02 17:55 ` Stefano Stabellini
2025-05-05 7:35 ` Oleksii Kurochko
2025-05-05 8:35 ` Orzel, Michal
2025-05-05 13:19 ` Oleksii Kurochko
2025-05-05 17:19 ` Stefano Stabellini
2025-05-02 16:22 ` [PATCH v3 3/8] asm-generic: move parts of Arm's asm/kernel.h to common code Oleksii Kurochko
2025-05-02 18:13 ` Stefano Stabellini
2025-05-05 11:10 ` Oleksii Kurochko
2025-05-05 9:08 ` Orzel, Michal
2025-05-05 11:56 ` Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 4/8] arm/static-shmem.h: drop inclusion of asm/setup.h Oleksii Kurochko
2025-05-02 19:13 ` Stefano Stabellini
2025-05-05 8:19 ` Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 5/8] asm-generic: move some parts of Arm's domain_build.h to common Oleksii Kurochko
2025-05-02 20:55 ` Stefano Stabellini
2025-05-05 11:08 ` Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 6/8] xen/common: dom0less: introduce common kernel.c Oleksii Kurochko
2025-05-02 19:36 ` Stefano Stabellini
2025-05-05 9:23 ` Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 7/8] xen/common: dom0less: introduce common domain-build.c Oleksii Kurochko
2025-05-02 20:02 ` Stefano Stabellini
2025-05-05 10:06 ` Oleksii Kurochko
2025-05-02 16:22 ` [PATCH v3 8/8] xen/common: dom0less: introduce common dom0less-build.c Oleksii Kurochko
2025-05-02 20:53 ` Stefano Stabellini
2025-05-05 10:46 ` Oleksii Kurochko
2025-05-05 10:56 ` Oleksii Kurochko [this message]
2025-05-05 17:35 ` Stefano Stabellini
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=1d63c212-e6fb-4907-845d-296fb98fcc08@gmail.com \
--to=oleksii.kurochko@gmail.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=bertrand.marquis@arm.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/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.