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 <[email protected]>
> ---
> 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