On Wed, 2015-04-22 at 13:00 -0700, Dan Williams wrote:
> On Wed, Apr 22, 2015 at 12:38 PM, Toshi Kani <[email protected]> wrote:
> > On Wed, 2015-04-22 at 12:28 -0700, Dan Williams wrote:
> >> On Wed, Apr 22, 2015 at 11:23 AM, Toshi Kani <[email protected]> wrote:
> >> > On Wed, 2015-04-22 at 11:20 -0700, Dan Williams wrote:
> >> >> On Wed, Apr 22, 2015 at 11:00 AM, Linda Knippers
> >> >> <[email protected]> wrote:
> >> >> Wait, point of clarification, DCRs (dimm-control-regions) have RFICs,
> >> >> not MEMDEVs (memory-device-to-spa-mapping). Toshi's original report
> >> >> was that an NFIT with a SPA+MEMDEV was failing to enable a PMEM
> >> >> device. That specific problem can be fixed by either deleting the
> >> >> MEMDEV, or adding a DCR.
> >> >
> >> > By a DCR, do you mean a DCR structure or SPA with Control Region GUID?
> >>
> >> Hmm, I meant a DCR as defined below. I agree you would not need a
> >> "SPA-DCR".
> >>
> >> > Adding a DCR structure does not solve this issue since it requires SPA
> >> > with Control Region GUID, which battery-backed DIMMs do not have.
> >>
> >> I would not go that far, half of a DCR entry is relevant for any
> >> NVDIMM, and half is only relevant if a DIMM offers BLK access:
> >>
> >> struct acpi_nfit_dcr {
> >> u16 type;
> >> u16 length;
> >> u16 dcr_index;
> >> u16 vendor_id;
> >> u16 device_id;
> >> u16 revision_id;
> >> u16 sub_vendor_id;
> >> u16 sub_device_id;
> >> u16 sub_revision_id;
> >> u8 reserved[6];
> >> u32 serial_number;
> >> u16 fic;
> >> <<<<< BLK relevant fields start here <<<<<
> >> u16 num_bcw;
> >> u64 bcw_size;
> >> u64 cmd_offset;
> >> u64 cmd_size;
> >> u64 status_offset;
> >> u64 status_size;
> >> u16 flags;
> >> u8 reserved2[6];
> >> };
> >
> > Yes, we do have a DCR entry. But we do not have a SPA-DCR.
>
> Got it. will fix.
Attached is an example implementation of the NFIT table with 2
battery-backed NVDIMM cards, which I have used for testing. I hope this
provides a good example of an NFIT table with SPA(PMEM), MEMDEV and DCR
entries, which allows optional _DSMs for battery-backed NVDIMMs as
necessary.
HP is also defining _DSM method for battery-backed NVDIMMs, and will
share the spec when it is ready.
Thanks,
-Toshi
Thanks,
-Toshi
��* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N V D I M M F i r m w a r e I n t e r f a c e
T a b l e
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
N F I T a d d r e s s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0 7 B 7 E 7 0 0 0
T a b l e H e a d e r :
S i g n a t u r e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
' N F I T '
L e n g t h
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 1 3 8
R e v i s i o n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 1
C h e c k s u m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 4 A
O E M I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
' H P '
O E M T a b l e I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
' P r o L i a n t '
O E M R e v i s i o n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 1
C r e a t o r I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
' H P '
C r e a t o r R e v i s i o n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 1
T a b l e C o n t e n t s :
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T S y s t e m P h y s i c a l
A d d r e s s R a n g e S t r u c t u r e
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
R a n g e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
F l a g s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2
H o t p l u g E n a b l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0
P r o x i m i t y D o m a i n V a l i d
. . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 2
P r o x i m i t y D o m a i n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0
A d d r e s s R a n g e T y p e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 6 F 0 D 3 7 9 - B 4 F 3 - 4 0 7 4 - A C 4 3 - 0 D 3 3 1 8 B 7 8 C D B
A d d r e s s R a n g e B a s e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 4 8 0 0 0 0 0 0 0
A d d r e s s R a n g e L e n g t h
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
A d d r e s s R a n g e A t t r i b u t e s
. . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 F
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T M e m o r y D e v i c e A d d r e s s
R a n g e M a p S t r u c t u r e *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
D e v i c e H a n d l e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 1 0
D e v i c e P h y s i c a l I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 1 4
D e v i c e R e g i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0
R a n g e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
C o n t r o l R e g i o n I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 1
R e g i o n S i z e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
R e g i o n O f f s e t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
D e v i c e A d d r e s s B a s e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 4 8 0 0 0 0 0 0 0
I n t e r l e a v e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0
I n t e r l e a v e W a y s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
S t a t e F l a g s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0
S a v e F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
R e s t o r e F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0
F l u s h F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
N o t A r m e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
S m a r t E v e n t s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
S m a r t N o t i f y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T N V D I M M C o n t r o l R e g i o n
S t r u c t u r e *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
S t r u c t u r e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
V e n d o r I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 2 C 0 0
D e v i c e I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 8 0 0 1
R e v i s i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 5 9
S u b s y s t e m V e n d o r I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 1 2 C
S u b s y s t e m D e v i c e I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 1 0
S u b s y s t e m R e v i s i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 0
S e r i a l N u m b e r
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x A 9 4 5 0 0 B 3
R e g i o n F o r m a t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 1 0 1
C o n t r o l W i n d o w C o u n t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T S y s t e m P h y s i c a l
A d d r e s s R a n g e S t r u c t u r e
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
R a n g e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2
F l a g s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2
H o t p l u g E n a b l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0
P r o x i m i t y D o m a i n V a l i d
. . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 2
P r o x i m i t y D o m a i n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 1
A d d r e s s R a n g e T y p e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 6 F 0 D 3 7 9 - B 4 F 3 - 4 0 7 4 - A C 4 3 - 0 D 3 3 1 8 B 7 8 C D B
A d d r e s s R a n g e B a s e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 A 8 0 0 0 0 0 0 0
A d d r e s s R a n g e L e n g t h
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
A d d r e s s R a n g e A t t r i b u t e s
. . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 F
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T M e m o r y D e v i c e A d d r e s s
R a n g e M a p S t r u c t u r e *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
D e v i c e H a n d l e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2 0 1 1 0
D e v i c e P h y s i c a l I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 2 0
D e v i c e R e g i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
R a n g e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2
C o n t r o l R e g i o n I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 2
R e g i o n S i z e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
R e g i o n O f f s e t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
D e v i c e A d d r e s s B a s e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0 0 0 0 A 8 0 0 0 0 0 0 0
I n t e r l e a v e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0
I n t e r l e a v e W a y s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 1
S t a t e F l a g s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 0
S a v e F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
R e s t o r e F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0
F l u s h F a i l e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
N o t A r m e d
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
S m a r t E v e n t s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
S m a r t N o t i f y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* N F I T N V D I M M C o n t r o l R e g i o n
S t r u c t u r e *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
S t r u c t u r e I n d e x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 0 2
V e n d o r I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 2 C 0 0
D e v i c e I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 8 0 0 1
R e v i s i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 0 5 9
S u b s y s t e m V e n d o r I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 1 2 C
S u b s y s t e m D e v i c e I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 1 0
S u b s y s t e m R e v i s i o n I D
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 0
S e r i a l N u m b e r
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x A 0 4 5 0 0 B 3
R e g i o n F o r m a t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 x 0 1 0 1
C o n t r o l W i n d o w C o u n t
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 x 0 0 0 0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *