[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 0/8] Move parts of Arm's Dom0less to common code
The patch series needs to be rebased. Actually, I couldn't find a baseline where to apply patch #2 successfully On Mon, 14 Apr 2025, Oleksii Kurochko wrote: > Some parts of Arm's Dom0less solution could be moved to common code as they > are > not truly Arm-specific. > > Most of the code is moved as is, with only minor changes introduced to provide > abstractions that hide Arm-specific details, while maintaining functional > equivalence with original Arm's code. > > There are several open questions: > 1. Probably, the introduced headers currently placed in asm-generic should > instead reside in the xen/include folder. > 2. Perhaps the introduced *.c files should always be placed elsewhere. They > have been put in device-tree common as they somewhat depend on device tree > functionality. > 3. The u64 and u32 types are widely used in the code where device tree > functionality is implemented because these types are used in device tree > function arguments. > Should this be reworked to use uint32_t and uint64_t instead? If so, will > it > also be necessary to change the type of variables passed to dt-related > functions, or should the argument types of device tree functions be updated > too? For example: > ``` > u64 mem; > ... > rc = dt_property_read_u64(node, "memory", &mem); > ``` > where dt_property_read_u64 is declared as: > bool dt_property_read_u64(... , u64 *out_value); > 4. Instead of providing init_intc_phandle() (see the patch: [1]), perhaps it > would be better to add a for loop in domain_handle_dtb_bootmodule()? > Something like: > ``` > bool is_intc_phandle_inited = false; > for ( unsigned int i = 0; i < ARRAY_SIZE(intc_names_array); i++ ) > { > if ( dt_node_cmp(name, intc_names_array[i]) == 0 ) > { > uint32_t phandle_intc = fdt_get_phandle(pfdt, node_next); > > if ( phandle_intc != 0 ) > kinfo->phandle_intc = phandle_intc; > > is_intc_phandle_inited = true; > break; > } > } > > if ( is_intc_phandle_inited ) continue; > ``` > > [1]] [PATCH v1 9/9] xen/common: dom0less: introduce common dom0less-build.c > > --- > Changes in v2: > - Update cover letter message. > - Rebase on top of the current staging. > - Drop patches: > - asm-generic: move Arm's static-memory.h to asm-generic > - asm-generic: move Arm's static-shmem.h to asm-generic > as in the nearest future there is no real users of STATIC_MEMORY and > STATIC_SHMEM. > - Add new cleanup patch: > [PATCH v2 1/8] xen/arm: drop declaration of handle_device_interrupts() > - All other changes are patch specific. Please check them seprately for each > patch > --- > > Oleksii Kurochko (8): > xen/arm: drop declaration of handle_device_interrupts() > xen/common: dom0less: make some parts of Arm's CONFIG_DOM0LESS common > asm-generic: move parts of Arm's asm/kernel.h to common code > arm/static-shmem.h: drop inclusion of asm/setup.h > asm-generic: move some parts of Arm's domain_build.h to common > xen/common: dom0less: introduce common kernel.c > xen/common: dom0less: introduce common domain-build.c > xen/common: dom0less: introduce common dom0less-build.c > > xen/arch/arm/Kconfig | 10 +- > xen/arch/arm/acpi/domain_build.c | 4 +- > xen/arch/arm/dom0less-build.c | 997 +++------------------- > xen/arch/arm/domain_build.c | 411 +-------- > xen/arch/arm/include/asm/Makefile | 1 + > xen/arch/arm/include/asm/dom0less-build.h | 32 - > xen/arch/arm/include/asm/domain_build.h | 31 +- > xen/arch/arm/include/asm/kernel.h | 126 +-- > xen/arch/arm/include/asm/static-memory.h | 2 +- > xen/arch/arm/include/asm/static-shmem.h | 2 +- > xen/arch/arm/kernel.c | 234 +---- > xen/arch/arm/static-memory.c | 1 + > xen/arch/arm/static-shmem.c | 3 +- > xen/common/Kconfig | 19 + > xen/common/device-tree/Makefile | 3 + > xen/common/device-tree/dom0less-build.c | 891 +++++++++++++++++++ > xen/common/device-tree/domain-build.c | 404 +++++++++ > xen/common/device-tree/dt-overlay.c | 4 +- > xen/common/device-tree/kernel.c | 242 ++++++ > xen/include/asm-generic/dom0less-build.h | 82 ++ > xen/include/xen/fdt-domain-build.h | 77 ++ > xen/include/xen/fdt-kernel.h | 146 ++++ > 22 files changed, 2013 insertions(+), 1709 deletions(-) > delete mode 100644 xen/arch/arm/include/asm/dom0less-build.h > create mode 100644 xen/common/device-tree/dom0less-build.c > create mode 100644 xen/common/device-tree/domain-build.c > create mode 100644 xen/common/device-tree/kernel.c > create mode 100644 xen/include/asm-generic/dom0less-build.h > create mode 100644 xen/include/xen/fdt-domain-build.h > create mode 100644 xen/include/xen/fdt-kernel.h > > -- > 2.49.0 >
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |