linux/arch/powerpc/platforms/powernv
Stewart Smith c7e64b9ce0 powerpc/powernv Platform dump interface
This enables support for userspace to fetch and initiate FSP and
Platform dumps from the service processor (via firmware) through sysfs.

Based on original patch from Vasant Hegde <hegdevasant@linux.vnet.ibm.com>

Flow:
  - We register for OPAL notification events.
  - OPAL sends new dump available notification.
  - We make information on dump available via sysfs
  - Userspace requests dump contents
  - We retrieve the dump via OPAL interface
  - User copies the dump data
  - userspace sends ack for dump
  - We send ACK to OPAL.

sysfs files:
  - We add the /sys/firmware/opal/dump directory
  - echoing 1 (well, anything, but in future we may support
    different dump types) to /sys/firmware/opal/dump/initiate_dump
    will initiate a dump.
  - Each dump that we've been notified of gets a directory
    in /sys/firmware/opal/dump/ with a name of the dump type and ID (in hex,
    as this is what's used elsewhere to identify the dump).
  - Each dump has files: id, type, dump and acknowledge
    dump is binary and is the dump itself.
    echoing 'ack' to acknowledge (currently any string will do) will
    acknowledge the dump and it will soon after disappear from sysfs.

OPAL APIs:
  - opal_dump_init()
  - opal_dump_info()
  - opal_dump_read()
  - opal_dump_ack()
  - opal_dump_resend_notification()

Currently we are only ever notified for one dump at a time (until
the user explicitly acks the current dump, then we get a notification
of the next dump), but this kernel code should "just work" when OPAL
starts notifying us of all the dumps present.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-03-07 16:19:10 +11:00
..
eeh-ioda.c powerpc/powernv: Dump PHB diag-data immediately 2014-02-28 18:43:10 +11:00
eeh-powernv.c powerpc/eeh: Cleanup on eeh_subsystem_enabled 2014-02-17 11:19:39 +11:00
Kconfig powerpc/powernv: Replace CONFIG_POWERNV_MSI with just CONFIG_PPC_POWERNV 2013-12-02 14:16:39 +11:00
Makefile powerpc/powernv Platform dump interface 2014-03-07 16:19:10 +11:00
opal-dump.c powerpc/powernv Platform dump interface 2014-03-07 16:19:10 +11:00
opal-elog.c powerpc/powernv: Read OPAL error log and export it through sysfs 2014-03-07 16:19:00 +11:00
opal-flash.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2014-01-27 21:11:26 -08:00
opal-lpc.c powerpc/powernv: Fix OPAL LPC access in Little Endian 2013-12-13 15:55:15 +11:00
opal-memory-errors.c powerpc/powernv: Get FSP memory errors and plumb into memory poison infrastructure. 2013-12-09 11:41:14 +11:00
opal-nvram.c powerpc/powernv: Make OPAL NVRAM device tree accesses endian safe 2013-10-11 16:48:47 +11:00
opal-rtc.c powernv: Remove get/set_rtc_time when they are not present 2013-12-05 16:08:22 +11:00
opal-takeover.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
opal-wrappers.S powerpc/powernv Platform dump interface 2014-03-07 16:19:10 +11:00
opal-xscom.c powerpc/powernv: Fix indirect XSCOM unmangling 2014-02-28 19:15:49 +11:00
opal.c powerpc/powernv Platform dump interface 2014-03-07 16:19:10 +11:00
pci-ioda.c powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
pci-p5ioc2.c PPC: POWERNV: move iommu_add_device earlier 2013-12-05 16:08:17 +11:00
pci.c powerpc/powernv: Refactor PHB diag-data dump 2014-02-28 18:43:19 +11:00
pci.h powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
powernv.h powerpc/powernv: Add iommu DMA bypass support for IODA2 2014-02-11 16:07:37 +11:00
rng.c powerpc: Make cpu_to_chip_id() available when SMP=n 2013-11-21 10:33:44 +11:00
setup.c powerpc/book3s: Recover from MC in sapphire on SCOM read via MMIO. 2014-03-07 15:52:10 +11:00
smp.c powerpc: Convert platforms to smp_generic_cpu_bootable 2013-08-14 14:56:57 +10:00