kernel-hacking-2024-linux-s.../drivers/acpi
Myron Stowe d362edaf53 ACPI: Pre-map 'system event' related register blocks
During ACPI initialization, pre-map fixed hardware registers that are
accessed during ACPI's 'system event' related IRQ handing.

ACPI's 'system event' handing accesses specific fixed hardware
registers; namely PM1a event, PM1b event, GPE0, and GPE1 register
blocks which are declared within the FADT.  If these registers are
backed by MMIO, as opposed to I/O port space, accessing them within
interrupt context will cause a panic as acpi_os_read_memory()
depends on ioremap() in such cases - BZ 18012.

By utilizing the functionality provided in the previous two patches -
ACPI: Maintain a list of ACPI memory mapped I/O remappings, and, ACPI:
Add interfaces for ioremapping/iounmapping ACPI registers - accesses
to ACPI MMIO areas will now be safe from within interrupt contexts (IRQ
and/or NMI) provided the area was pre-mapped.  This solves BZ 18012.

ACPI "System Event" reference(s):
  ACPI Specification, Revision 4.0, Section 3 "ACPI Overview",
  3.8 "System Events", 5.6 "ACPI Event Programming Model".

Reference: https://bugzilla.kernel.org/show_bug.cgi?id=18012

Reported-by: <bjorn.helgaas@hp.com>
Signed-off-by: Myron Stowe <myron.stowe@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2010-10-24 23:27:09 -04:00
..
acpica Merge branches 'apei', 'battery-mwh-fix', 'bugzilla-10807', 'bugzilla-14736', 'bugzilla-14679', 'bugzilla-16396', 'launchpad-613381' and 'misc' into release 2010-09-29 15:18:28 -04:00
apei Merge branches 'apei', 'battery-mwh-fix', 'bugzilla-10807', 'bugzilla-14736', 'bugzilla-14679', 'bugzilla-16396', 'launchpad-613381' and 'misc' into release 2010-09-29 15:18:28 -04:00
ac.c
acpi_memhotplug.c
acpi_pad.c ACPI: acpi_pad: simplify code to avoid false gcc build warning 2010-09-29 14:08:10 -04:00
atomicio.c ACPI, APEI, Fix acpi_pre_map() return value 2010-09-29 14:02:16 -04:00
battery.c ACPI: Don't report current_now if battery reports in mWh 2010-08-31 00:00:47 -04:00
blacklist.c Merge branch 'msi-dmi' into release 2010-10-08 22:37:46 -04:00
bus.c Merge branches 'apei', 'battery-mwh-fix', 'bugzilla-10807', 'bugzilla-14736', 'bugzilla-14679', 'bugzilla-16396', 'launchpad-613381' and 'misc' into release 2010-09-29 15:18:28 -04:00
button.c
cm_sbs.c
container.c
debugfs.c ACPI: introduce module parameter acpi.aml_debug_output 2010-08-14 23:02:14 -04:00
dock.c
ec.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
ec_sys.c acpi ec_sys: Be more cautious about ec write access 2010-08-03 09:49:13 -04:00
event.c
fan.c ACPI: fan: Fix more unbalanced code block 2010-09-29 14:08:10 -04:00
glue.c
hed.c
internal.h Merge branch 'linus' into release 2010-08-15 01:06:31 -04:00
Kconfig ACPI: Kconfig: fix typo. 2010-09-28 21:38:20 -04:00
Makefile Merge branch 'linus' into release 2010-08-15 01:06:31 -04:00
numa.c gcc-4.6: ACPI: fix unused but set variables in ACPI 2010-08-15 00:53:08 -04:00
osl.c ACPI: Pre-map 'system event' related register blocks 2010-10-24 23:27:09 -04:00
pci_bind.c
pci_irq.c
pci_link.c
pci_root.c PCI: PCIe: Ask BIOS for control of all native services at once 2010-08-24 13:47:33 -07:00
pci_slot.c
power.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-15 17:37:07 -07:00
power_meter.c
proc.c ACPI: remove deprecated ACPI procfs I/F 2010-08-15 00:27:51 -04:00
processor_core.c Merge branch 'pdc-regression' into release 2010-10-08 22:35:02 -04:00
processor_driver.c acpi_idle: add missing \n to printk 2010-09-28 23:30:40 -04:00
processor_idle.c Merge branch 'linus' into release 2010-08-15 01:06:31 -04:00
processor_perflib.c ACPI: Fix typos 2010-09-28 21:38:19 -04:00
processor_thermal.c ACPI processor: remove deprecated ACPI procfs I/F 2010-08-15 00:31:45 -04:00
processor_throttling.c ACPI processor: remove deprecated ACPI procfs I/F 2010-08-15 00:31:45 -04:00
reboot.c
sbs.c
sbshc.c
sbshc.h
scan.c
sleep.c PM / ACPI: Blacklist systems known to require acpi_sleep=nonvs 2010-09-24 16:52:02 -04:00
sleep.h
sysfs.c ACPI: fix build warnings resulting from merge window conflict 2010-09-28 21:38:01 -04:00
tables.c
thermal.c ACPI thermal: make procfs I/F depend on CONFIG_ACPI_PROCFS 2010-08-15 00:37:33 -04:00
utils.c
video.c gcc-4.6: ACPI: fix unused but set variables in ACPI 2010-08-15 00:53:08 -04:00
video_detect.c ACPI video: fix a poor warning message 2010-09-28 21:38:01 -04:00
wakeup.c Merge branch 'acpica-gpe' into release 2010-08-15 00:25:40 -04:00