
15 Nov
2018
15 Nov
'18
5:06 p.m.
On Tue, Sep 25, 2018 at 10:27:33AM +0800, Bin Meng wrote:
On Sat, Sep 22, 2018 at 9:05 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
+/* SPCR (Serial Port Console Redirection table) */ +struct __packed acpi_spcr {
struct acpi_table_header header; /* Common ACPI table header */
u8 interface_type; /* 0=full 16550, 1=subset of 16550 */
u8 reserved[3];
struct acpi_gen_regaddr serial_port; /* The base address of the Serial Port register set */
u8 interrupt_type;
u8 pc_interrupt;
u32 interrupt; /* Global system interrupt */
u8 baud_rate;
u8 parity;
u8 stop_bits;
u8 flow_control;
u8 terminal_type;
u8 reserved1;
u16 pci_device_id; /* Must be 0xffff if not PCI device */
u16 pci_vendor_id; /* Must be 0xffff if not PCI device */
u8 pci_bus;
u8 pci_device;
u8 pci_function;
u32 pci_flags;
u8 pci_segment;
u32 reserved2;
+};
I see not every member of 'struct __packed acpi_spcr' is populated. Are they not used by kernel? If kernel does not use it, it is used by Windows?
No idea about Windows, but there are two statements: - *not all* should be filled, otherwise it would be contradictory (PCI vs. non-PCI device, for example) - Linux doesn't use all of them, indeed
--
With Best Regards,
Andy Shevchenko