* [Qemu-arm] [PATCH v2] hw/acpi: extract acpi_add_rom_blob()
@ 2019-03-14 7:38 Wei Yang
2019-03-14 9:25 ` Igor Mammedov
0 siblings, 1 reply; 3+ messages in thread
From: Wei Yang @ 2019-03-14 7:38 UTC (permalink / raw)
To: qemu-devel, qemu-arm
Cc: yang.zhong, peter.maydell, mst, shannon.zhaosl, Wei Yang,
imammedo
arm and i386 has almost the same function acpi_add_rom_blob(), except
giving different FWCfgCallback function.
This patch extract acpi_add_rom_blob() to aml-build.c by passing
FWCfgCallback to it.
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
v2:
* remove unused header in original source file
---
hw/acpi/aml-build.c | 8 ++++++++
hw/arm/virt-acpi-build.c | 25 +++++++++----------------
hw/i386/acpi-build.c | 25 +++++++++----------------
include/hw/acpi/aml-build.h | 4 ++++
4 files changed, 30 insertions(+), 32 deletions(-)
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index 555c24f21d..ed427f8310 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -1559,6 +1559,14 @@ void *acpi_data_push(GArray *table_data, unsigned size)
return table_data->data + off;
}
+MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
+ GArray *blob, const char *name,
+ uint64_t max_size)
+{
+ return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
+ name, update, opaque, NULL, true);
+}
+
unsigned acpi_data_len(GArray *table)
{
assert(g_array_get_element_size(table) == 1);
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 57679a89bf..f7fd0cf06a 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -37,7 +37,6 @@
#include "hw/acpi/acpi.h"
#include "hw/nvram/fw_cfg.h"
#include "hw/acpi/bios-linker-loader.h"
-#include "hw/loader.h"
#include "hw/hw.h"
#include "hw/acpi/aml-build.h"
#include "hw/pci/pcie_host.h"
@@ -881,14 +880,6 @@ static void virt_acpi_build_reset(void *build_opaque)
build_state->patched = false;
}
-static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
- GArray *blob, const char *name,
- uint64_t max_size)
-{
- return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
- name, virt_acpi_build_update, build_state, NULL, true);
-}
-
static const VMStateDescription vmstate_virt_acpi_build = {
.name = "virt_acpi_build",
.version_id = 1,
@@ -920,20 +911,22 @@ void virt_acpi_setup(VirtMachineState *vms)
virt_acpi_build(vms, &tables);
/* Now expose it all to Guest */
- build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
- ACPI_BUILD_TABLE_FILE,
- ACPI_BUILD_TABLE_MAX_SIZE);
+ build_state->table_mr = acpi_add_rom_blob(virt_acpi_build_update,
+ build_state, tables.table_data,
+ ACPI_BUILD_TABLE_FILE,
+ ACPI_BUILD_TABLE_MAX_SIZE);
assert(build_state->table_mr != NULL);
build_state->linker_mr =
- acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
- "etc/table-loader", 0);
+ acpi_add_rom_blob(virt_acpi_build_update, build_state,
+ tables.linker->cmd_blob, "etc/table-loader", 0);
fw_cfg_add_file(vms->fw_cfg, ACPI_BUILD_TPMLOG_FILE, tables.tcpalog->data,
acpi_data_len(tables.tcpalog));
- build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
- ACPI_BUILD_RSDP_FILE, 0);
+ build_state->rsdp_mr = acpi_add_rom_blob(virt_acpi_build_update,
+ build_state, tables.rsdp,
+ ACPI_BUILD_RSDP_FILE, 0);
qemu_register_reset(virt_acpi_build_reset, build_state);
virt_acpi_build_reset(build_state);
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 416da318ae..bc6e4b1f01 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -37,7 +37,6 @@
#include "hw/acpi/cpu.h"
#include "hw/nvram/fw_cfg.h"
#include "hw/acpi/bios-linker-loader.h"
-#include "hw/loader.h"
#include "hw/isa/isa.h"
#include "hw/block/fdc.h"
#include "hw/acpi/memory_hotplug.h"
@@ -2842,14 +2841,6 @@ static void acpi_build_reset(void *build_opaque)
build_state->patched = 0;
}
-static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
- GArray *blob, const char *name,
- uint64_t max_size)
-{
- return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
- name, acpi_build_update, build_state, NULL, true);
-}
-
static const VMStateDescription vmstate_acpi_build = {
.name = "acpi_build",
.version_id = 1,
@@ -2891,14 +2882,15 @@ void acpi_setup(void)
acpi_build(&tables, MACHINE(pcms));
/* Now expose it all to Guest */
- build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
- ACPI_BUILD_TABLE_FILE,
- ACPI_BUILD_TABLE_MAX_SIZE);
+ build_state->table_mr = acpi_add_rom_blob(acpi_build_update,
+ build_state, tables.table_data,
+ ACPI_BUILD_TABLE_FILE,
+ ACPI_BUILD_TABLE_MAX_SIZE);
assert(build_state->table_mr != NULL);
build_state->linker_mr =
- acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
- "etc/table-loader", 0);
+ acpi_add_rom_blob(acpi_build_update, build_state,
+ tables.linker->cmd_blob, "etc/table-loader", 0);
fw_cfg_add_file(pcms->fw_cfg, ACPI_BUILD_TPMLOG_FILE,
tables.tcpalog->data, acpi_data_len(tables.tcpalog));
@@ -2935,8 +2927,9 @@ void acpi_setup(void)
build_state->rsdp_mr = NULL;
} else {
build_state->rsdp = NULL;
- build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
- ACPI_BUILD_RSDP_FILE, 0);
+ build_state->rsdp_mr = acpi_add_rom_blob(acpi_build_update,
+ build_state, tables.rsdp,
+ ACPI_BUILD_RSDP_FILE, 0);
}
qemu_register_reset(acpi_build_reset, build_state);
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
index 1a563ad756..4945aeef5b 100644
--- a/include/hw/acpi/aml-build.h
+++ b/include/hw/acpi/aml-build.h
@@ -3,6 +3,7 @@
#include "hw/acpi/acpi-defs.h"
#include "hw/acpi/bios-linker-loader.h"
+#include "hw/loader.h"
/* Reserve RAM space for tables: add another order of magnitude. */
#define ACPI_BUILD_TABLE_MAX_SIZE 0x200000
@@ -383,6 +384,9 @@ build_header(BIOSLinker *linker, GArray *table_data,
AcpiTableHeader *h, const char *sig, int len, uint8_t rev,
const char *oem_id, const char *oem_table_id);
void *acpi_data_push(GArray *table_data, unsigned size);
+MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
+ GArray *blob, const char *name,
+ uint64_t max_size);
unsigned acpi_data_len(GArray *table);
void acpi_add_table(GArray *table_offsets, GArray *table_data);
void acpi_build_tables_init(AcpiBuildTables *tables);
--
2.19.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-arm] [PATCH v2] hw/acpi: extract acpi_add_rom_blob()
2019-03-14 7:38 [Qemu-arm] [PATCH v2] hw/acpi: extract acpi_add_rom_blob() Wei Yang
@ 2019-03-14 9:25 ` Igor Mammedov
2019-03-14 11:56 ` [Qemu-devel] " Wei Yang
0 siblings, 1 reply; 3+ messages in thread
From: Igor Mammedov @ 2019-03-14 9:25 UTC (permalink / raw)
To: Wei Yang
Cc: yang.zhong, peter.maydell, mst, qemu-devel, shannon.zhaosl,
qemu-arm
On Thu, 14 Mar 2019 15:38:36 +0800
Wei Yang <richardw.yang@linux.intel.com> wrote:
> arm and i386 has almost the same function acpi_add_rom_blob(), except
> giving different FWCfgCallback function.
>
> This patch extract acpi_add_rom_blob() to aml-build.c by passing
> FWCfgCallback to it.
>
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
>
> ---
> v2:
> * remove unused header in original source file
> ---
> hw/acpi/aml-build.c | 8 ++++++++
> hw/arm/virt-acpi-build.c | 25 +++++++++----------------
> hw/i386/acpi-build.c | 25 +++++++++----------------
> include/hw/acpi/aml-build.h | 4 ++++
> 4 files changed, 30 insertions(+), 32 deletions(-)
>
> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
> index 555c24f21d..ed427f8310 100644
> --- a/hw/acpi/aml-build.c
> +++ b/hw/acpi/aml-build.c
I'd like to keep aml-build.c clean from not spec related code,
Lets create a separate source file for QEMU specific code, something like
hw/acpi/utils.(h|c)
otherwise patch looks fine to me
> @@ -1559,6 +1559,14 @@ void *acpi_data_push(GArray *table_data, unsigned size)
> return table_data->data + off;
> }
>
> +MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
> + GArray *blob, const char *name,
> + uint64_t max_size)
> +{
> + return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
> + name, update, opaque, NULL, true);
> +}
> +
> unsigned acpi_data_len(GArray *table)
> {
> assert(g_array_get_element_size(table) == 1);
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index 57679a89bf..f7fd0cf06a 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -37,7 +37,6 @@
> #include "hw/acpi/acpi.h"
> #include "hw/nvram/fw_cfg.h"
> #include "hw/acpi/bios-linker-loader.h"
> -#include "hw/loader.h"
> #include "hw/hw.h"
> #include "hw/acpi/aml-build.h"
> #include "hw/pci/pcie_host.h"
> @@ -881,14 +880,6 @@ static void virt_acpi_build_reset(void *build_opaque)
> build_state->patched = false;
> }
>
> -static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
> - GArray *blob, const char *name,
> - uint64_t max_size)
> -{
> - return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
> - name, virt_acpi_build_update, build_state, NULL, true);
> -}
> -
> static const VMStateDescription vmstate_virt_acpi_build = {
> .name = "virt_acpi_build",
> .version_id = 1,
> @@ -920,20 +911,22 @@ void virt_acpi_setup(VirtMachineState *vms)
> virt_acpi_build(vms, &tables);
>
> /* Now expose it all to Guest */
> - build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
> - ACPI_BUILD_TABLE_FILE,
> - ACPI_BUILD_TABLE_MAX_SIZE);
> + build_state->table_mr = acpi_add_rom_blob(virt_acpi_build_update,
> + build_state, tables.table_data,
> + ACPI_BUILD_TABLE_FILE,
> + ACPI_BUILD_TABLE_MAX_SIZE);
> assert(build_state->table_mr != NULL);
>
> build_state->linker_mr =
> - acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
> - "etc/table-loader", 0);
> + acpi_add_rom_blob(virt_acpi_build_update, build_state,
> + tables.linker->cmd_blob, "etc/table-loader", 0);
>
> fw_cfg_add_file(vms->fw_cfg, ACPI_BUILD_TPMLOG_FILE, tables.tcpalog->data,
> acpi_data_len(tables.tcpalog));
>
> - build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
> - ACPI_BUILD_RSDP_FILE, 0);
> + build_state->rsdp_mr = acpi_add_rom_blob(virt_acpi_build_update,
> + build_state, tables.rsdp,
> + ACPI_BUILD_RSDP_FILE, 0);
>
> qemu_register_reset(virt_acpi_build_reset, build_state);
> virt_acpi_build_reset(build_state);
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 416da318ae..bc6e4b1f01 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -37,7 +37,6 @@
> #include "hw/acpi/cpu.h"
> #include "hw/nvram/fw_cfg.h"
> #include "hw/acpi/bios-linker-loader.h"
> -#include "hw/loader.h"
> #include "hw/isa/isa.h"
> #include "hw/block/fdc.h"
> #include "hw/acpi/memory_hotplug.h"
> @@ -2842,14 +2841,6 @@ static void acpi_build_reset(void *build_opaque)
> build_state->patched = 0;
> }
>
> -static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
> - GArray *blob, const char *name,
> - uint64_t max_size)
> -{
> - return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
> - name, acpi_build_update, build_state, NULL, true);
> -}
> -
> static const VMStateDescription vmstate_acpi_build = {
> .name = "acpi_build",
> .version_id = 1,
> @@ -2891,14 +2882,15 @@ void acpi_setup(void)
> acpi_build(&tables, MACHINE(pcms));
>
> /* Now expose it all to Guest */
> - build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
> - ACPI_BUILD_TABLE_FILE,
> - ACPI_BUILD_TABLE_MAX_SIZE);
> + build_state->table_mr = acpi_add_rom_blob(acpi_build_update,
> + build_state, tables.table_data,
> + ACPI_BUILD_TABLE_FILE,
> + ACPI_BUILD_TABLE_MAX_SIZE);
> assert(build_state->table_mr != NULL);
>
> build_state->linker_mr =
> - acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
> - "etc/table-loader", 0);
> + acpi_add_rom_blob(acpi_build_update, build_state,
> + tables.linker->cmd_blob, "etc/table-loader", 0);
>
> fw_cfg_add_file(pcms->fw_cfg, ACPI_BUILD_TPMLOG_FILE,
> tables.tcpalog->data, acpi_data_len(tables.tcpalog));
> @@ -2935,8 +2927,9 @@ void acpi_setup(void)
> build_state->rsdp_mr = NULL;
> } else {
> build_state->rsdp = NULL;
> - build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
> - ACPI_BUILD_RSDP_FILE, 0);
> + build_state->rsdp_mr = acpi_add_rom_blob(acpi_build_update,
> + build_state, tables.rsdp,
> + ACPI_BUILD_RSDP_FILE, 0);
> }
>
> qemu_register_reset(acpi_build_reset, build_state);
> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
> index 1a563ad756..4945aeef5b 100644
> --- a/include/hw/acpi/aml-build.h
> +++ b/include/hw/acpi/aml-build.h
> @@ -3,6 +3,7 @@
>
> #include "hw/acpi/acpi-defs.h"
> #include "hw/acpi/bios-linker-loader.h"
> +#include "hw/loader.h"
>
> /* Reserve RAM space for tables: add another order of magnitude. */
> #define ACPI_BUILD_TABLE_MAX_SIZE 0x200000
> @@ -383,6 +384,9 @@ build_header(BIOSLinker *linker, GArray *table_data,
> AcpiTableHeader *h, const char *sig, int len, uint8_t rev,
> const char *oem_id, const char *oem_table_id);
> void *acpi_data_push(GArray *table_data, unsigned size);
> +MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
> + GArray *blob, const char *name,
> + uint64_t max_size);
> unsigned acpi_data_len(GArray *table);
> void acpi_add_table(GArray *table_offsets, GArray *table_data);
> void acpi_build_tables_init(AcpiBuildTables *tables);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] hw/acpi: extract acpi_add_rom_blob()
2019-03-14 9:25 ` Igor Mammedov
@ 2019-03-14 11:56 ` Wei Yang
0 siblings, 0 replies; 3+ messages in thread
From: Wei Yang @ 2019-03-14 11:56 UTC (permalink / raw)
To: Igor Mammedov
Cc: yang.zhong, peter.maydell, mst, qemu-devel, shannon.zhaosl,
qemu-arm, Wei Yang
On Thu, Mar 14, 2019 at 10:25:14AM +0100, Igor Mammedov wrote:
>On Thu, 14 Mar 2019 15:38:36 +0800
>Wei Yang <richardw.yang@linux.intel.com> wrote:
>
>> arm and i386 has almost the same function acpi_add_rom_blob(), except
>> giving different FWCfgCallback function.
>>
>> This patch extract acpi_add_rom_blob() to aml-build.c by passing
>> FWCfgCallback to it.
>>
>> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
>>
>> ---
>> v2:
>> * remove unused header in original source file
>> ---
>> hw/acpi/aml-build.c | 8 ++++++++
>> hw/arm/virt-acpi-build.c | 25 +++++++++----------------
>> hw/i386/acpi-build.c | 25 +++++++++----------------
>> include/hw/acpi/aml-build.h | 4 ++++
>> 4 files changed, 30 insertions(+), 32 deletions(-)
>>
>> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
>> index 555c24f21d..ed427f8310 100644
>> --- a/hw/acpi/aml-build.c
>> +++ b/hw/acpi/aml-build.c
>I'd like to keep aml-build.c clean from not spec related code,
>Lets create a separate source file for QEMU specific code, something like
>hw/acpi/utils.(h|c)
>
>otherwise patch looks fine to me
>
Reasonable, thanks for this comment.
>
>> @@ -1559,6 +1559,14 @@ void *acpi_data_push(GArray *table_data, unsigned size)
>> return table_data->data + off;
>> }
>>
>> +MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
>> + GArray *blob, const char *name,
>> + uint64_t max_size)
>> +{
>> + return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
>> + name, update, opaque, NULL, true);
>> +}
>> +
>> unsigned acpi_data_len(GArray *table)
>> {
>> assert(g_array_get_element_size(table) == 1);
>> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
>> index 57679a89bf..f7fd0cf06a 100644
>> --- a/hw/arm/virt-acpi-build.c
>> +++ b/hw/arm/virt-acpi-build.c
>> @@ -37,7 +37,6 @@
>> #include "hw/acpi/acpi.h"
>> #include "hw/nvram/fw_cfg.h"
>> #include "hw/acpi/bios-linker-loader.h"
>> -#include "hw/loader.h"
>> #include "hw/hw.h"
>> #include "hw/acpi/aml-build.h"
>> #include "hw/pci/pcie_host.h"
>> @@ -881,14 +880,6 @@ static void virt_acpi_build_reset(void *build_opaque)
>> build_state->patched = false;
>> }
>>
>> -static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
>> - GArray *blob, const char *name,
>> - uint64_t max_size)
>> -{
>> - return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
>> - name, virt_acpi_build_update, build_state, NULL, true);
>> -}
>> -
>> static const VMStateDescription vmstate_virt_acpi_build = {
>> .name = "virt_acpi_build",
>> .version_id = 1,
>> @@ -920,20 +911,22 @@ void virt_acpi_setup(VirtMachineState *vms)
>> virt_acpi_build(vms, &tables);
>>
>> /* Now expose it all to Guest */
>> - build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
>> - ACPI_BUILD_TABLE_FILE,
>> - ACPI_BUILD_TABLE_MAX_SIZE);
>> + build_state->table_mr = acpi_add_rom_blob(virt_acpi_build_update,
>> + build_state, tables.table_data,
>> + ACPI_BUILD_TABLE_FILE,
>> + ACPI_BUILD_TABLE_MAX_SIZE);
>> assert(build_state->table_mr != NULL);
>>
>> build_state->linker_mr =
>> - acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
>> - "etc/table-loader", 0);
>> + acpi_add_rom_blob(virt_acpi_build_update, build_state,
>> + tables.linker->cmd_blob, "etc/table-loader", 0);
>>
>> fw_cfg_add_file(vms->fw_cfg, ACPI_BUILD_TPMLOG_FILE, tables.tcpalog->data,
>> acpi_data_len(tables.tcpalog));
>>
>> - build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
>> - ACPI_BUILD_RSDP_FILE, 0);
>> + build_state->rsdp_mr = acpi_add_rom_blob(virt_acpi_build_update,
>> + build_state, tables.rsdp,
>> + ACPI_BUILD_RSDP_FILE, 0);
>>
>> qemu_register_reset(virt_acpi_build_reset, build_state);
>> virt_acpi_build_reset(build_state);
>> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
>> index 416da318ae..bc6e4b1f01 100644
>> --- a/hw/i386/acpi-build.c
>> +++ b/hw/i386/acpi-build.c
>> @@ -37,7 +37,6 @@
>> #include "hw/acpi/cpu.h"
>> #include "hw/nvram/fw_cfg.h"
>> #include "hw/acpi/bios-linker-loader.h"
>> -#include "hw/loader.h"
>> #include "hw/isa/isa.h"
>> #include "hw/block/fdc.h"
>> #include "hw/acpi/memory_hotplug.h"
>> @@ -2842,14 +2841,6 @@ static void acpi_build_reset(void *build_opaque)
>> build_state->patched = 0;
>> }
>>
>> -static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state,
>> - GArray *blob, const char *name,
>> - uint64_t max_size)
>> -{
>> - return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1,
>> - name, acpi_build_update, build_state, NULL, true);
>> -}
>> -
>> static const VMStateDescription vmstate_acpi_build = {
>> .name = "acpi_build",
>> .version_id = 1,
>> @@ -2891,14 +2882,15 @@ void acpi_setup(void)
>> acpi_build(&tables, MACHINE(pcms));
>>
>> /* Now expose it all to Guest */
>> - build_state->table_mr = acpi_add_rom_blob(build_state, tables.table_data,
>> - ACPI_BUILD_TABLE_FILE,
>> - ACPI_BUILD_TABLE_MAX_SIZE);
>> + build_state->table_mr = acpi_add_rom_blob(acpi_build_update,
>> + build_state, tables.table_data,
>> + ACPI_BUILD_TABLE_FILE,
>> + ACPI_BUILD_TABLE_MAX_SIZE);
>> assert(build_state->table_mr != NULL);
>>
>> build_state->linker_mr =
>> - acpi_add_rom_blob(build_state, tables.linker->cmd_blob,
>> - "etc/table-loader", 0);
>> + acpi_add_rom_blob(acpi_build_update, build_state,
>> + tables.linker->cmd_blob, "etc/table-loader", 0);
>>
>> fw_cfg_add_file(pcms->fw_cfg, ACPI_BUILD_TPMLOG_FILE,
>> tables.tcpalog->data, acpi_data_len(tables.tcpalog));
>> @@ -2935,8 +2927,9 @@ void acpi_setup(void)
>> build_state->rsdp_mr = NULL;
>> } else {
>> build_state->rsdp = NULL;
>> - build_state->rsdp_mr = acpi_add_rom_blob(build_state, tables.rsdp,
>> - ACPI_BUILD_RSDP_FILE, 0);
>> + build_state->rsdp_mr = acpi_add_rom_blob(acpi_build_update,
>> + build_state, tables.rsdp,
>> + ACPI_BUILD_RSDP_FILE, 0);
>> }
>>
>> qemu_register_reset(acpi_build_reset, build_state);
>> diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
>> index 1a563ad756..4945aeef5b 100644
>> --- a/include/hw/acpi/aml-build.h
>> +++ b/include/hw/acpi/aml-build.h
>> @@ -3,6 +3,7 @@
>>
>> #include "hw/acpi/acpi-defs.h"
>> #include "hw/acpi/bios-linker-loader.h"
>> +#include "hw/loader.h"
>>
>> /* Reserve RAM space for tables: add another order of magnitude. */
>> #define ACPI_BUILD_TABLE_MAX_SIZE 0x200000
>> @@ -383,6 +384,9 @@ build_header(BIOSLinker *linker, GArray *table_data,
>> AcpiTableHeader *h, const char *sig, int len, uint8_t rev,
>> const char *oem_id, const char *oem_table_id);
>> void *acpi_data_push(GArray *table_data, unsigned size);
>> +MemoryRegion *acpi_add_rom_blob(FWCfgCallback update, void *opaque,
>> + GArray *blob, const char *name,
>> + uint64_t max_size);
>> unsigned acpi_data_len(GArray *table);
>> void acpi_add_table(GArray *table_offsets, GArray *table_data);
>> void acpi_build_tables_init(AcpiBuildTables *tables);
>
--
Wei Yang
Help you, Help me
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-03-14 11:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-14 7:38 [Qemu-arm] [PATCH v2] hw/acpi: extract acpi_add_rom_blob() Wei Yang
2019-03-14 9:25 ` Igor Mammedov
2019-03-14 11:56 ` [Qemu-devel] " Wei Yang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.