Eliot Moss wrote:
> On 7/22/2022 3:08 PM, Eliot Moss wrote:
> > On 7/22/2022 2:39 PM, Dan Williams wrote:
> >> Eliot Moss wrote:
> > 
> >>> What concerns me is that it shows "persistence_domain":"memory_controller"
> >>> when I think it should show the persistence domain as "cpu_cache", since 
> >>> this
> >>> system is supposed to support eADR.
> 
> > Thank you, Dan!  The table in question is, I believe, the NFIT (NVDIMM
> > Firmware Information Table).  I can see a dump of all 488 bytes of it,
> > though I am not certain how to pick it apart.
> 
> A quick followup: I figured out how to parse the table by hand, and sure
> enough, the relevant bit is not set.  So ndctl and friends are doing the
> right thing.  The issue is either that the platform does not have the
> capability we expected or that the NFIT is wrong and not reporting the
> capability that the hardware actually provides.

Glad you got it parsed, for future reference use iasl:

# cp /sys/firmware/acpi/tables/NFIT ./
# iasl -d NFIT

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20220331
Copyright (c) 2000 - 2022 Intel Corporation

File appears to be binary: found 190 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file NFIT, Length 0xE0 (224) bytes
ACPI: NFIT 0x0000000000000000 0000E0 (v01 BOCHS  BXPC     00000001 BXPC 
00000001)
Acpi Data Table [NFIT] decoded
Formatted output:  NFIT.dsl - 5355 bytes

# cat NFIT.dsl

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20220331 (64-bit version)
 * Copyright (c) 2000 - 2022 Intel Corporation
 * 
 * Disassembly of NFIT, Fri Jul 22 19:54:16 2022
 *
 * ACPI Data Table [NFIT]
 *
 * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue (in hex)
 */

[000h 0000   4]                    Signature : "NFIT"    [NVDIMM Firmware 
Interface Table]
[004h 0004   4]                 Table Length : 000000E0
[008h 0008   1]                     Revision : 01
[009h 0009   1]                     Checksum : E3
[00Ah 0010   6]                       Oem ID : "BOCHS "
[010h 0016   8]                 Oem Table ID : "BXPC    "
[018h 0024   4]                 Oem Revision : 00000001
[01Ch 0028   4]              Asl Compiler ID : "BXPC"
[020h 0032   4]        Asl Compiler Revision : 00000001

[024h 0036   4]                     Reserved : 00000000

[028h 0040   2]                Subtable Type : 0000 [System Physical Address 
Range]
[02Ah 0042   2]                       Length : 0038

[02Ch 0044   2]                  Range Index : 0002
[02Eh 0046   2]        Flags (decoded below) : 0003
                   Add/Online Operation Only : 1
                      Proximity Domain Valid : 1
                       Location Cookie Valid : 0
[030h 0048   4]                     Reserved : 00000000
[034h 0052   4]             Proximity Domain : 00000000
[038h 0056  16]             Region Type GUID : 
66F0D379-B4F3-4074-AC43-0D3318B78CDB
[048h 0072   8]           Address Range Base : 0000000480000000
[050h 0080   8]         Address Range Length : 0000001FC0000000
[058h 0088   8]         Memory Map Attribute : 0000000000008008
[060h 0096   8]              Location Cookie : 0000000100300001

...

Reply via email to