qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] ACPI: Add definitions for the DBG2 table


From: Shannon Zhao
Subject: Re: [Qemu-devel] [PATCH 1/2] ACPI: Add definitions for the DBG2 table
Date: Tue, 8 Sep 2015 11:27:08 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0


On 2015/9/7 22:23, 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 <address@hidden>
> ---
>  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];
> +      uint32_t address_size[1];
> +      uint8_t  namespace_string[2];
> +    } QEMU_PACKED debug_devices[1];

This debug_device should be defined alone. And use acpi_data_push to add
multiple debug_devices structures according to the number of debug device.

> +} QEMU_PACKED;
> +typedef struct AcpiDebugPort2
> +               AcpiDebugPort2;
> +
> +/*
> + * Serial Port Console Redirection Table (SPCR), Rev. 1.03
> + *

Why do you change the revision of SPCR from 1.02 to 1.03?

> + * .interface_type format same as for DBG2.
>   */
>  struct AcpiSerialPortConsoleRedirection {
>      ACPI_TABLE_HEADER_DEF
> 

-- 
Shannon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]