qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Shannon Zhao <zhaoshenglong@huawei.com>
Cc: hangaohuai@huawei.com, "Michael S. Tsirkin" <mst@redhat.com>,
	"Alexander Spyridakis" <a.spyridakis@virtualopensystems.com>,
	"Claudio Fontana" <claudio.fontana@huawei.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Hanjun Guo" <hanjun.guo@linaro.org>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Laszlo Ersek" <lersek@redhat.com>,
	"Christoffer Dall" <christoffer.dall@linaro.org>,
	"Shannon Zhao" <shannon.zhao@linaro.org>
Subject: Re: [Qemu-devel] [PATCH v6 03/22] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM
Date: Thu, 7 May 2015 16:44:32 +0100	[thread overview]
Message-ID: <CAFEAcA_S0rjoO=SO66mQbrbm4zqBr7zJCSrc0qO1b4Xzit_OOw@mail.gmail.com> (raw)
In-Reply-To: <1430990964-10528-4-git-send-email-zhaoshenglong@huawei.com>

On 7 May 2015 at 10:29, Shannon Zhao <zhaoshenglong@huawei.com> wrote:
> From: Shannon Zhao <shannon.zhao@linaro.org>
>
> Introduce a preliminary framework in virt-acpi-build.c with the main
> ACPI build functions. It exposes the generated ACPI contents to
> guest over fw_cfg.
>
> The required ACPI v5.1 tables for ARM are:
> - RSDP: Initial table that points to XSDT
> - RSDT: Points to FADT GTDT MADT tables
> - FADT: Generic information about the machine
> - GTDT: Generic timer description table
> - MADT: Multiple APIC description table
> - DSDT: Holds all information about system devices/peripherals, pointed by FADT
>
> Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
> ---
>  hw/arm/Makefile.objs             |   1 +
>  hw/arm/virt-acpi-build.c         | 184 +++++++++++++++++++++++++++++++++++++++
>  include/hw/arm/virt-acpi-build.h |  70 +++++++++++++++
>  qemu-options.hx                  |   2 +-
>  trace-events                     |   3 +
>  5 files changed, 259 insertions(+), 1 deletion(-)
>  create mode 100644 hw/arm/virt-acpi-build.c
>  create mode 100644 include/hw/arm/virt-acpi-build.h
>
> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
> index 2577f68..a1bfb19 100644
> --- a/hw/arm/Makefile.objs
> +++ b/hw/arm/Makefile.objs
> @@ -3,6 +3,7 @@ obj-$(CONFIG_DIGIC) += digic_boards.o
>  obj-y += integratorcp.o kzm.o mainstone.o musicpal.o nseries.o
>  obj-y += omap_sx1.o palm.o realview.o spitz.o stellaris.o
>  obj-y += tosa.o versatilepb.o vexpress.o virt.o xilinx_zynq.o z2.o
> +obj-$(CONFIG_ACPI) += virt-acpi-build.o
>  obj-y += netduino2.o
>
>  obj-y += armv7m.o exynos4210.o pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> new file mode 100644
> index 0000000..960206d
> --- /dev/null
> +++ b/hw/arm/virt-acpi-build.c
> @@ -0,0 +1,184 @@
> +/* Support for generating ACPI tables and passing them to Guests
> + *
> + * ARM virt ACPI generation
> + *
> + * Copyright (C) 2008-2010  Kevin O'Connor <kevin@koconnor.net>
> + * Copyright (C) 2006 Fabrice Bellard
> + * Copyright (C) 2013 Red Hat Inc
> + *
> + * Author: Michael S. Tsirkin <mst@redhat.com>
> + *
> + * Copyright (c) 2015 HUAWEI TECHNOLOGIES CO.,LTD.
> + *
> + * Author: Shannon Zhao <zhaoshenglong@huawei.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> +
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> +
> + * You should have received a copy of the GNU General Public License along
> + * with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include "hw/arm/virt-acpi-build.h"

This should go below qemu-common.h, not above it.

> +#include <stddef.h>
> +#include <glib.h>

You shouldn't need to include these system-level headers: qemu-common.h
will take care of them for you.

> +#include "qemu-common.h"
> +#include "qemu/bitmap.h"
> +#include "trace.h"
> +#include "qom/cpu.h"
> +#include "target-arm/cpu.h"
> +#include "hw/acpi/acpi-defs.h"
> +#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"
> +
> +typedef
> +struct AcpiBuildState {
> +    /* Copy of table in RAM (for patching). */
> +    MemoryRegion *table_mr;
> +    MemoryRegion *rsdp_mr;
> +    MemoryRegion *linker_mr;
> +    /* Is table patched? */
> +    uint8_t patched;

