diff options
author | Tony Luck <tony.luck@intel.com> | 2018-10-15 19:11:31 -0400 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2018-10-16 04:03:00 -0400 |
commit | 4cf841e398503990df640f7a7c5b2ea56f11c08c (patch) | |
tree | 9dc246175a02518b6dc87ef923486bedfdf5de64 /include/linux | |
parent | d8c27ba86a2fd806d3957e5a9b30e66dfca2a61d (diff) |
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')
-rw-r--r-- | include/linux/adxl.h | 13 |
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 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | /* | ||
3 | * Address translation interface via ACPI DSM. | ||
4 | * Copyright (C) 2018 Intel Corporation | ||
5 | */ | ||
6 | |||
7 | #ifndef _LINUX_ADXL_H | ||
8 | #define _LINUX_ADXL_H | ||
9 | |||
10 | const char * const *adxl_get_component_names(void); | ||
11 | int adxl_decode(u64 addr, u64 component_values[]); | ||
12 | |||
13 | #endif /* _LINUX_ADXL_H */ | ||