qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Handling multiple inheritance [for CXL]


From: Ben Widawsky
Subject: Handling multiple inheritance [for CXL]
Date: Tue, 26 Jan 2021 13:33:52 -0800

I'm working on CXL 2.0 type 3 memory devices [1]. In short, these are PCIe 
devices
that have persistent memory on them. As such, it would be nice to inherit from
both a PCI_DEVICE class as well as an NVDIMM device class.

Truth be told, using TYPE_MEMORY_DEVICE as the interface does provide most of
what I need. I'm wondering what the best way to handle this is. Currently, the
only thing NVDIMM class provides is write/read_label_data, this is driven by
_DSM. For CXL, the mechanism to read/write the equivalent area is not done via
_DSM, but done directly via a mailbox interface. However, the intent is the
same, and so utilizing similar code seems ideal.

If there's a desire to unify these code paths, I'd need something like multiple
inheritance. I'm looking for some feedback here on how to do it.

Thanks.
Ben

[1]: 
20210105165323.783725-1-ben.widawsky@intel.com/">https://lore.kernel.org/qemu-devel/20210105165323.783725-1-ben.widawsky@intel.com/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]