[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