RE: ACPICA regression checker

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[adding linux-acpi@xxxxxxxxxxxxxxx]

Thomas,
I like the way you think.

my reply is below your message...

-----Original Message-----
From: Thomas Renninger [mailto:trenn@xxxxxxx] 
Sent: Monday, July 10, 2006 10:23 AM
To: Brown, Len
Cc: Moore, Robert; intel-linux-acpi@xxxxxxxxxxxxxxx; Yu, Ling L
Subject: ACPICA regression checker

Hi,

I like to build up a pool of ACPI BIOSes to automatically check them
with new versions of iasl compiler/disassembler.

Therefore I am asking for some ideas whether my approach is OK, or maybe
someone can give some enhancements or just has a good idea.

First I thought about a new mailing list people can send their acpidump
to and I extract needed info, put it in a directory on my ftp where
everybody can see some statistics or can run the validations on his own.

Then the already existing html/php front-end on acpi.sf.net came into my
mind. If this is OK with you, I'll try to write some kind of wget
wrapper to upload/download DSDTs more or less automatically (hmm, just
thought about: do people load their whole acpidump up there or just
DSDT? In second case we have a problem). I like to add some dozens
(hundreds?) of BIOSes which are not meant to get fixed (as the current
main purpose there ATM?), but as a playground for ACPI developers to see
some weird/huge IA64 DSDTs, check whether modifications still
compile/disassemble correctly on all BIOSes and so on.

The only test is to disassemble and compile with iasl, parse
warning/error messages and display some statistics (compared to previous
versions, ..) of the results.

So a final run could show something like:

            iasl ver 01012006   |  iasl ver 0x0y2007 | diff ver1/ver2?
          -------------------------------------------------------------
Warnings                        |                    |
------------------------------------------------------------------------
Errors                          |                    |

Additional errors/warnings in xy DSDTs
Fixed xy   errors/warnings in xy different DSDTs
... ??? ...

I got at least two bugs that are regressions (or better missing
workarounds). I expect that with above checking those could have find at
implementation time.


To make this work properly I would first try to implement what Robert
suggested to avoid compile/disassemble errors with additional SSDTs:
http://rudin.suse.de:8888/show_bug.cgi?id=179702 (comment #21):
-------------
The only real solution (that I can think of) to the disassembly problem
(external methods) is probably something like allowing the specification
of
additional tables in order to resolve the methods. 

Something like:

iasl -e dsdt.aml -d ssdt.aml
--------------
Not sure whether someone already started with this one, if not I'll give
it a try...

What do you think about all this?
Better use a separate mailing list or web server?

Thanks,

        Thomas
------------

This is a good line of thought.
But first, There are a couple of things going on
that maybe not everybody is aware of.

1.
the functional tests that Yu-Ling has published under Validation
on acpi.sourcforge.net.  These are feature-level tests intended
to test the end product.  eg. a release of SuSE Linux.
We run these internally, and I've heard that some distros
are interested in running them too.  These tests need additional
work to automate and to cover more cases.

2.
Over the last year, Intel has developed an ASL Test Suite consisting
of over 1700 tests.   These are AML tests that run on top the ACPICA
interpreter used by Linux, but compiled as a standalone application.
This found over 230 issues -- about 60 are still
unresolved.  All remaining open issues are filed in bugzilla.
You may have seen about 30 of these in the AML-Interpreter
subcategory under ACPI in bugzilla.kernel.org.  You may have
noticed in my latest check-ins for ACPICA that Bob's notes refer
to BZ 300 or so -- these are additional bug reports we filed
in an internal bugzilla for bugs that didn't look easy to
describe as Linux kernel bugs -- which is all that bugzilla.kernel.org
allows.

We'll be publishing this test suite along with ACPICA very soon --
indeed, the paperwork is already in the pipeline.

We now run this test suite before every ACPICA release.
I'd like to move to running it between every ACPICA check-in,
which I'd like to check-into Linux individually.

3.
Platform ACPI compliance Test
This is sorely needed by the community to replace WHQL as the test
that vendors run to make sure they got their ACPI implementation right.
It would be a turn-key test that runs on a platform and gives
a yes/no on compliance, and diagnostics on failures.

This would be a voluntary thing for vendors to run, but I expect
that many of them would run it if somebody else wrote the tests
for them.

Some folks at Intel have given this some thought, but it isn't
currently a committed/funded project, so I can't promise anything.

My expectation that a reasonable implementation would be a loadable
Linux device driver that could use any/all kernel hooks and talk to
the real hardware via ACPI.

---
That brings me to your idea.
I think it works for testing the ASL compiler.
However, the problem with using DSDT images to test the interpreter
is that unless they are running on the real hardware,
you can't really see if they work.  You really
need to do #3 to get where you want to be -- run the test
and the firmware on the HW it was written for.

The other problem with DSDTs is that it is taboo for Intel
to traffic in firmware images that are products of its customers --
-- this could potentially piss off some of our customers.
I've never posted a DSDT to sourceforge.net, and I'm really
not permitted to.

thanks,
-Len

ps. please point me to the two bugs -- maybe they show a hole
in our ASL test suite.
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux