aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/adxl.h
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2018-10-15 16:11:31 -0700
committerBorislav Petkov <bp@suse.de>2018-10-16 10:03:00 +0200
commit4cf841e398503990df640f7a7c5b2ea56f11c08c (patch)
tree9dc246175a02518b6dc87ef923486bedfdf5de64 /include/linux/adxl.h
parentEDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr() (diff)
downloadwireguard-linux-4cf841e398503990df640f7a7c5b2ea56f11c08c.tar.xz
wireguard-linux-4cf841e398503990df640f7a7c5b2ea56f11c08c.zip
ACPI/ADXL: Add address translation interface using an ACPI DSM
Some new Intel servers provide an interface so that the OS can ask the BIOS to translate a system physical address to a memory address (socket, memory controller, channel, rank, dimm, etc.). This is useful for EDAC drivers that want to take the address of an error reported in a machine check bank and let the user know which DIMM may need to be replaced. Specification for this interface is available at: https://cdrdv2.intel.com/v1/dl/getContent/603354 [ Based on earlier code by Qiuxu Zhuo <qiuxu.zhuo@intel.com>. ] [ bp: Make the first pr_info() in adxl_init() pr_debug() so that it doesn't pollute every dmesg. ] Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> CC: Len Brown <lenb@kernel.org> CC: linux-acpi@vger.kernel.org CC: linux-edac@vger.kernel.org Link: http://lkml.kernel.org/r/20181015202620.23610-1-tony.luck@intel.com
Diffstat (limited to 'include/linux/adxl.h')
-rw-r--r--include/linux/adxl.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/adxl.h b/include/linux/adxl.h
new file mode 100644
index 000000000000..2a629acb4c3f
--- /dev/null
+++ b/include/linux/adxl.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Address translation interface via ACPI DSM.
+ * Copyright (C) 2018 Intel Corporation
+ */
+
+#ifndef _LINUX_ADXL_H
+#define _LINUX_ADXL_H
+
+const char * const *adxl_get_component_names(void);
+int adxl_decode(u64 addr, u64 component_values[]);
+
+#endif /* _LINUX_ADXL_H */