qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Bin Meng <bmeng.cn@gmail.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bin Meng <bin.meng@windriver.com>,
	qemu-riscv@nongnu.org, qemu-devel@nongnu.org,
	Andrew Jones <ajones@ventanamicro.com>,
	Anup Patel <apatel@ventanamicro.com>,
	Atish Kumar Patra <atishp@rivosinc.com>
Subject: Re: [PATCH 04/10] hw/riscv/virt: virt-acpi-build.c: Add basic ACPI tables
Date: Fri, 24 Feb 2023 17:14:42 +0100	[thread overview]
Message-ID: <20230224171442.5affcb4a@imammedo.users.ipa.redhat.com> (raw)
In-Reply-To: <CAEUhbmX6J5ja+_zdRQ8wuqKyU4uquM6ytnJMtqSfN2CSfLv=MA@mail.gmail.com>

On Wed, 8 Feb 2023 09:06:48 +0800
Bin Meng <bmeng.cn@gmail.com> wrote:

> On Wed, Feb 8, 2023 at 2:15 AM Sunil V L <sunilvl@ventanamicro.com> wrote:
> >
> > On Wed, Feb 08, 2023 at 12:10:55AM +0800, Bin Meng wrote:  
> > > On Mon, Feb 6, 2023 at 9:24 PM Sunil V L <sunilvl@ventanamicro.com> wrote:  
> > > >
> > > > On Mon, Feb 06, 2023 at 06:17:50PM +0800, Bin Meng wrote:  
> > > > > On Thu, Feb 2, 2023 at 12:54 PM Sunil V L <sunilvl@ventanamicro.com> wrote:  
> > > > > >
> > > > > > Add few basic ACPI tables and DSDT with few devices in a
> > > > > > new file virt-acpi-build.c.
> > > > > >
> > > > > > These are mostly leveraged from arm64.  
> > > > >
> > > > > There are lots of same ACPI codes existing in x86/arm/riscv. I believe
> > > > > some refactoring work is needed before ACPI support fully lands on
> > > > > RISC-V.
> > > > > For example, we can extract the common part among x86/arm/riscv into a
> > > > > separate file, like hw/acpi/acpi-build.c?
> > > > >  
> > > >
> > > > While it appears like there is same code in multiple places, those
> > > > functions take architecture specific MachineState parameter. Some tables
> > > > like MADT though with same name, will have different contents for
> > > > different architectures.
> > > >
> > > > Only one function which Daniel also pointed is the wrapper
> > > > acpi_align_size() which can be made common. I am not
> > > > sure whether it is worth of refactoring.
> > > >  
> > >
> > > It's more than that. For example,
> > >
> > > With acpi_dsdt_add_cpus(), the only meaningful parameter is the number
> > > of cpus, so there is no need to pass the architecture specific
> > > MachineState as the parameter.
> > >  
> > I would not make this function common. The reason is, an architecture may
> > choose to attach different ACPI objects under the CPU node.
> >  
> 
> Is it possible to insert architect specific CPU nodes after this
> common API builds the basic CPU node in DSDT?

What do you mean by "architect specific CPU", any examples?

