On Wed, 2015-04-22 at 13:00 -0700, Dan Williams wrote: > On Wed, Apr 22, 2015 at 12:38 PM, Toshi Kani <toshi.k...@hp.com> wrote: > > On Wed, 2015-04-22 at 12:28 -0700, Dan Williams wrote: > >> On Wed, Apr 22, 2015 at 11:23 AM, Toshi Kani <toshi.k...@hp.com> wrote: > >> > On Wed, 2015-04-22 at 11:20 -0700, Dan Williams wrote: > >> >> On Wed, Apr 22, 2015 at 11:00 AM, Linda Knippers > >> >> <linda.knipp...@hp.com> 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 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *