Message ID | 20230213144038.2547584-2-sunilvl@ventanamicro.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add basic ACPI support for risc-v virt | expand |
On Mon, Feb 13, 2023 at 08:10:29PM +0530, Sunil V L wrote: > ACPI needs OEM_ID and OEM_TABLE_ID for the machine. Add these fields > in the RISCVVirtState structure and initialize with default values. > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > Reviewed-by: Bin Meng <bmeng@tinylab.org> > Acked-by: Alistair Francis <alistair.francis@wdc.com> > --- > hw/riscv/virt.c | 4 ++++ > include/hw/riscv/virt.h | 2 ++ > 2 files changed, 6 insertions(+) > > diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c > index 86c4adc0c9..fb68cf81e9 100644 > --- a/hw/riscv/virt.c > +++ b/hw/riscv/virt.c > @@ -49,6 +49,7 @@ > #include "hw/pci/pci.h" > #include "hw/pci-host/gpex.h" > #include "hw/display/ramfb.h" > +#include "hw/acpi/aml-build.h" > > /* > * The virt machine physical address space used by some of the devices > @@ -1504,6 +1505,9 @@ static void virt_machine_init(MachineState *machine) > } > virt_flash_map(s, system_memory); > > + s->oem_id = g_strndup(ACPI_BUILD_APPNAME6, 6); > + s->oem_table_id = g_strndup(ACPI_BUILD_APPNAME8, 8); > + arm and x86 do this at instance init time, because then it can be overridden in machine class init. loongarch also does this at instance init time, probably because arm and x86 do. If riscv doesn't plan to allow overriding, then it could be done in acpi setup. Otherwise, it should probably follow the other architectures' example. > /* create device tree */ > create_fdt(s, memmap); > > diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h > index b3d26135c0..6c7885bf89 100644 > --- a/include/hw/riscv/virt.h > +++ b/include/hw/riscv/virt.h > @@ -56,6 +56,8 @@ struct RISCVVirtState { > bool have_aclint; > RISCVVirtAIAType aia_type; > int aia_guests; > + char *oem_id; > + char *oem_table_id; > }; Otherwise Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Thanks, drew
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 86c4adc0c9..fb68cf81e9 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -49,6 +49,7 @@ #include "hw/pci/pci.h" #include "hw/pci-host/gpex.h" #include "hw/display/ramfb.h" +#include "hw/acpi/aml-build.h" /* * The virt machine physical address space used by some of the devices @@ -1504,6 +1505,9 @@ static void virt_machine_init(MachineState *machine) } virt_flash_map(s, system_memory); + s->oem_id = g_strndup(ACPI_BUILD_APPNAME6, 6); + s->oem_table_id = g_strndup(ACPI_BUILD_APPNAME8, 8); + /* create device tree */ create_fdt(s, memmap); diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h index b3d26135c0..6c7885bf89 100644 --- a/include/hw/riscv/virt.h +++ b/include/hw/riscv/virt.h @@ -56,6 +56,8 @@ struct RISCVVirtState { bool have_aclint; RISCVVirtAIAType aia_type; int aia_guests; + char *oem_id; + char *oem_table_id; }; enum {