> -----Original Message-----
> From: [email protected] [mailto:linux-acpi-
> [email protected]] On Behalf Of Dan Williams
> Sent: Wednesday, December 19, 2018 4:00 PM
> To: Schmauss, Erik <[email protected]>
> Cc: Rafael J. Wysocki <[email protected]>; Busch, Keith
> <[email protected]>; Moore, Robert <[email protected]>;
> Linux Kernel Mailing List <[email protected]>; ACPI Devel
> Maling List <[email protected]>; Linux Memory Management
> List <[email protected]>; Greg Kroah-Hartman
> <[email protected]>; Hansen, Dave
> <[email protected]>
> Subject: Re: [PATCHv2 01/12] acpi: Create subtable parsing
> infrastructure
> 
> On Wed, Dec 19, 2018 at 3:19 PM Schmauss, Erik
> <[email protected]> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: [email protected] [mailto:linux-acpi-
> > > [email protected]] On Behalf Of Rafael J. Wysocki
> > > Sent: Tuesday, December 11, 2018 1:45 AM
> > > To: Busch, Keith <[email protected]>
> > > Cc: Linux Kernel Mailing List <[email protected]>; ACPI
> > > Devel Maling List <[email protected]>; Linux Memory
> > > Management List <[email protected]>; Greg Kroah-Hartman
> > > <[email protected]>; Rafael J. Wysocki
> <[email protected]>;
> > > Hansen, Dave <[email protected]>; Williams, Dan J
> > > <[email protected]>
> > > Subject: Re: [PATCHv2 01/12] acpi: Create subtable parsing
> > > infrastructure
> > >
> > > On Tue, Dec 11, 2018 at 2:05 AM Keith Busch
> <[email protected]>
> > > wrote:
> > > >
> >
> > Hi Rafael and Bob,
> >
> > > > Parsing entries in an ACPI table had assumed a generic header
> > > > structure that is most common. There is no standard ACPI
> header,
> > > > though, so less common types would need custom parsers if they
> > > > want go through their sub-table entry list.
> > >
> > > It looks like the problem at hand is that acpi_hmat_structure is
> > > incompatible with acpi_subtable_header because of the different
> layout and field sizes.
> >
> > Just out of curiosity, why don't we use ACPICA code to parse static
> > ACPI tables in Linux?
> >
> > We have a disassembler for static tables that parses all supported
> > tables. This seems like a duplication of code/effort...
> 
Hi Dan,

> Oh, I thought acpi_table_parse_entries() was the common code.
> What's the ACPICA duplicate?

I was thinking AcpiDmDumpTable(). After looking at this ACPICA code,
I realized that the this ACPICA doesn't actually build a parse tree or data 
structure.
It loops over the data structure to format the input ACPI table to a file.

To me, it seems like a good idea for Linux and ACPICA to share the same code 
when
parsing and analyzing these structures. I know that Linux may emit warnings
that are specific to Linux but there are structural analyses that should be the 
same (such as
checking lengths of tables and subtables so that we don't have out of bounds 
access).

Erik

Reply via email to