pc: acpi: use local var for accessing ACPI tables blob in acpi_build()
except of shortening of lines and making code a bit more readable, it will reduce renaming noise when changing tables blob from GArray* to Aml* type. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									a20275fa50
								
							
						
					
					
						commit
						7c2c1fa5f4
					
				| 
						 | 
				
			
			@ -1421,6 +1421,7 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
 | 
			
		|||
    PcPciInfo pci;
 | 
			
		||||
    uint8_t *u;
 | 
			
		||||
    size_t aml_len = 0;
 | 
			
		||||
    GArray *tables_blob = tables->table_data;
 | 
			
		||||
 | 
			
		||||
    acpi_get_cpu_info(&cpu);
 | 
			
		||||
    acpi_get_pm_info(&pm);
 | 
			
		||||
| 
						 | 
				
			
			@ -1441,66 +1442,66 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
 | 
			
		|||
     * We place it first since it's the only table that has alignment
 | 
			
		||||
     * requirements.
 | 
			
		||||
     */
 | 
			
		||||
    facs = tables->table_data->len;
 | 
			
		||||
    build_facs(tables->table_data, tables->linker, guest_info);
 | 
			
		||||
    facs = tables_blob->len;
 | 
			
		||||
    build_facs(tables_blob, tables->linker, guest_info);
 | 
			
		||||
 | 
			
		||||
    /* DSDT is pointed to by FADT */
 | 
			
		||||
    dsdt = tables->table_data->len;
 | 
			
		||||
    build_dsdt(tables->table_data, tables->linker, &misc);
 | 
			
		||||
    dsdt = tables_blob->len;
 | 
			
		||||
    build_dsdt(tables_blob, tables->linker, &misc);
 | 
			
		||||
 | 
			
		||||
    /* Count the size of the DSDT and SSDT, we will need it for legacy
 | 
			
		||||
     * sizing of ACPI tables.
 | 
			
		||||
     */
 | 
			
		||||
    aml_len += tables->table_data->len - dsdt;
 | 
			
		||||
    aml_len += tables_blob->len - dsdt;
 | 
			
		||||
 | 
			
		||||
    /* ACPI tables pointed to by RSDT */
 | 
			
		||||
    acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
    build_fadt(tables->table_data, tables->linker, &pm, facs, dsdt);
 | 
			
		||||
    acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
    build_fadt(tables_blob, tables->linker, &pm, facs, dsdt);
 | 
			
		||||
 | 
			
		||||
    ssdt = tables->table_data->len;
 | 
			
		||||
    acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
    build_ssdt(tables->table_data, tables->linker, &cpu, &pm, &misc, &pci,
 | 
			
		||||
    ssdt = tables_blob->len;
 | 
			
		||||
    acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
    build_ssdt(tables_blob, tables->linker, &cpu, &pm, &misc, &pci,
 | 
			
		||||
               guest_info);
 | 
			
		||||
    aml_len += tables->table_data->len - ssdt;
 | 
			
		||||
    aml_len += tables_blob->len - ssdt;
 | 
			
		||||
 | 
			
		||||
    acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
    build_madt(tables->table_data, tables->linker, &cpu, guest_info);
 | 
			
		||||
    acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
    build_madt(tables_blob, tables->linker, &cpu, guest_info);
 | 
			
		||||
 | 
			
		||||
    if (misc.has_hpet) {
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_hpet(tables->table_data, tables->linker);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_hpet(tables_blob, tables->linker);
 | 
			
		||||
    }
 | 
			
		||||
    if (misc.has_tpm) {
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_tpm_tcpa(tables->table_data, tables->linker, tables->tcpalog);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_tpm_tcpa(tables_blob, tables->linker, tables->tcpalog);
 | 
			
		||||
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_tpm_ssdt(tables->table_data, tables->linker);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_tpm_ssdt(tables_blob, tables->linker);
 | 
			
		||||
    }
 | 
			
		||||
    if (guest_info->numa_nodes) {
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_srat(tables->table_data, tables->linker, guest_info);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_srat(tables_blob, tables->linker, guest_info);
 | 
			
		||||
    }
 | 
			
		||||
    if (acpi_get_mcfg(&mcfg)) {
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_mcfg_q35(tables->table_data, tables->linker, &mcfg);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_mcfg_q35(tables_blob, tables->linker, &mcfg);
 | 
			
		||||
    }
 | 
			
		||||
    if (acpi_has_iommu()) {
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        build_dmar_q35(tables->table_data, tables->linker);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        build_dmar_q35(tables_blob, tables->linker);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Add tables supplied by user (if any) */
 | 
			
		||||
    for (u = acpi_table_first(); u; u = acpi_table_next(u)) {
 | 
			
		||||
        unsigned len = acpi_table_len(u);
 | 
			
		||||
 | 
			
		||||
        acpi_add_table(table_offsets, tables->table_data);
 | 
			
		||||
        g_array_append_vals(tables->table_data, u, len);
 | 
			
		||||
        acpi_add_table(table_offsets, tables_blob);
 | 
			
		||||
        g_array_append_vals(tables_blob, u, len);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* RSDT is pointed to by RSDP */
 | 
			
		||||
    rsdt = tables->table_data->len;
 | 
			
		||||
    build_rsdt(tables->table_data, tables->linker, table_offsets);
 | 
			
		||||
    rsdt = tables_blob->len;
 | 
			
		||||
    build_rsdt(tables_blob, tables->linker, table_offsets);
 | 
			
		||||
 | 
			
		||||
    /* RSDP is in FSEG memory, so allocate it separately */
 | 
			
		||||
    build_rsdp(tables->rsdp, tables->linker, rsdt);
 | 
			
		||||
| 
						 | 
				
			
			@ -1530,23 +1531,23 @@ void acpi_build(PcGuestInfo *guest_info, AcpiBuildTables *tables)
 | 
			
		|||
            guest_info->legacy_acpi_table_size +
 | 
			
		||||
            ACPI_BUILD_LEGACY_CPU_AML_SIZE * max_cpus;
 | 
			
		||||
        int legacy_table_size =
 | 
			
		||||
            ROUND_UP(tables->table_data->len - aml_len + legacy_aml_len,
 | 
			
		||||
            ROUND_UP(tables_blob->len - aml_len + legacy_aml_len,
 | 
			
		||||
                     ACPI_BUILD_ALIGN_SIZE);
 | 
			
		||||
        if (tables->table_data->len > legacy_table_size) {
 | 
			
		||||
        if (tables_blob->len > legacy_table_size) {
 | 
			
		||||
            /* Should happen only with PCI bridges and -M pc-i440fx-2.0.  */
 | 
			
		||||
            error_report("Warning: migration may not work.");
 | 
			
		||||
        }
 | 
			
		||||
        g_array_set_size(tables->table_data, legacy_table_size);
 | 
			
		||||
        g_array_set_size(tables_blob, legacy_table_size);
 | 
			
		||||
    } else {
 | 
			
		||||
        /* Make sure we have a buffer in case we need to resize the tables. */
 | 
			
		||||
        if (tables->table_data->len > ACPI_BUILD_TABLE_SIZE / 2) {
 | 
			
		||||
        if (tables_blob->len > ACPI_BUILD_TABLE_SIZE / 2) {
 | 
			
		||||
            /* As of QEMU 2.1, this fires with 160 VCPUs and 255 memory slots.  */
 | 
			
		||||
            error_report("Warning: ACPI tables are larger than 64k.");
 | 
			
		||||
            error_report("Warning: migration may not work.");
 | 
			
		||||
            error_report("Warning: please remove CPUs, NUMA nodes, "
 | 
			
		||||
                         "memory slots or PCI bridges.");
 | 
			
		||||
        }
 | 
			
		||||
        acpi_align_size(tables->table_data, ACPI_BUILD_TABLE_SIZE);
 | 
			
		||||
        acpi_align_size(tables_blob, ACPI_BUILD_TABLE_SIZE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    acpi_align_size(tables->linker, ACPI_BUILD_ALIGN_SIZE);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue