... > 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" ... > > 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: -machine pc,accel=kvm,nvdimm,nvdimm-cap=0x83 would automatically set highest_cap to 7. To report bit 7 set to 0 while bits 1 and 0 are set to 1: -machine pc,accel=kvm,nvdimm,nvdimm-cap=0x3,nvdimm-highest-cap=7