On Tue, Jun 5, 2018 at 9:42 AM, Ross Zwisler <ross.zwis...@linux.intel.com> wrote: > On Tue, Jun 05, 2018 at 06:25:27PM +0300, Michael S. Tsirkin wrote: >> On Mon, May 21, 2018 at 10:32:02AM -0600, Ross Zwisler wrote: >> > Add a machine command line option to allow the user to control the Platform >> > Capabilities Structure in the virtualized NFIT. This Platform Capabilities >> > Structure was added in ACPI 6.2 Errata A. >> > >> > Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com> >> >> I tried playing with it and encoding the capabilities is >> quite awkward. >> >> Can we add bits for specific capabilities instead of nvdimm-cap? >> >> How about: >> >> "cpu-flush-on-power-loss-cap" >> "memory-flush-on-power-loss-cap" >> "byte-addressable-mirroring-cap" > > Hmmm...I don't like that as much because: > > a) It's very verbose. Looking at my current qemu command line few other > options require that many characters, and you'd commonly be defining more > than one of these for a given VM. > > b) It means that the QEMU will need to be updated if/when new flags are added, > because we'll have to have new options for each flag. The current > implementation is more future-proof because you can specify any flags > value you want. > > However, if you feel strongly about this, I'll make the change.
Straw-man: Could we do something similar with what we are doing in ndctl? enum ndctl_persistence_domain { PERSISTENCE_NONE = 0, PERSISTENCE_MEM_CTRL = 10, PERSISTENCE_CPU_CACHE = 20, PERSISTENCE_UNKNOWN = INT_MAX, }; ...and have the command line take a number where "10" and "20" are supported today, but allows us to adapt to new persistence domains in the future.