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);
>      }


Reply via email to