On Mon, 12 May 2025 10:39:31 +0200 Philippe Mathieu-Daudé <phi...@linaro.org> wrote:
> The PCMachineClass::broken_reserved_end field was only used > by the pc-q35-2.4 and pc-i440fx-2.4 machines, which got removed. > Remove it and simplify pc_memory_init(). > > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > Reviewed-by: Thomas Huth <th...@redhat.com> > Reviewed-by: Zhao Liu <zhao1....@intel.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > include/hw/i386/pc.h | 1 - > hw/i386/pc.c | 13 +++++-------- > 2 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index 9563674e2da..f4a874b17fc 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -107,7 +107,6 @@ struct PCMachineClass { > /* RAM / address space compat: */ > bool gigabyte_align; > bool has_reserved_memory; > - bool broken_reserved_end; > bool enforce_amd_1tb_hole; > bool isa_bios_alias; > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 70656157ca0..c8bb4a3ee47 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -999,14 +999,13 @@ void pc_memory_init(PCMachineState *pcms, > > if (machine->device_memory) { > uint64_t *val = g_malloc(sizeof(*val)); > - uint64_t res_mem_end = machine->device_memory->base; > - > - if (!pcmc->broken_reserved_end) { > - res_mem_end += memory_region_size(&machine->device_memory->mr); > - } > + uint64_t res_mem_end; > > if (pcms->cxl_devices_state.is_enabled) { > res_mem_end = cxl_resv_end; > + } else { > + res_mem_end = machine->device_memory->base > + + memory_region_size(&machine->device_memory->mr); > } > *val = cpu_to_le64(ROUND_UP(res_mem_end, 1 * GiB)); > fw_cfg_add_file(fw_cfg, "etc/reserved-memory-end", val, > sizeof(*val)); > @@ -1044,9 +1043,7 @@ uint64_t pc_pci_hole64_start(void) > hole64_start = pc_get_cxl_range_end(pcms); > } else if (pcmc->has_reserved_memory && (ms->ram_size < > ms->maxram_size)) { > pc_get_device_memory_range(pcms, &hole64_start, &size); > - if (!pcmc->broken_reserved_end) { > - hole64_start += size; > - } > + hole64_start += size; > } else { > hole64_start = pc_above_4g_end(pcms); > }