> 
> > > Likewise, acpi_dsdt_add_fw_cfg() can be made generic as well.
> > >  
> > The issue is, these things are not exactly common across all architectures.
> > x86 has bit different data in these objects. While today it appears they
> > are same for riscv and arm, in future things may change for an architecture.
> > It doesn't look like it is a standard practice to build files under
> > hw/acpi for specific architectures. Hence, IMO, it is better to keep these
> > things in architecture specific folders to allow them to do differently in
> > future.
> >  
> 
> It looks like hw/acpi/ghes.c is for Arm from MAINTAINERS.
> 
> > But I look forward for the feedback from other architecture maintainers on
> > this topic. My experience in qemu is very limited. So, I need help from
> > experts.  
> 
> + Michael and Igor
> 
> Regards,
> Bin
> 



  parent reply	other threads:[~2023-02-24 16:15 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02  4:52 [PATCH 00/10] Add basic ACPI support for risc-v virt Sunil V L
2023-02-02  4:52 ` [PATCH 01/10] hw/riscv/virt: Add OEM_ID and OEM_TABLE_ID fields Sunil V L
2023-02-06  5:49   ` Bin Meng
2023-02-09  0:17   ` Alistair Francis
2023-02-02  4:52 ` [PATCH 02/10] hw/riscv/virt: Add a switch to enable/disable ACPI Sunil V L
2023-02-06  9:43   ` Bin Meng
2023-02-06 10:54   ` Andrea Bolognani
2023-02-06 11:18     ` Philippe Mathieu-Daudé
2023-02-06 12:35       ` Andrew Jones
2023-02-06 13:04         ` Sunil V L
2023-02-07  3:57         ` Bin Meng
2023-02-07  5:37           ` Andrew Jones
2023-02-07 12:33           ` Sunil V L
2023-02-06 12:56       ` Gerd Hoffmann
2023-02-07  8:50         ` Philippe Mathieu-Daudé
2023-02-07 10:12           ` Sunil V L
2023-02-07 10:14           ` Andrew Jones
2023-02-06 23:14       ` Bernhard Beschow
2023-02-07 10:23       ` Andrew Jones
2023-02-07 13:56         ` Andrea Bolognani
2023-02-07 14:02           ` Thomas Huth
2023-02-07 14:38             ` Andrea Bolognani
2023-02-07 19:20               ` Andrew Jones
2023-02-08 16:48                 ` Andrea Bolognani
2023-02-09  5:15                   ` Thomas Huth
2023-02-02  4:52 ` [PATCH 03/10] hw/riscv/virt: Add memmap pointer to RiscVVirtState Sunil V L
2023-02-06  9:50   ` Bin Meng
2023-02-09  0:18   ` Alistair Francis
2023-02-02  4:52 ` [PATCH 04/10] hw/riscv/virt: virt-acpi-build.c: Add basic ACPI tables Sunil V L
2023-02-06 10:17   ` Bin Meng
2023-02-06 13:24     ` Sunil V L
2023-02-07 16:10       ` Bin Meng
2023-02-07 18:15         ` Sunil V L
2023-02-08  1:06           ` Bin Meng
2023-02-08  4:49             ` Sunil V L
2023-02-24 16:14             ` Igor Mammedov [this message]
2023-02-02  4:52 ` [PATCH 05/10] hw/riscv/virt: virt-acpi-build.c: Add RINTC in MADT Sunil V L
2023-02-09  0:21   ` Alistair Francis
2023-02-02  4:52 ` [PATCH 06/10] hw/riscv/virt: virt-acpi-build.c: Add RHCT Table Sunil V L
2023-02-02  4:52 ` [PATCH 07/10] hw/riscv: meson.build: Build virt-acpi-build.c Sunil V L
2023-02-06 10:26   ` Bin Meng
2023-02-02  4:52 ` [PATCH 08/10] hw/riscv/Kconfig: virt: Enable ACPI config options Sunil V L
2023-02-06 10:29   ` Bin Meng
2023-02-06 14:19     ` Sunil V L
2023-02-02  4:52 ` [PATCH 09/10] hw/riscv/virt.c: Initialize the ACPI tables Sunil V L
2023-02-06 10:32   ` Bin Meng
2023-02-02  4:52 ` [PATCH 10/10] MAINTAINERS: Add entry for RISC-V ACPI Sunil V L
2023-02-06 10:33   ` Bin Meng
2023-02-09  0:23   ` Alistair Francis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230224171442.5affcb4a@imammedo.users.ipa.redhat.com \
    --to=imammedo@redhat.com \
    --cc=ajones@ventanamicro.com \
    --cc=alistair.francis@wdc.com \
    --cc=apatel@ventanamicro.com \
    --cc=atishp@rivosinc.com \
    --cc=bin.meng@windriver.com \
    --cc=bmeng.cn@gmail.com \
    --cc=mst@redhat.com \
    --cc=palmer@dabbelt.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=sunilvl@ventanamicro.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).