Re: [RFC PATCH v3 07/19] target/arm/kvm: handle special ID registers cases when reading from KVM

Khushit Shah <[email protected]> Mon, 3 Aug 2026 15:52:02 +0000
Newsgroups dev.linux.lists.kvmarm,org.nongnu.qemu-arm,org.nongnu.qemu-devel
Message-ID <[email protected]>
DQoNCj4gT24gMjIgSnVsIDIwMjYsIGF0IDY6MDLigK9QTSwgRXJpYyBBdWdlciA8ZXJpYy5hdWdl
ckByZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+ICEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfA0KPiAgQ0FVVElPTjogRXh0
ZXJuYWwgRW1haWwNCj4gDQo+IHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIQ0KPiANCj4gSGkgS2h1c2hpdCwNCj4gDQo+
IE9uIDcvMTYvMjYgMTE6MzggUE0sIEtodXNoaXQgU2hhaCB3cm90ZToNCj4+IFRoZSBnZW5lcmlj
IEtWTV9HRVRfT05FX1JFRyBsb29wIGNhbm5vdCBjb3JyZWN0bHkgcmVhZCBhIGhhbmRmdWwgb2YN
Cj4+IElEIHJlZ2lzdGVycywgc28gc3BlY2lhbGx5IGhhbmRsZSB0aG9zZToNCj4+IA0KPj4gLSBE
Q1pJRF9FTDA6IE5vIGZpbmUgZ3JhaW4gdHJhcCBleGlzdHMsIGhlbmNlIG5vdCB0cmFja2VkIGJ5
IEtWTS4NCj4+ICBJdCBpcyBFTDAtcmVhZGFibGUgYW5kIHVudHJhcHBlZCwgc28gcmVhZCBpdCBk
aXJlY3RseSB3aXRoIE1SUy4NCj4+IA0KPj4gLSBDQ1NJRFJfRUwxL0NDU0lEUjJfRUwxOiBub3Qg
cGxhaW4gSUQgcmVnaXN0ZXJzLCB0aGVpciB2YWx1ZSBpcw0KPj4gIHNlbGVjdGVkIGJ5IENTU0VM
Ul9FTDEuIEtWTSBvbmx5IGV4cG9zZXMgdGhlbSB2aWEgdGhlIERFTVVYIEFQSQ0KPj4gIChLVk1f
UkVHX0FSTV9ERU1VWF9JRF9DQ1NJRFIpLCBzbyB0aGVyZSBpcyBubyBzaW5nbGUgdmFsdWUgdG8g
cmVhZA0KPj4gIGhlcmUuIFNraXAgdGhlbS4NCj4+IA0KPj4gLSBTTUlEUl9FTDE6IEtWTSBkb2Vz
IG5vdCBzdXBwb3J0IFNNRSwgc28gdGhlcmUgaXMgbm8gbWVhbmluZ2Z1bCBob3N0DQo+PiAgdmFs
dWUuIFNraXAgaXQuDQo+PiANCj4+IC0gR01JRF9FTDE6IG5vdCBpbiBLVk0ncyBzeXNfcmVnX2Rl
c2NzW10gYW5kLCBiZWluZyBhbiBFTDEgcmVnaXN0ZXIsDQo+PiAgY2Fubm90IGJlIHJlYWQgZnJv
bSB1c2Vyc3BhY2UgdmlhIE1SUyBlaXRoZXIuIFRoZSBndWVzdCByZWFkcyB0aGUNCj4+ICByYXcg
aG9zdCB2YWx1ZTsgdGhpcyBpcyBhIGdlbnVpbmUgbWlzcyB3aGVuIE1URSBpcyBlbmFibGVkLg0K
Pj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBLaHVzaGl0IFNoYWggPGtodXNoaXQuc2hhaEBudXRhbml4
LmNvbT4NCj4+IC0tLQ0KPj4gdGFyZ2V0L2FybS9rdm0uYyB8IDUzICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQ0KPj4gMSBmaWxlIGNoYW5nZWQsIDQ0IGlu
c2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRpZmYgLS1naXQgYS90YXJnZXQv
YXJtL2t2bS5jIGIvdGFyZ2V0L2FybS9rdm0uYw0KPj4gaW5kZXggNDJmZjczMWY2ZS4uNjk3NGU1
YzU1MSAxMDA2NDQNCj4+IC0tLSBhL3RhcmdldC9hcm0va3ZtLmMNCj4+ICsrKyBiL3RhcmdldC9h
cm0va3ZtLmMNCj4+IEBAIC0zMTEsMTUgKzMxMSw1MCBAQCBzdGF0aWMgaW50IGdldF9ob3N0X2Nw
dV9pZHJlZ3MoaW50IGZkLCBBUk1Ib3N0Q1BVRmVhdHVyZXMgKmFoY2YpDQo+PiAgICAgICAgIGlu
dCByZXQ7DQo+PiANCj4+ICAgICAgICAgcmVnID0gJmFoY2YtPmlzYXIuaWRyZWdzW2ldOw0KPj4g
LSAgICAgICAgcmV0ID0gcmVhZF9zeXNfcmVnNjQoZmQsIHJlZywgaWRyZWdzX3N5c3JlZ190b19r
dm1fcmVnKHN5c3JlZykpOw0KPj4gLSAgICAgICAgaWYgKHJldCkgew0KPj4gLSAgICAgICAgICAg
IGlmIChlcnJubyA9PSBFTk9FTlQpIHsNCj4+IC0gICAgICAgICAgICAgICAgd2Fybl9yZXBvcnQo
IiVzIGVycm9yIHJlYWRpbmcgdmFsdWUgb2YgaG9zdCAlcyByZWdpc3RlciAiDQo+PiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiKEVOT0VOVCkiLCBfX2Z1bmNfXywgc3lzcmVnZGVz
Yy0+bmFtZSk7DQo+PiAtICAgICAgICAgICAgfSBlbHNlIHsNCj4+IC0gICAgICAgICAgICAgICAg
ZXJyb3JfcmVwb3J0KCIlcyBlcnJvciByZWFkaW5nIHZhbHVlIG9mIGhvc3QgJXMgcmVnaXN0ZXIi
DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKCVtKSIsIF9fZnVuY19fLCBzeXNy
ZWdkZXNjLT5uYW1lKTsNCj4+IC0gICAgICAgICAgICAgICAgZXJyID0gcmV0Ow0KPj4gKyAgICAg
ICAgc3dpdGNoIChpKSB7DQo+PiArICAgICAgICBjYXNlIERDWklEX0VMMF9JRFg6DQo+PiArICAg
ICAgICAgICAgLyoNCj4+ICsgICAgICAgICAgICAgKiBEQ1pJRF9FTDAgaXMgbm90IGluIEtWTSdz
IHN5c19yZWdfZGVzY3NbXSwgc28NCj4+ICsgICAgICAgICAgICAgKiBLVk1fR0VUX09ORV9SRUcg
d2lsbCBmYWlsLiBSZWFkIGl0IGRpcmVjdGx5IGZyb20NCj4+ICsgICAgICAgICAgICAgKiBoYXJk
d2FyZSBzaW5jZSBLVk0gZG9lc24ndCB0cmFwIGd1ZXN0IHJlYWRzIG9mIGl0Lg0KPj4gKyAgICAg
ICAgICAgICAqLw0KPj4gKyAgICAgICAgICAgIGFzbSB2b2xhdGlsZSgibXJzICUwLCBEQ1pJRF9F
TDAiIDogIj1yIiAoKnJlZykpOw0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICAgICAg
Y2FzZSBDQ1NJRFJfRUwxX0lEWDoNCj4+ICsgICAgICAgIGNhc2UgQ0NTSURSMl9FTDFfSURYOg0K
Pj4gKyAgICAgICAgICAgIC8qDQo+PiArICAgICAgICAgICAgICogQ0NTSURSX0VMMSBpcyBub3Qg
YSBwbGFpbiBJRCByZWdpc3RlcjogdGhlIHZhbHVlIGl0DQo+PiArICAgICAgICAgICAgICogcmV0
dXJucyBpcyBzZWxlY3RlZCBieSBDU1NFTFJfRUwxLCBzbyB0aGVyZSBpcyBubyBzaW5nbGUNCj4+
ICsgICAgICAgICAgICAgKiB2YWx1ZSB0byBjYXB0dXJlIGhlcmUuIEl0IGlzIGV4cG9zZWQgdG8g
dXNlcnNwYWNlIG9ubHkgdmlhDQo+PiArICAgICAgICAgICAgICogdGhlIERFTVVYIEFQSSAoS1ZN
X1JFR19BUk1fREVNVVhfSURfQ0NTSURSKSwgaW5kZXhlZCBieQ0KPj4gKyAgICAgICAgICAgICAq
IENTU0VMUi4gU2tpcCByZWFkaW5nIGl0IGhlcmUgYXMgdGhlcmUgaXMgbm8gbWVhbmluZ2Z1bCBo
b3N0DQo+PiArICAgICAgICAgICAgICogdmFsdWUgdG8gcmVhZC4NCj4+ICsgICAgICAgICAgICAg
Ki8NCj4gSSB0aGluayB5b3Ugc2hvdWxkIHJlbHkgb24gcHJlcmVxdWlzaXRlDQo+IFtQQVRDSCB2
NCAzLzNdIGFybS9rdm06IGdldCBkZW11eGVkIElEIHJlZ2lzdGVycyBmcm9tIGt2bQ0KQ3VycmVu
dGx5IEkgYW0ganVzdCBza2lwcGluZyB0aG9zZSBhcyBhbnl3YXkgS1ZNIGV4cG9zZXMgYSB2ZXJ5
DQpiYXJlYm9uZSBDYWNoZSB0b3BvbG9neS4NCg0KQWdyZWVkIG9uIHVzaW5nIERFTVVYIHJlZ3Ms
IGluIGNhc2Ugd2Ugd2FudCB0byBzdXBwb3J0IGV4b3BzaW5nIHNvbWUgb3RoZXINCuKAnGNvbmZp
Z+KAnS4NCg0KQWxzbyBvbiB0aGlzIHBvaW50LCBJIGRvbuKAmXQga25vdyBpZiBDQ1NJRFJfRUwx
L0NDU0lEUjJfRUwxIHNob3VsZA0KYmUgcGFydCBvZiBpZHJlZ3NbXSwgd2UgYWxyZWFkeSBoYXZl
IGEgY2NzaWRyW10sIG1heWJlIHRoaXMgY2FuIGJlIGZpeGVkDQppbiB5b3VyIHNlcmllcy4NCg0K
Pj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICAgICAgY2FzZSBTTUlEUl9FTDFfSURYOg0K
Pj4gKyAgICAgICAgICAgIC8qDQo+PiArICAgICAgICAgICAgICogQXMgU01FIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkIGJ5IEtWTSwgaWdub3JlIHJlYWRpbmcgU01JRFJfRUwxDQo+PiArICAgICAgICAg
ICAgICovDQo+PiArICAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICAgICAgY2FzZSBHTUlEX0VM
MV9JRFg6DQo+PiArICAgICAgICAgICAgLyoNCj4+ICsgICAgICAgICAgICAgKiBHTUlEX0VMMSBp
cyBub3QgaW4gS1ZNJ3Mgc3lzX3JlZ19kZXNjc1tdIGFuZCBndWVzdCByZWFkcw0KPj4gKyAgICAg
ICAgICAgICAqIHRoZSByYXcgaG9zdCB2YWx1ZS4gQnV0IGFzIGl0IGlzIGFuIEVMMSByZWdpc3Rl
ciwgd2UgY2Fubm90DQo+PiArICAgICAgICAgICAgICogcmVhZCBpdCBkaXJlY3RseS4gVGhpcyBp
cyBhIGdlbnVpbmUgbWlzcyB3aGVuIE1URSBpcw0KPj4gKyAgICAgICAgICAgICAqIGVuYWJsZWQg
Zm9yIHRoZSBndWVzdC4NCj4+ICsgICAgICAgICAgICAgKi8NCj4+ICsgICAgICAgICAgICBicmVh
azsNCj4+ICsgICAgICAgIGRlZmF1bHQ6DQo+PiArICAgICAgICAgICAgcmV0ID0gcmVhZF9zeXNf
cmVnNjQoZmQsIHJlZywgaWRyZWdzX3N5c3JlZ190b19rdm1fcmVnKHN5c3JlZykpOw0KPj4gKyAg
ICAgICAgICAgIGlmIChyZXQpIHsNCj4+ICsgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVO
T0VOVCkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgd2Fybl9yZXBvcnQoIiVzIGVycm9yIHJl
YWRpbmcgdmFsdWUgb2YgaG9zdCAlcyByZWdpc3RlciAiDQo+PiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIihFTk9FTlQpIiwgX19mdW5jX18sIHN5c3JlZ2Rlc2MtPm5hbWUp
Ow0KPiB0cmFjZSBwb2ludA0KTm90ZWQuDQoNCldhcm0gUmVnYXJkcywNCktodXNoaXQNCj4+ICsg
ICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGVycm9yX3Jl
cG9ydCgiJXMgZXJyb3IgcmVhZGluZyB2YWx1ZSBvZiBob3N0ICVzIHJlZ2lzdGVyIg0KPj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAoJW0pIiwgX19mdW5jX18sIHN5c3JlZ2Rl
c2MtPm5hbWUpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgZXJyID0gcmV0Ow0KPj4gKyAgICAg
ICAgICAgICAgICB9DQo+PiAgICAgICAgICAgICB9DQo+PiAgICAgICAgIH0NCj4+ICAgICAgICAg
dHJhY2VfZ2V0X2hvc3RfY3B1X2lkcmVncyhzeXNyZWdkZXNjLT5uYW1lLCAqcmVnKTsNCj4gVGhh
bmtzDQo+IA0KPiBFcmljDQoNCg0K