Message ID | 20240327095124.73639-22-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [PATCH-for-9.1,v2,01/21] hw/i386/pc: Remove deprecated pc-i440fx-2.0 machine | expand |
Hi Philippe, On Wed, Mar 27, 2024 at 10:51:23AM +0100, Philippe Mathieu-Daudé wrote: > Date: Wed, 27 Mar 2024 10:51:23 +0100 > From: Philippe Mathieu-Daudé <philmd@linaro.org> > Subject: [PATCH-for-9.1 v2 21/21] hw/i386/pc: Replace > PCMachineClass::acpi_data_size by PC_ACPI_DATA_SIZE > X-Mailer: git-send-email 2.41.0 [snip] > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 27e04c52f6..f01a30d3d9 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -256,6 +256,16 @@ GlobalProperty pc_compat_2_4[] = { > }; > const size_t pc_compat_2_4_len = G_N_ELEMENTS(pc_compat_2_4); > > +/* > + * @PC_ACPI_DATA_SIZE: > + * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables > + * and other BIOS datastructures. > + * > + * BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K > + * reported to be used at the moment, 32K should be enough for a while. > + */ > +#define PC_ACPI_DATA_SIZE (0x20000 + 0x8000) > + What about putting this in pc.h? Because it is a general definition for PC. Others are good for me, Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
On 28/3/24 05:10, Zhao Liu wrote: > Hi Philippe, > > On Wed, Mar 27, 2024 at 10:51:23AM +0100, Philippe Mathieu-Daudé wrote: >> Date: Wed, 27 Mar 2024 10:51:23 +0100 >> From: Philippe Mathieu-Daudé <philmd@linaro.org> >> Subject: [PATCH-for-9.1 v2 21/21] hw/i386/pc: Replace >> PCMachineClass::acpi_data_size by PC_ACPI_DATA_SIZE >> X-Mailer: git-send-email 2.41.0 > > [snip] > >> diff --git a/hw/i386/pc.c b/hw/i386/pc.c >> index 27e04c52f6..f01a30d3d9 100644 >> --- a/hw/i386/pc.c >> +++ b/hw/i386/pc.c >> @@ -256,6 +256,16 @@ GlobalProperty pc_compat_2_4[] = { >> }; >> const size_t pc_compat_2_4_len = G_N_ELEMENTS(pc_compat_2_4); >> >> +/* >> + * @PC_ACPI_DATA_SIZE: >> + * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables >> + * and other BIOS datastructures. >> + * >> + * BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K >> + * reported to be used at the moment, 32K should be enough for a while. >> + */ >> +#define PC_ACPI_DATA_SIZE (0x20000 + 0x8000) >> + > > What about putting this in pc.h? Because it is a general definition for > PC. Since nothing out of hw/i386/pc.c uses this definition, I rather avoid exposing it. > > Others are good for me, > > Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Thanks!
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 96ccb4583f..0ad971782c 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -74,9 +74,6 @@ typedef struct PCMachineState { * * Compat fields: * - * @acpi_data_size: Size of the chunk of memory at the top of RAM - * for the BIOS ACPI tables and other BIOS - * datastructures. * @gigabyte_align: Make sure that guest addresses aligned at * 1Gbyte boundaries get mapped to host * addresses aligned at 1Gbyte boundaries. This @@ -100,7 +97,6 @@ struct PCMachineClass { /* ACPI compat: */ bool has_acpi_build; - unsigned acpi_data_size; int pci_root_uid; /* SMBIOS compat: */ diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 27e04c52f6..f01a30d3d9 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -256,6 +256,16 @@ GlobalProperty pc_compat_2_4[] = { }; const size_t pc_compat_2_4_len = G_N_ELEMENTS(pc_compat_2_4); +/* + * @PC_ACPI_DATA_SIZE: + * Size of the chunk of memory at the top of RAM for the BIOS ACPI tables + * and other BIOS datastructures. + * + * BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K + * reported to be used at the moment, 32K should be enough for a while. + */ +#define PC_ACPI_DATA_SIZE (0x20000 + 0x8000) + GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled) { GSIState *s; @@ -634,8 +644,7 @@ void xen_load_linux(PCMachineState *pcms) fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, x86ms->boot_cpus); rom_set_fw(fw_cfg); - x86_load_linux(x86ms, fw_cfg, pcmc->acpi_data_size, - pcmc->pvh_enabled); + x86_load_linux(x86ms, fw_cfg, PC_ACPI_DATA_SIZE, pcmc->pvh_enabled); for (i = 0; i < nb_option_roms; i++) { assert(!strcmp(option_rom[i].name, "linuxboot.bin") || !strcmp(option_rom[i].name, "linuxboot_dma.bin") || @@ -969,8 +978,7 @@ void pc_memory_init(PCMachineState *pcms, } if (linux_boot) { - x86_load_linux(x86ms, fw_cfg, pcmc->acpi_data_size, - pcmc->pvh_enabled); + x86_load_linux(x86ms, fw_cfg, PC_ACPI_DATA_SIZE, pcmc->pvh_enabled); } for (i = 0; i < nb_option_roms; i++) { @@ -1722,9 +1730,6 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) pcmc->gigabyte_align = true; pcmc->has_reserved_memory = true; pcmc->enforce_amd_1tb_hole = true; - /* BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K reported - * to be used at the moment, 32K should be enough for a while. */ - pcmc->acpi_data_size = 0x20000 + 0x8000; pcmc->pvh_enabled = true; pcmc->kvmclock_create_always = true; x86mc->apic_xrupt_override = true;