Why not a bool?

> +    VirtGuestInfo *guest_info;
> +} AcpiBuildState;

-- PMM

  parent reply	other threads:[~2015-05-07 15:44 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-07  9:29 [Qemu-devel] [PATCH v6 00/22] Generate ACPI v5.1 tables and expose them to guest over fw_cfg on ARM Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 01/22] hw/i386: Move ACPI header definitions in an arch-independent location Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 02/22] hw/i386/acpi-build: move generic acpi building helpers into dedictated file Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 03/22] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM Shannon Zhao
2015-05-07 10:50   ` Alex Bennée
2015-05-08  1:51     ` Shannon Zhao
2015-05-07 15:44   ` Peter Maydell [this message]
2015-05-08  1:46     ` Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 04/22] hw/acpi/aml-build: Add aml_memory32_fixed() term Shannon Zhao
2015-05-07 12:18   ` Alex Bennée
2015-05-15 12:15   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 05/22] hw/acpi/aml-build: Add aml_interrupt() term Shannon Zhao
2015-05-07 15:51   ` Peter Maydell
2015-05-08  2:24     ` Shannon Zhao
2015-05-15 12:14     ` Igor Mammedov
2015-05-18  4:05       ` Shannon Zhao
2015-05-18 10:33         ` Michael S. Tsirkin
2015-05-19 12:02           ` Igor Mammedov
2015-05-15 12:45   ` Igor Mammedov
2015-05-18  4:00     ` Shannon Zhao
2015-05-18 10:34       ` Michael S. Tsirkin
2015-05-19 12:09         ` Igor Mammedov
2015-05-20  4:09           ` Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 06/22] hw/arm/virt-acpi-build: Generation of DSDT table for virt devices Shannon Zhao
2015-05-18  8:09   ` Alex Bennée
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 07/22] hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 08/22] hw/arm/virt-acpi-build: Generate MADT table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 09/22] hw/arm/virt-acpi-build: Generate GTDT table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 10/22] hw/arm/virt-acpi-build: Generate RSDT table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 11/22] hw/arm/virt-acpi-build: Generate RSDP table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 12/22] hw/arm/virt-acpi-build: Add PCIe info and generate MCFG table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 13/22] hw/acpi/aml-build: Make aml_buffer() definition consistent with the spec Shannon Zhao
2015-05-15 13:08   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 14/22] hw/acpi/aml-build: Add ToUUID macro Shannon Zhao
2015-05-15 13:19   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 15/22] hw/acpi/aml-build: Add aml_or() term Shannon Zhao
2015-05-15 13:23   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 16/22] hw/acpi/aml-build: Add aml_lnot() term Shannon Zhao
2015-05-15 13:24   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 17/22] hw/acpi/aml-build: Add aml_else() term Shannon Zhao
2015-05-15 13:26   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 18/22] hw/acpi/aml-build: Add aml_create_dword_field() term Shannon Zhao
2015-05-15 13:30   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 19/22] hw/acpi/aml-build: Add aml_dword_io() term Shannon Zhao
2015-05-15 13:43   ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 20/22] hw/acpi/aml-build: Add Unicode macro Shannon Zhao
2015-05-15 14:13   ` Igor Mammedov
2015-05-18  6:05     ` Shannon Zhao
2015-05-19 12:19       ` Igor Mammedov
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 21/22] hw/arm/virt-acpi-build: Add PCIe controller in ACPI DSDT table Shannon Zhao
2015-05-07  9:29 ` [Qemu-devel] [PATCH v6 22/22] hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables Shannon Zhao
2015-05-07 16:09   ` Peter Maydell
2015-05-08  8:21     ` Shannon Zhao
2015-05-07 16:34 ` [Qemu-devel] [PATCH v6 00/22] Generate ACPI v5.1 tables and expose them to guest over fw_cfg on ARM Peter Maydell
2015-05-08  9:48   ` Shannon Zhao
2015-05-08 15:39     ` Peter Maydell

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='CAFEAcA_S0rjoO=SO66mQbrbm4zqBr7zJCSrc0qO1b4Xzit_OOw@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=a.spyridakis@virtualopensystems.com \
    --cc=alex.bennee@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=claudio.fontana@huawei.com \
    --cc=hangaohuai@huawei.com \
    --cc=hanjun.guo@linaro.org \
    --cc=imammedo@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhao@linaro.org \
    --cc=zhaoshenglong@huawei.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).