On 26.12.2024 17:57, Daniel P. Smith wrote:
> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -609,6 +609,14 @@ int __init construct_dom0(struct boot_domain *bd)
>
> process_pending_softirqs();
>
> + /* If param dom0_size was not set and HL config provided memory size */
> + if ( !get_memsize(&dom0_size, LONG_MAX) && bd->mem_pages )
> + dom0_size.nr_pages = bd->mem_pages;
> + if ( !get_memsize(&dom0_min_size, LONG_MAX) && bd->min_pages )
> + dom0_size.nr_pages = bd->min_pages;
> + if ( !get_memsize(&dom0_max_size, LONG_MAX) && bd->max_pages )
> + dom0_size.nr_pages = bd->max_pages;
Again I don't think it should be mix-and-match: Either everything is
taken from DT, or everything is taken from the command line. Yet I'm
open to be convinced otherwise.
> --- a/xen/include/xen/libfdt/libfdt-xen.h
> +++ b/xen/include/xen/libfdt/libfdt-xen.h
> @@ -37,6 +37,15 @@ static inline int __init fdt_prop_as_u32(
> return fdt_cell_as_u32((fdt32_t *)prop->data, val);
> }
>
> +static inline int __init fdt_prop_as_u64(
> + const struct fdt_property *prop, uint64_t *val)
> +{
> + if ( !prop || fdt32_to_cpu(prop->len) < sizeof(u64) )
No new uses of u64 (and alike) please.
Jan