[PATCH v9 14/19] xen: introduce xenpv bus and a dummy pvcpu devi
U2luY2UgWGVuIFBWSCBndWVzdHMgZG9lc24ndCBoYXZlIEFDUEksIHdlIG5lZWQgdG8gY3JlYXRl
IGEgZHVtbXkKYnVzIHNvIHRvcCBsZXZlbCBYZW4gZGV2aWNlcyBjYW4gYXR0YWNoIHRvIGl0IChp
bnN0ZWFkIG9mCmF0dGFjaGluZyBkaXJlY3RseSB0byB0aGUgbmV4dXMpIGFuZCBhIHB2Y3B1IGRl
dmljZSB0aGF0IHdpbGwgYmUgdXNlZAp0byBmaWxsIHRoZSBwY3B1LT5wY19kZXZpY2UgZmllbGQu
Ci0tLQogc3lzL2NvbmYvZmlsZXMuYW1kNjQgfCAgICAxICsKIHN5cy9jb25mL2ZpbGVzLmkzODYg
IHwgICAgMSArCiBzeXMveDg2L3hlbi94ZW5wdi5jICB8ICAxNTUgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTU3IGlu
c2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzL3g4Ni94
ZW4veGVucHYuYwoKZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmFtZDY0IGIvc3lzL2NvbmYv
ZmlsZXMuYW1kNjQKaW5kZXggYTM0OTFkYS4uZDdjOThjYyAxMDA2NDQKLS0tIGEvc3lzL2NvbmYv
ZmlsZXMuYW1kNjQKKysrIGIvc3lzL2NvbmYvZmlsZXMuYW1kNjQKQEAgLTU3MCwzICs1NzAsNCBA
QCB4ODYveGVuL2h2bS5jCQkJb3B0aW9uYWwJeGVuaHZtCiB4ODYveGVuL3hlbl9pbnRyLmMJCW9w
dGlvbmFsCXhlbiB8IHhlbmh2bQogeDg2L3hlbi9wdi5jCQkJb3B0aW9uYWwJeGVuaHZtCiB4ODYv
eGVuL3B2Y3B1X2VudW0uYwkJb3B0aW9uYWwJeGVuaHZtCit4ODYveGVuL3hlbnB2LmMJCQlvcHRp
b25hbAl4ZW5odm0KZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmkzODYgYi9zeXMvY29uZi9m
aWxlcy5pMzg2CmluZGV4IDc5MDI5NmQuLjgxMTQyZTMgMTAwNjQ0Ci0tLSBhL3N5cy9jb25mL2Zp
bGVzLmkzODYKKysrIGIvc3lzL2NvbmYvZmlsZXMuaTM4NgpAQCAtNjAzLDMgKzYwMyw0IEBAIHg4
Ni94ODYvdHNjLmMJCQlzdGFuZGFyZAogeDg2L3g4Ni9kZWxheS5jCQkJc3RhbmRhcmQKIHg4Ni94
ZW4vaHZtLmMJCQlvcHRpb25hbCB4ZW5odm0KIHg4Ni94ZW4veGVuX2ludHIuYwkJb3B0aW9uYWwg
eGVuIHwgeGVuaHZtCit4ODYveGVuL3hlbnB2LmMJCQlvcHRpb25hbCB4ZW4gfCB4ZW5odm0KZGlm
ZiAtLWdpdCBhL3N5cy94ODYveGVuL3hlbnB2LmMgYi9zeXMveDg2L3hlbi94ZW5wdi5jCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZDY3NGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9zeXMveDg2L3hlbi94ZW5wdi5jCkBAIC0wLDAgKzEsMTU1IEBACisvKgorICogQ29weXJpZ2h0
IChjKSAyMDEzIFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgorICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBBUyBJUycnIEFORAorICogQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICog
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRG
cmVlQlNEJCIpOworCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3N5c3Rt
Lmg+CisjaW5jbHVkZSA8c3lzL2J1cy5oPgorI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KKyNpbmNs
dWRlIDxzeXMvbW9kdWxlLmg+CisjaW5jbHVkZSA8c3lzL3BjcHUuaD4KKyNpbmNsdWRlIDxzeXMv
c21wLmg+CisKKyNpbmNsdWRlIDx4ZW4veGVuLW9zLmg+CisKK3N0YXRpYyBpbnQKK3hlbnB2X3By
b2JlKGRldmljZV90IGRldikKK3sKKworCWRldmljZV9zZXRfZGVzYyhkZXYsICJYZW4gUFYgYnVz
Iik7CisJZGV2aWNlX3F1aWV0KGRldik7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIGludAor
eGVucHZfYXR0YWNoKGRldmljZV90IGRldikKK3sKKwlkZXZpY2VfdCBjaGlsZDsKKworCS8qCisJ
ICogTGV0IG91ciBjaGlsZCBkcml2ZXJzIGlkZW50aWZ5IGFueSBjaGlsZCBkZXZpY2VzIHRoYXQg
dGhleQorCSAqIGNhbiBmaW5kLiAgT25jZSB0aGF0IGlzIGRvbmUgYXR0YWNoIGFueSBkZXZpY2Vz
IHRoYXQgd2UKKwkgKiBmb3VuZC4KKwkgKi8KKwlidXNfZ2VuZXJpY19wcm9iZShkZXYpOworCWJ1
c19nZW5lcmljX2F0dGFjaChkZXYpOworCisJaWYgKCFkZXZjbGFzc19nZXRfZGV2aWNlKGRldmNs
YXNzX2ZpbmQoImlzYSIpLCAwKSkgeworCQljaGlsZCA9IEJVU19BRERfQ0hJTEQoZGV2LCAwLCAi
aXNhIiwgMCk7CisJCWlmIChjaGlsZCA9PSBOVUxMKQorCQkJcGFuaWMoInhlbnB2X2F0dGFjaCBp
c2EiKTsKKwkJZGV2aWNlX3Byb2JlX2FuZF9hdHRhY2goY2hpbGQpOworCX0KKworCXJldHVybiAw
OworfQorCitzdGF0aWMgZGV2aWNlX21ldGhvZF90IHhlbnB2X21ldGhvZHNbXSA9IHsKKwkvKiBE
ZXZpY2UgaW50ZXJmYWNlICovCisJREVWTUVUSE9EKGRldmljZV9wcm9iZSwJCXhlbnB2X3Byb2Jl
KSwKKwlERVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwJeGVucHZfYXR0YWNoKSwKKwlERVZNRVRIT0Qo
ZGV2aWNlX3N1c3BlbmQsCWJ1c19nZW5lcmljX3N1c3BlbmQpLAorCURFVk1FVEhPRChkZXZpY2Vf
cmVzdW1lLAlidXNfZ2VuZXJpY19yZXN1bWUpLAorCisJLyogQnVzIGludGVyZmFjZSAqLworCURF
Vk1FVEhPRChidXNfYWRkX2NoaWxkLAlidXNfZ2VuZXJpY19hZGRfY2hpbGQpLAorCisJREVWTUVU
SE9EX0VORAorfTsKKworc3RhdGljIGRyaXZlcl90IHhlbnB2X2RyaXZlciA9IHsKKwkieGVucHYi
LAorCXhlbnB2X21ldGhvZHMsCisJMSwJCQkvKiBubyBzb2Z0YyAqLworfTsKK3N0YXRpYyBkZXZj
bGFzc190IHhlbnB2X2RldmNsYXNzOworCitEUklWRVJfTU9EVUxFKHhlbnB2LCBuZXh1cywgeGVu
cHZfZHJpdmVyLCB4ZW5wdl9kZXZjbGFzcywgMCwgMCk7CisKKy8qCisgKiBEdW1teSBYZW4gY3B1
IGRldmljZQorICoKKyAqIFNpbmNlIHRoZXJlJ3Mgbm8gQUNQSSBvbiBQVkggZ3Vlc3RzLCB3ZSBu
ZWVkIHRvIGNyZWF0ZSBhIGR1bW15CisgKiBDUFUgZGV2aWNlIGluIG9yZGVyIHRvIGZpbGwgdGhl
IHBjcHUtPnBjX2RldmljZSBmaWVsZC4KKyAqLworCitzdGF0aWMgdm9pZAoreGVucHZjcHVfaWRl
bnRpZnkoZHJpdmVyX3QgKmRyaXZlciwgZGV2aWNlX3QgcGFyZW50KQoreworCWRldmljZV90IGNo
aWxkOworCWludCBpOworCisJLyogT25seSBhdHRhY2ggdG8gUFYgZ3Vlc3RzLCBIVk0gZ3Vlc3Rz
IHVzZSB0aGUgQUNQSSBDUFUgZGV2aWNlcyAqLworCWlmICgheGVuX3B2X2RvbWFpbigpKQorCQly
ZXR1cm47CisKKwlDUFVfRk9SRUFDSChpKSB7CisJCWNoaWxkID0gQlVTX0FERF9DSElMRChwYXJl
bnQsIDAsICJwdmNwdSIsIGkpOworCQlpZiAoY2hpbGQgPT0gTlVMTCkKKwkJCXBhbmljKCJ4ZW5w
dmNwdV9pZGVudGlmeSBhZGQgcHZjcHUiKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQKK3hlbnB2Y3B1
X3Byb2JlKGRldmljZV90IGRldikKK3sKKworCWRldmljZV9zZXRfZGVzYyhkZXYsICJYZW4gUFYg
Q1BVIik7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIGludAoreGVucHZjcHVfYXR0YWNoKGRl
dmljZV90IGRldikKK3sKKwlzdHJ1Y3QgcGNwdSAqcGM7CisJaW50IGNwdTsKKworCWNwdSA9IGRl
dmljZV9nZXRfdW5pdChkZXYpOworCXBjID0gcGNwdV9maW5kKGNwdSk7CisJcGMtPnBjX2Rldmlj
ZSA9IGRldjsKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgZGV2aWNlX21ldGhvZF90IHhlbnB2
Y3B1X21ldGhvZHNbXSA9IHsKKwlERVZNRVRIT0QoZGV2aWNlX2lkZW50aWZ5LCB4ZW5wdmNwdV9p
ZGVudGlmeSksCisJREVWTUVUSE9EKGRldmljZV9wcm9iZSwgeGVucHZjcHVfcHJvYmUpLAorCURF
Vk1FVEhPRChkZXZpY2VfYXR0YWNoLCB4ZW5wdmNwdV9hdHRhY2gpLAorCisJREVWTUVUSE9EX0VO
RAorfTsKKworc3RhdGljIGRyaXZlcl90IHhlbnB2Y3B1X2RyaXZlciA9IHsKKwkicHZjcHUiLAor
CXhlbnB2Y3B1X21ldGhvZHMsCisJMCwKK307CisKK2RldmNsYXNzX3QgeGVucHZjcHVfZGV2Y2xh
c3M7CisKK0RSSVZFUl9NT0RVTEUoeGVucHZjcHUsIHhlbnB2LCB4ZW5wdmNwdV9kcml2ZXIsIHhl
bnB2Y3B1X2RldmNsYXNzLCAwLCAwKTsKK01PRFVMRV9ERVBFTkQoeGVucHZjcHUsIHhlbnB2LCAx
LCAxLCAxKTsKLS0gCjEuNy43LjUgKEFwcGxlIEdpdC0yNikKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZyZWVic2QtY3VycmVudEBmcmVlYnNkLm9yZyBt
YWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJl
ZWJzZC1jdXJyZW50ClRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLWN1
cnJlbnQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmci