>> I'd like to emphasize again, that I would prefer a virtio-pmem only >> solution. >> >> There are architectures out there (e.g. s390x) that don't support >> NVDIMMs - there is no HW interface to expose any such stuff. >> >> However, with virtio-pmem, we could make it work also on architectures >> not having ACPI and friends. > > ACPI and virtio-only can share the same pmem driver. There are two > parts to this, region discovery and setting up the pmem driver. For > discovery you can either have an NFIT-bus defined range, or a new > virtio-pmem-bus define it. As far as the pmem driver itself it's > agnostic to how the range is discovered. > And in addition to discovery + setup, we need the flush via virtio. > In other words, pmem consumes 'regions' from libnvdimm and the a bus > provider like nfit, e820, or a new virtio-mechansim produce 'regions'. > That sounds good to me. I would like to see how the ACPI discovery variant connects to a virtio ring. The natural way for me would be: A virtio-X device supplies a memory region ("discovery") and also the interface for flushes for this device. So one virtio-X corresponds to one pmem device. No ACPI to be involved (also not on architectures that have ACPI) -- Thanks, David / dhildenb