diff options
author | Tony Luck <tony.luck@intel.com> | 2018-10-15 16:11:31 -0700 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2018-10-16 10:03:00 +0200 |
commit | 4cf841e398503990df640f7a7c5b2ea56f11c08c (patch) | |
tree | 9dc246175a02518b6dc87ef923486bedfdf5de64 /include | |
parent | d8c27ba86a2fd806d3957e5a9b30e66dfca2a61d (diff) | |
download | linux-4cf841e398503990df640f7a7c5b2ea56f11c08c.tar.bz2 |
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')
-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 @@ +/* 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 */ |