Folding with an immediately successive region can't be done by merely
lowering the start of the region. The size of the region needs increasing
as well.
Fixes: 5427134eae81 ("x86: populate PVHv2 Dom0 physical memory map")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -229,6 +229,7 @@ static int __init pvh_add_mem_range(stru
if ( rs == e && d->arch.e820[i].type == type )
{
d->arch.e820[i].addr = s;
+ d->arch.e820[i].size += e - s;
return 0;
}
On Mon, Oct 05, 2026 at 06:01:34PM +0200, Jan Beulich wrote:
> Folding with an immediately successive region can't be done by merely
> lowering the start of the region. The size of the region needs increasing
> as well.
>
> Fixes: 5427134eae81 ("x86: populate PVHv2 Dom0 physical memory map")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
My bad...
Reviewed-by: Roger Pau Monné <roger@xenproject.org>
>
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -229,6 +229,7 @@ static int __init pvh_add_mem_range(stru
> if ( rs == e && d->arch.e820[i].type == type )
> {
> d->arch.e820[i].addr = s;
> + d->arch.e820[i].size += e - s;
I think it would be simpler as:
d->arch.e820[i].size = re - s;
Thanks, Roger.
On 05.10.2026 18:19, Roger Pau Monné wrote:
> On Mon, Oct 05, 2026 at 06:01:34PM +0200, Jan Beulich wrote:
>> Folding with an immediately successive region can't be done by merely
>> lowering the start of the region. The size of the region needs increasing
>> as well.
>>
>> Fixes: 5427134eae81 ("x86: populate PVHv2 Dom0 physical memory map")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> My bad...
>
> Reviewed-by: Roger Pau Monné <roger@xenproject.org>
Thanks.
>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -229,6 +229,7 @@ static int __init pvh_add_mem_range(stru
>> if ( rs == e && d->arch.e820[i].type == type )
>> {
>> d->arch.e820[i].addr = s;
>> + d->arch.e820[i].size += e - s;
>
> I think it would be simpler as:
>
> d->arch.e820[i].size = re - s;
Perhaps, but the way I have it the compiler may figure that it can fold
the tail of this path with the next if()'s body.
Jan
On 2026-10-05 12:01, Jan Beulich wrote:
> Folding with an immediately successive region can't be done by merely
> lowering the start of the region. The size of the region needs increasing
> as well.
>
> Fixes: 5427134eae81 ("x86: populate PVHv2 Dom0 physical memory map")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
© 2016 - 2026 Red Hat, Inc.