Message ID | 1452827541-10537-5-git-send-email-yanmiaobest@gmail.com |
---|---|
State | Superseded |
Delegated to: | Bin Meng |
Headers | show |
Hi Miao, On Fri, Jan 15, 2016 at 11:12 AM, Miao Yan <yanmiaobest@gmail.com> wrote: > If CONFIG_GENERATE_ACPI_TABLE is not defined, then use ACPI table created > by QEMU. > > Signed-off-by: Miao Yan <yanmiaobest@gmail.com> > --- > arch/x86/lib/tables.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c > index 14b15cf..1671385 100644 > --- a/arch/x86/lib/tables.c > +++ b/arch/x86/lib/tables.c > @@ -10,6 +10,7 @@ > #include <asm/smbios.h> > #include <asm/tables.h> > #include <asm/acpi_table.h> > +#include <asm/fw_cfg.h> > > u8 table_compute_checksum(void *v, int len) > { > @@ -55,8 +56,10 @@ void write_tables(void) > #endif > #ifdef CONFIG_GENERATE_ACPI_TABLE > rom_table_end = write_acpi_tables(rom_table_end); > - rom_table_end = ALIGN(rom_table_end, 1024); > +#else > + rom_table_end = qemu_fwcfg_write_acpi_tables(rom_table_end); This breaks other x86 boards.Can we hide this changes in acpi_table.c with proper #ifdef and some comments? For QEMU ACPI, how about: - GENERATE_ACPI_TABLE is the overall switch to turn on ACPI table by U-Boot - Introduce another Kconfig option for QEMU to generate ACPI tables from firmware interface. If this is turned on, the original method provided in acpi_tables.c will not be used. > #endif > + rom_table_end = ALIGN(rom_table_end, 1024); > #ifdef CONFIG_GENERATE_SMBIOS_TABLE > rom_table_end = write_smbios_table(rom_table_end); > rom_table_end = ALIGN(rom_table_end, 1024); > -- Regards, Bin
Hi Bin, 2016-01-16 21:24 GMT+08:00 Bin Meng <bmeng.cn@gmail.com>: > Hi Miao, > > On Fri, Jan 15, 2016 at 11:12 AM, Miao Yan <yanmiaobest@gmail.com> wrote: >> If CONFIG_GENERATE_ACPI_TABLE is not defined, then use ACPI table created >> by QEMU. >> >> Signed-off-by: Miao Yan <yanmiaobest@gmail.com> >> --- >> arch/x86/lib/tables.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c >> index 14b15cf..1671385 100644 >> --- a/arch/x86/lib/tables.c >> +++ b/arch/x86/lib/tables.c >> @@ -10,6 +10,7 @@ >> #include <asm/smbios.h> >> #include <asm/tables.h> >> #include <asm/acpi_table.h> >> +#include <asm/fw_cfg.h> >> >> u8 table_compute_checksum(void *v, int len) >> { >> @@ -55,8 +56,10 @@ void write_tables(void) >> #endif >> #ifdef CONFIG_GENERATE_ACPI_TABLE >> rom_table_end = write_acpi_tables(rom_table_end); >> - rom_table_end = ALIGN(rom_table_end, 1024); >> +#else >> + rom_table_end = qemu_fwcfg_write_acpi_tables(rom_table_end); > > This breaks other x86 boards.Can we hide this changes in acpi_table.c > with proper #ifdef and some comments? > > For QEMU ACPI, how about: > > - GENERATE_ACPI_TABLE is the overall switch to turn on ACPI table by U-Boot > - Introduce another Kconfig option for QEMU to generate ACPI tables > from firmware interface. If this is turned on, the original method > provided in acpi_tables.c will not be used. Sounds OK, I'll drop this one. Thanks. > >> #endif >> + rom_table_end = ALIGN(rom_table_end, 1024); >> #ifdef CONFIG_GENERATE_SMBIOS_TABLE >> rom_table_end = write_smbios_table(rom_table_end); >> rom_table_end = ALIGN(rom_table_end, 1024); >> -- > > Regards, > Bin
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index 14b15cf..1671385 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -10,6 +10,7 @@ #include <asm/smbios.h> #include <asm/tables.h> #include <asm/acpi_table.h> +#include <asm/fw_cfg.h> u8 table_compute_checksum(void *v, int len) { @@ -55,8 +56,10 @@ void write_tables(void) #endif #ifdef CONFIG_GENERATE_ACPI_TABLE rom_table_end = write_acpi_tables(rom_table_end); - rom_table_end = ALIGN(rom_table_end, 1024); +#else + rom_table_end = qemu_fwcfg_write_acpi_tables(rom_table_end); #endif + rom_table_end = ALIGN(rom_table_end, 1024); #ifdef CONFIG_GENERATE_SMBIOS_TABLE rom_table_end = write_smbios_table(rom_table_end); rom_table_end = ALIGN(rom_table_end, 1024);
If CONFIG_GENERATE_ACPI_TABLE is not defined, then use ACPI table created by QEMU. Signed-off-by: Miao Yan <yanmiaobest@gmail.com> --- arch/x86/lib/tables.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)