On Wed, Oct 31, 2018 at 5:43 PM Borislav Petkov <bp@xxxxxxxxx> wrote: > > (breaking thread) > > On Mon, Oct 15, 2018 at 09:38:14AM +0200, Rafael J. Wysocki wrote: > > On Fri, Oct 12, 2018 at 8:01 PM Luck, Tony <tony.luck@xxxxxxxxx> wrote: > > > > > > Some new 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@xxxxxxxxx>] > > > > > > Tested-by: Qiuxu Zhuo <qiuxu.zhuo@xxxxxxxxx> > > > Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> > > > > > > --- > > > > > > Boris: > > > Add verb to first line commit description > > > Don't need #ifdef CONFIG_ACPI_ADXL guard any more > > > Comment for allocation of extra element for NULL terminator > > > Merge adxl_detect() into adxl_init() > > > > > > Tony: > > > Make couple of error messages more descriptive > > > --- > > > drivers/acpi/Kconfig | 10 ++ > > > drivers/acpi/Makefile | 3 + > > > drivers/acpi/acpi_adxl.c | 192 +++++++++++++++++++++++++++++++++++++++ > > > include/linux/adxl.h | 25 +++++ > > > 4 files changed, 230 insertions(+) > > > create mode 100644 drivers/acpi/acpi_adxl.c > > > create mode 100644 include/linux/adxl.h > > > > > > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig > > > index dd1eea90f67f..327c93b51cb7 100644 > > > --- a/drivers/acpi/Kconfig > > > +++ b/drivers/acpi/Kconfig > > > @@ -498,6 +498,16 @@ config ACPI_EXTLOG > > > driver adds support for that functionality with corresponding > > > tracepoint which carries that information to userspace. > > > > > > +config ACPI_ADXL > > > + bool "Physical address to DIMM address translation" > > > + def_bool n > > > + help > > > + Enable interface that calls into BIOS using a DSM (device > > > + specific method) to convert system physical addresses > > > + to DIMM (socket, channel, rank, dimm, etc.). > > > + Only available on some servers. > > > + Used by newer EDAC drivers. > > > + > > > > Why is this user-selectable again? > > Maybe it should be user-selectable. Or something... > > Because randconfig builds fail now with: > > drivers/edac/skx_edac.o: In function `skx_mce_check_error': > skx_edac.c:(.text+0xab): undefined reference to `adxl_decode' > drivers/edac/skx_edac.o: In function `skx_init': > skx_edac.c:(.init.text+0x8bf): undefined reference to `adxl_get_component_names' > make: *** [vmlinux] Error 1 > > and make oldconfig says: > > WARNING: unmet direct dependencies detected for ACPI_ADXL > Depends on [n]: ACPI [=n] > Selected by [y]: > - EDAC_SKX [=y] && EDAC [=y] && PCI [=y] && X86_64 [=y] && X86_MCE_INTEL [=y] && PCI_MMCONFIG [=y] && (ACPI_NFIT [=n] || !ACPI_NFIT [=n]) > > because this particular .config (attached) has > > # CONFIG_ACPI is not set > CONFIG_ACPI_ADXL=y ACPI_ADXL is defined under "if ACPI" so this doesn't make sense whatever (and it is not the only one defined like that). Cheers, Rafael