On Fri, May 18, 2018 at 04:37:10PM +0000, Elliott, Robert (Persistent Memory) wrote:
> Would it help to show them in hex?
> As of ACPI 6.2 Errata A, the following values are valid for the bottom
> two bits:
> 0x2 - Memory Controller Flush to NVDIMM Durability on Power Loss Capable.
> 0x3 - CPU Cache Flush to NVDIMM Durability on Power Loss Capable.
Yes, that helps (unless the parser for that command-line does not
accept hex values).
It would also help to make the text be:
"CPU Cache and Memory Controller Flush"
Yea, let me check on that. I'll update the wording regardless to try and make
it more clear.
> > So, there should be a way to specify a highest_cap value to convey that
> > some of the upper capabilities bits are valid and contain 0.
> Right, I'll make this dynamic based on the capabilities value passed in by
> the user. That's a much better solution, thanks. This should cover all the
> same cases as you have outlined above, without burdening the user with yet
> another input value.
Automatically determining the highest bit that the user wants to set to 1
should be easy, and will probably be the most common case.
It's harder to let the user set some upper bits to 0 but also have them
within the highest_cap range. Since this will be less common, the syntax
could be more convoluted, like an optional highest_cap argument
to override the automatically generated value.
For example, to report bits 7, 1 and 0 are all set to 1:
would automatically set highest_cap to 7.
To report bit 7 set to 0 while bits 1 and 0 are set to 1:
Yea, I agree that this is how we could do it, but I don't think this is
necessary right now. We currently only have 3 bits in the Capabilities field,
and right now there is never a case where there is a difference between "I
don't know about this bit" and "I know about this bit, and it's value is
So, really for now we could essentially just say the highest_cap = 31 and be
Let's put off the nvdimm-highest-cap argument complexity until we actually
have a use case where it adds value.