Message ID | 20250512083948.39294-3-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw/i386/pc: Remove deprecated 2.4 and 2.5 PC machines | expand |
On 5/12/2025 4:39 PM, Philippe Mathieu-Daudé 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é <philmd@linaro.org> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Reviewed-by: Thomas Huth <thuth@redhat.com> > Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.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); > }
On Mon, 12 May 2025 10:39:31 +0200 Philippe Mathieu-Daudé <philmd@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é <philmd@linaro.org> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > Reviewed-by: Thomas Huth <thuth@redhat.com> > Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Reviewed-by: Igor Mammedov <imammedo@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); > }
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); }