On 21/05/21 19:47, Greg KH wrote:
If this isn't in any hardware that anyone outside of internal-to-company-prototypes, then let's wait until it really is in a device that people can test this code on. What's the rush to get this merged now if no one can use it?
There is not just hardware, there are simulators and emulators too (you can use QEMU to test it for example), and it's not exactly a rush since it's basically been ready for 2 years and has hardly seen any code changes since v13 which was based on Linux 5.9.
Not having the code upstream is hindering further development so that RISC-V KVM can be feature complete when hardware does come out. Missing features and optimizations could be added on top, but they are harder to review if they are integrated in a relatively large series instead of being done incrementally. Not having the header files in Linus's tree makes it harder to merge RISC-V KVM support in userspace (userspace is shielded anyway by any future changes to the hypervisor specification, so there's no risk of breaking the ABI).
At some point one has to say enough is enough; for me, that is after one year with no changes to the spec and, especially, no deadline in sight for freezing it. The last 5 versions of the patch set were just adapting to changes in the generic KVM code. If the code is good, I don't see why the onus of doing those changes should be on Anup, rather than being shared amongst all KVM developers as is the case for all the other architectures.
Paolo