Re: [PATCH v6 1/8] RISC-V: KVM: Add support for Svadu FWFT features

Anup Patel <[email protected]> Wed, 29 Jul 2026 18:13:52 +0530
Newsgroups org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <CAAhSdy2dGry-jgpCGJyH6-qRbp2WVsJU39XskkigxCdyxmi=eQ@mail.gmail.com>
T24gTW9uLCBKdWwgMTMsIDIwMjYgYXQgNjozM+KAr0FNIElub2NoaSBBbWFvdG8gPGlub2NoaWFt
YUBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gSGFyZHdhcmUgdXBkYXRpbmcgb2YgUFRFIEEvRCBiaXRz
IGlzIGNvbnRyb2xsZWQgdGhyb3VnaCBBRFVFIGJpdCBpbgo+IGhlbnZjZmcgRXhwb3NlIHRoZSBm
ZWF0dXJlIG9ubHkgaWYgYm90aCBTdmFkdSBhbmQgU3ZhZGUgYXJlIHN1cHBvcnRlZAo+IGZvciBW
Uy1tb2RlLgo+Cj4gQWxsb3cgdGhlIFZNTSB0byBlbmFibGUvZGlzYWJsZSB0aGlzIGZlYXR1cmUg
YnkgY2hhbmdlIHRoZSBJU0EKPiBleHRlbnNpb24gc3RhdGUgaW4gdGhlIGd1ZXN0Lgo+Cj4gQXNz
aXN0ZWQtYnk6IFl1YW5TaGVuZzpjbGF1ZGUtNC43LW9wdXMKPiBDby1kZXZlbG9wZWQtYnk6IFF1
YW4gWmhvdSA8emhvdXF1YW5AaXNjYXMuYWMuY24+Cj4gU2lnbmVkLW9mZi1ieTogUXVhbiBaaG91
IDx6aG91cXVhbkBpc2Nhcy5hYy5jbj4KPiBTaWduZWQtb2ZmLWJ5OiBJbm9jaGkgQW1hb3RvIDxp
bm9jaGlhbWFAZ21haWwuY29tPgo+IC0tLQo+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20v
a3ZtLmggfCAgMSArCj4gIGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX2Z3ZnQuYyAgICB8IDc2ICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNl
cnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL3VhcGkvYXNtL2t2
bS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL3VhcGkvYXNtL2t2bS5oCj4gaW5kZXggNTA0ZTczMzA1
MzQzLi43YmJlYTg4MTJkOTIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL3VhcGkv
YXNtL2t2bS5oCj4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL3VhcGkvYXNtL2t2bS5oCj4gQEAg
LTI0MCw2ICsyNDAsNyBAQCBzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9md2Z0X2ZlYXR1cmUgewo+ICBz
dHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9md2Z0IHsKPiAgICAgICAgIHN0cnVjdCBrdm1fcmlzY3Zfc2Jp
X2Z3ZnRfZmVhdHVyZSBtaXNhbGlnbmVkX2RlbGVnOwo+ICAgICAgICAgc3RydWN0IGt2bV9yaXNj
dl9zYmlfZndmdF9mZWF0dXJlIHBvaW50ZXJfbWFza2luZzsKPiArICAgICAgIHN0cnVjdCBrdm1f
cmlzY3Zfc2JpX2Z3ZnRfZmVhdHVyZSBwdGVfYWRfaHdfdXBkYXRpbmc7Cj4gIH07Cj4KPiAgLyog
SWYgeW91IG5lZWQgdG8gaW50ZXJwcmV0IHRoZSBpbmRleCB2YWx1ZXMsIGhlcmUgaXMgdGhlIGtl
eTogKi8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jIGIvYXJj
aC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jCj4gaW5kZXggYWIzOWFjNDY0ZmZkLi40ZDQ3NGE0
MzliMjkgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jCj4gKysr
IGIvYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jCj4gQEAgLTk0LDYgKzk0LDQ1IEBAIHN0
YXRpYyBib29sIGt2bV9md2Z0X2lzX2RlZmluZWRfZmVhdHVyZShlbnVtIHNiaV9md2Z0X2ZlYXR1
cmVfdCBmZWF0dXJlKQo+ICAgICAgICAgcmV0dXJuIGZhbHNlOwo+ICB9Cj4KPiArc3RhdGljIHZv
aWQga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX3Jlc2V0X2hlbHBlcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZj
cHUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQg
ZmxhZykKClRyeSB0byB1c2UgdXB0byA4MC05MCBjaGFyYWN0ZXJzIHBlci1saW5lLgoKcy9rdm1f
c2JpX2Z3ZnRfZW52X2ZsYWdfcmVzZXRfaGVscGVyL2t2bV9zYmlfZndmdF9lbnZjZmdfZmxhZ19y
ZXNldC8KCj4gK3sKPiArICAgICAgIHZjcHUtPmFyY2guY2ZnLmhlbnZjZmcgJj0gfmZsYWc7Cj4g
K30KPiArCj4gK3N0YXRpYyBsb25nIGt2bV9zYmlfZndmdF9lbnZfZmxhZ19zZXRfaGVscGVyKHN0
cnVjdCBrdm1fdmNwdSAqdmNwdSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3Qga3ZtX3NiaV9md2Z0X2NvbmZpZyAqY29uZiwKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIG9uZV9yZWdfYWNjZXNzLAo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgdmFsdWUsIHU2NCBmbGFnKQoKcy9rdm1fc2JpX2Z3ZnRfZW52X2ZsYWdfc2V0X2hlbHBlci9r
dm1fc2JpX2Z3ZnRfZW52Y2ZnX2ZsYWdfc2V0LwoKPiArewo+ICsgICAgICAgc3RydWN0IGt2bV92
Y3B1X2NvbmZpZyAqY2ZnID0gJnZjcHUtPmFyY2guY2ZnOwo+ICsKPiArICAgICAgIGlmICh2YWx1
ZSA9PSAwKQo+ICsgICAgICAgICAgICAgICBjZmctPmhlbnZjZmcgJj0gfmZsYWc7Cj4gKyAgICAg
ICBlbHNlIGlmICh2YWx1ZSA9PSAxKQo+ICsgICAgICAgICAgICAgICBjZmctPmhlbnZjZmcgfD0g
ZmxhZzsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgcmV0dXJuIFNCSV9FUlJfSU5W
QUxJRF9QQVJBTTsKPiArCj4gKyAgICAgICBpZiAoIW9uZV9yZWdfYWNjZXNzKSB7Cj4gKyAgICAg
ICAgICAgICAgIGNzcl93cml0ZShDU1JfSEVOVkNGRywgdmNwdS0+YXJjaC5jZmcuaGVudmNmZyk7
Cj4gKyAgICAgICAgICAgICAgIGlmIChJU19FTkFCTEVEKENPTkZJR18zMkJJVCkpCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgY3NyX3dyaXRlKENTUl9IRU5WQ0ZHSCwgdmNwdS0+YXJjaC5jZmcu
aGVudmNmZyA+PiAzMik7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmV0dXJuIFNCSV9TVUND
RVNTOwo+ICt9Cj4gKwo+ICtzdGF0aWMgbG9uZyBrdm1fc2JpX2Z3ZnRfZW52X2ZsYWdfZ2V0X2hl
bHBlcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IGt2bV9zYmlfZndmdF9jb25maWcgKmNvbmYsCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBvbmVfcmVnX2Fj
Y2VzcywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBsb25nICp2YWx1ZSwgdTY0IGZsYWcpCgpzL2t2bV9zYmlfZndmdF9lbnZfZmxhZ19nZXRf
aGVscGVyL2t2bV9zYmlfZndmdF9lbnZjZmdfZmxhZ19nZXQvCgo+ICt7Cj4gKyAgICAgICAqdmFs
dWUgPSAodmNwdS0+YXJjaC5jZmcuaGVudmNmZyAmIGZsYWcpID09IGZsYWc7Cj4gKwo+ICsgICAg
ICAgcmV0dXJuIFNCSV9TVUNDRVNTOwo+ICt9Cj4gKwo+ICBzdGF0aWMgYm9vbCBrdm1fc2JpX2Z3
ZnRfbWlzYWxpZ25lZF9kZWxlZ2F0aW9uX3N1cHBvcnRlZChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUp
Cj4gIHsKPiAgICAgICAgIHJldHVybiBtaXNhbGlnbmVkX3RyYXBzX2Nhbl9kZWxlZ2F0ZSgpOwo+
IEBAIC0xMzcsNiArMTc2LDM0IEBAIHN0YXRpYyBsb25nIGt2bV9zYmlfZndmdF9nZXRfbWlzYWxp
Z25lZF9kZWxlZ2F0aW9uKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwKPiAgICAgICAgIHJldHVybiBT
QklfU1VDQ0VTUzsKPiAgfQo+Cj4gK3N0YXRpYyBib29sIGt2bV9zYmlfZndmdF9wdGVfYWRfaHdf
dXBkYXRpbmdfc3VwcG9ydGVkKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiArewo+ICsgICAgICAg
cmV0dXJuIHJpc2N2X2lzYV9leHRlbnNpb25fYXZhaWxhYmxlKHZjcHUtPmFyY2guaXNhLCBTVkFE
VSkgJiYKPiArICAgICAgICAgICAgICAgcmlzY3ZfaXNhX2V4dGVuc2lvbl9hdmFpbGFibGUodmNw
dS0+YXJjaC5pc2EsIFNWQURFKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQga3ZtX3NiaV9md2Z0
X3Jlc2V0X3B0ZV9hZF9od191cGRhdGluZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCj4gK3sKPiAr
ICAgICAgIGlmIChrdm1fc2JpX2Z3ZnRfcHRlX2FkX2h3X3VwZGF0aW5nX3N1cHBvcnRlZCh2Y3B1
KSkKPiArICAgICAgICAgICAgICAga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX3Jlc2V0X2hlbHBlcih2
Y3B1LCBFTlZDRkdfQURVRSk7Cj4gK30KPiArCj4gK3N0YXRpYyBsb25nIGt2bV9zYmlfZndmdF9z
ZXRfcHRlX2FkX2h3X3VwZGF0aW5nKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwKPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga3ZtX3NiaV9md2Z0
X2NvbmZpZyAqY29uZiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIG9uZV9yZWdfYWNjZXNzLCB1bnNpZ25lZCBsb25nIHZhbHVlKQo+ICt7Cj4g
KyAgICAgICByZXR1cm4ga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX3NldF9oZWxwZXIodmNwdSwgY29u
Ziwgb25lX3JlZ19hY2Nlc3MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmFsdWUsIEVOVkNGR19BRFVFKTsKPiArfQo+ICsKPiArc3RhdGljIGxvbmcg
a3ZtX3NiaV9md2Z0X2dldF9wdGVfYWRfaHdfdXBkYXRpbmcoc3RydWN0IGt2bV92Y3B1ICp2Y3B1
LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBrdm1fc2JpX2Z3ZnRfY29uZmlnICpjb25mLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgb25lX3JlZ19hY2Nlc3MsIHVuc2lnbmVkIGxvbmcg
KnZhbHVlKQo+ICt7Cj4gKyAgICAgICByZXR1cm4ga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX2dldF9o
ZWxwZXIodmNwdSwgY29uZiwgb25lX3JlZ19hY2Nlc3MsCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIEVOVkNGR19BRFVFKTsKPiArfQo+ICsK
PiAgI2lmbmRlZiBDT05GSUdfMzJCSVQKPgo+ICBzdGF0aWMgYm9vbCB0cnlfdG9fc2V0X3BtbSh1
bnNpZ25lZCBsb25nIHZhbHVlKQo+IEBAIC0yNDYsNiArMzEzLDE1IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3Qga3ZtX3NiaV9md2Z0X2ZlYXR1cmUgZmVhdHVyZXNbXSA9IHsKPiAgICAgICAgICAgICAg
ICAgLnNldCA9IGt2bV9zYmlfZndmdF9zZXRfbWlzYWxpZ25lZF9kZWxlZ2F0aW9uLAo+ICAgICAg
ICAgICAgICAgICAuZ2V0ID0ga3ZtX3NiaV9md2Z0X2dldF9taXNhbGlnbmVkX2RlbGVnYXRpb24s
Cj4gICAgICAgICB9LAo+ICsgICAgICAgewo+ICsgICAgICAgICAgICAgICAuaWQgPSBTQklfRldG
VF9QVEVfQURfSFdfVVBEQVRJTkcsCj4gKyAgICAgICAgICAgICAgIC5maXJzdF9yZWdfbnVtID0g
b2Zmc2V0b2Yoc3RydWN0IGt2bV9yaXNjdl9zYmlfZndmdCwgcHRlX2FkX2h3X3VwZGF0aW5nLmVu
YWJsZSkgLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1bnNpZ25l
ZCBsb25nKSwKPiArICAgICAgICAgICAgICAgLnN1cHBvcnRlZCA9IGt2bV9zYmlfZndmdF9wdGVf
YWRfaHdfdXBkYXRpbmdfc3VwcG9ydGVkLAo+ICsgICAgICAgICAgICAgICAucmVzZXQgPSBrdm1f
c2JpX2Z3ZnRfcmVzZXRfcHRlX2FkX2h3X3VwZGF0aW5nLAo+ICsgICAgICAgICAgICAgICAuc2V0
ID0ga3ZtX3NiaV9md2Z0X3NldF9wdGVfYWRfaHdfdXBkYXRpbmcsCj4gKyAgICAgICAgICAgICAg
IC5nZXQgPSBrdm1fc2JpX2Z3ZnRfZ2V0X3B0ZV9hZF9od191cGRhdGluZywKPiArICAgICAgIH0s
Cj4gICNpZm5kZWYgQ09ORklHXzMyQklUCj4gICAgICAgICB7Cj4gICAgICAgICAgICAgICAgIC5p
ZCA9IFNCSV9GV0ZUX1BPSU5URVJfTUFTS0lOR19QTUxFTiwKPiAtLQo+IDIuNTUuMAo+CgpPdGhl
cndpc2UsIHRoaXMgbG9va3MgZ29vZCB0byBtZS4KClJldmlld2VkLWJ5OiBBbnVwIFBhdGVsIDxh
bnVwQGJyYWluZmF1bHQub3JnPgoKUmVnYXJkcywKQW51cAoKLS0gCmt2bS1yaXNjdiBtYWlsaW5n
IGxpc3QKa3ZtLXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh
ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rdm0tcmlzY3YK