[U-Boot] [PATCH v1 2/2] WIP: x86: acpi: Generate SPCR table

Andy Shevchenko andriy.shevchenko at linux.intel.com
Thu Nov 15 16:06:33 UTC 2018


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 at 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




More information about the U-Boot mailing list