linux/include/acpi
Huang Ying 885b976fad ACPI, APEI, Add ERST record ID cache
APEI ERST firmware interface and implementation has no multiple users
in mind.  For example, if there is four records in storage with ID: 1,
2, 3 and 4, if two ERST readers enumerate the records via
GET_NEXT_RECORD_ID as follow,

reader 1		reader 2
1
			2
3
			4
-1
			-1

where -1 signals there is no more record ID.

Reader 1 has no chance to check record 2 and 4, while reader 2 has no
chance to check record 1 and 3.  And any other GET_NEXT_RECORD_ID will
return -1, that is, other readers will has no chance to check any
record even they are not cleared by anyone.

This makes raw GET_NEXT_RECORD_ID not suitable for used by multiple
users.

To solve the issue, an in-memory ERST record ID cache is designed and
implemented.  When enumerating record ID, the ID returned by
GET_NEXT_RECORD_ID is added into cache in addition to be returned to
caller.  So other readers can check the cache to get all record ID
available.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2011-03-21 22:59:06 -04:00
..
platform ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acexcep.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acnames.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acoutput.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acpi_bus.h ACPI: Drop device flag wake_capable 2011-01-12 05:06:01 -05:00
acpi_drivers.h ACPI: remove dead code 2010-10-19 13:44:21 -04:00
acpi_numa.h ACPI: misc cleanups 2008-02-07 03:33:23 -05:00
acpi.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acpiosxf.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
acpixf.h ACPICA: Update version to 20110112 2011-01-18 23:48:04 -05:00
acrestyp.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
actbl1.h Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-01-20 16:28:34 -08:00
actbl2.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
actbl.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
actypes.h ACPICA: Update all ACPICA copyrights and signons to 2011 2011-01-18 23:48:03 -05:00
apei.h ACPI, APEI, Add ERST record ID cache 2011-03-21 22:59:06 -04:00
atomicio.h ACPI, IO memory pre-mapping and atomic accessing 2010-05-19 11:40:03 -04:00
button.h ACPI: make ACPI button funcs no-ops if not built in 2009-09-17 14:48:23 -07:00
container.h [ACPI] Lindent all ACPI files 2005-08-05 00:45:14 -04:00
hed.h ACPI Hardware Error Device (PNP0C33) support 2010-05-19 22:40:24 -04:00
pdc_intel.h ACPI: Enable bit 11 in _PDC to advertise hw coord 2009-02-07 00:41:14 -05:00
processor.h ACPI: Reevaluate whether the T-state is supported or not after cpu is online/offline 2011-01-10 12:35:28 -05:00
reboot.h Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. 2008-07-16 23:27:08 +02:00
video.h ACPI: video: fix build for CONFIG_ACPI=n 2010-12-11 02:01:46 -05:00