qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: peter.maydell@linaro.org, al.stone@linaro.org, mst@redhat.com,
	qemu-devel@nongnu.org, shannon.zhao@linaro.org,
	Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 1/2] ACPI: Add definitions for the DBG2 table
Date: Mon, 7 Sep 2015 17:51:50 +0200	[thread overview]
Message-ID: <20150907155150.GG3014@hawk.localdomain> (raw)
In-Reply-To: <1441635826-4866-2-git-send-email-leif.lindholm@linaro.org>

On Mon, Sep 07, 2015 at 03:23:45PM +0100, Leif Lindholm wrote:
> The DBG2 table can be considered a "companion" to SPCR - it points out
> debug consoles available in the system.
> 
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
>  include/hw/acpi/acpi-defs.h | 37 +++++++++++++++++++++++++++++++++++--
>  1 file changed, 35 insertions(+), 2 deletions(-)
> 
> diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h
> index 2b431e6..af062a7 100644
> --- a/include/hw/acpi/acpi-defs.h
> +++ b/include/hw/acpi/acpi-defs.h
> @@ -197,10 +197,43 @@ enum {
>  };
>  
>  /*
> - * Serial Port Console Redirection Table (SPCR), Rev. 1.02
> + * Debug Port Table 2 (DBG2)
>   *
>   * For .interface_type see Debug Port Table 2 (DBG2) serial port
> - * subtypes in Table 3, Rev. May 22, 2012
> + * subtypes in Table 3, Rev. Aug 10, 2015
> + *
> + * The specification permits multiple ports with multiple addresses, but this
> + * implementation is limited to one port with one address.
> + */
> +struct AcpiDebugPort2 {
> +    ACPI_TABLE_HEADER_DEF
> +    uint32_t debug_devices_offset;
> +    uint32_t number_debug_devices;
> +    struct {
> +      uint8_t  revision;
> +      uint16_t length;
> +      uint8_t  number_generic_address_registers;
> +      uint16_t namespace_string_length;
> +      uint16_t namespace_string_offset;
> +      uint16_t oem_data_length;
> +      uint16_t oem_data_offset;
> +      uint16_t port_type;
> +      uint16_t port_subtype;
> +      uint8_t  reserved1[2];
> +      uint16_t base_address_register_offset;
> +      uint16_t address_size_offset;
> +      struct AcpiGenericAddress base_address[1];

Not sure we want to limit the number of addresses. Non ARM (non PL011)
users of this table may not find one address sufficient.

> +      uint32_t address_size[1];
> +      uint8_t  namespace_string[2];
> +    } QEMU_PACKED debug_devices[1];

I'm guessing it's unlikely we'll ever want more than one debug port. So
can we just drop the debug_devices array, flatting the table? OTOH, this
is generic acpi table generation code here, and maybe x86 will want to
use more than one port? In that case we should pull the debug device
structure definition out, and then properly handle the variable length
array. But this is where Igor and mst will suggest just using aml_appends,
instead of defining these structures at all :-)

> +} QEMU_PACKED;
> +typedef struct AcpiDebugPort2
> +               AcpiDebugPort2;
> +
> +/*
> + * Serial Port Console Redirection Table (SPCR), Rev. 1.03
> + *
> + * .interface_type format same as for DBG2.
>   */
>  struct AcpiSerialPortConsoleRedirection {
>      ACPI_TABLE_HEADER_DEF
> -- 
> 2.1.4
> 

  reply	other threads:[~2015-09-07 15:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-07 14:23 [Qemu-devel] [PATCH 0/2] ACPI/arm-virt: add DBG2 Leif Lindholm
2015-09-07 14:23 ` [Qemu-devel] [PATCH 1/2] ACPI: Add definitions for the DBG2 table Leif Lindholm
2015-09-07 15:51   ` Andrew Jones [this message]
2015-09-10  8:19     ` Michael S. Tsirkin
2015-09-10 10:08       ` Igor Mammedov
2015-09-08  3:27   ` Shannon Zhao
2015-09-08 13:10     ` Leif Lindholm
2015-09-07 14:23 ` [Qemu-devel] [PATCH 2/2] hw/arm/virt-acpi-build: Add " Leif Lindholm
2015-09-07 15:59   ` Andrew Jones
2015-09-08  3:18 ` [Qemu-devel] [PATCH 0/2] ACPI/arm-virt: add DBG2 Shannon Zhao
2015-09-08 13:04   ` Leif Lindholm
2015-09-09  4:25     ` Shannon Zhao
2015-09-09  5:52       ` Andrew Jones
2015-09-09 21:23         ` Al Stone

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=20150907155150.GG3014@hawk.localdomain \
    --to=drjones@redhat.com \
    --cc=al.stone@linaro.org \
    --cc=imammedo@redhat.com \
    --cc=leif.lindholm@linaro.org \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhao@linaro.org \
    /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).