[PATCH v10 14/20] xen: introduce xenpv bus and a dummy pvcpu dev
U2luY2UgWGVuIFBWSCBndWVzdHMgZG9lc24ndCBoYXZlIEFDUEksIHdlIG5lZWQgdG8gY3JlYXRl
IGEgZHVtbXkKYnVzIHNvIHRvcCBsZXZlbCBYZW4gZGV2aWNlcyBjYW4gYXR0YWNoIHRvIGl0IChp
bnN0ZWFkIG9mCmF0dGFjaGluZyBkaXJlY3RseSB0byB0aGUgbmV4dXMpIGFuZCBhIHB2Y3B1IGRl
dmljZSB0aGF0IHdpbGwgYmUgdXNlZAp0byBmaWxsIHRoZSBwY3B1LT5wY19kZXZpY2UgZmllbGQu
Ci0tLQogc3lzL2NvbmYvZmlsZXMuYW1kNjQgfCAgICAxICsKIHN5cy9jb25mL2ZpbGVzLmkzODYg
IHwgICAgMSArCiBzeXMveDg2L3hlbi94ZW5wdi5jICB8ICAxMjggKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTMwIGlu
c2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzL3g4Ni94
ZW4veGVucHYuYwoKZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmFtZDY0IGIvc3lzL2NvbmYv
ZmlsZXMuYW1kNjQKaW5kZXggYTM0OTFkYS4uZDdjOThjYyAxMDA2NDQKLS0tIGEvc3lzL2NvbmYv
ZmlsZXMuYW1kNjQKKysrIGIvc3lzL2NvbmYvZmlsZXMuYW1kNjQKQEAgLTU3MCwzICs1NzAsNCBA
QCB4ODYveGVuL2h2bS5jCQkJb3B0aW9uYWwJeGVuaHZtCiB4ODYveGVuL3hlbl9pbnRyLmMJCW9w
dGlvbmFsCXhlbiB8IHhlbmh2bQogeDg2L3hlbi9wdi5jCQkJb3B0aW9uYWwJeGVuaHZtCiB4ODYv
eGVuL3B2Y3B1X2VudW0uYwkJb3B0aW9uYWwJeGVuaHZtCit4ODYveGVuL3hlbnB2LmMJCQlvcHRp
b25hbAl4ZW5odm0KZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmkzODYgYi9zeXMvY29uZi9m
aWxlcy5pMzg2CmluZGV4IDc5MDI5NmQuLjgxMTQyZTMgMTAwNjQ0Ci0tLSBhL3N5cy9jb25mL2Zp
bGVzLmkzODYKKysrIGIvc3lzL2NvbmYvZmlsZXMuaTM4NgpAQCAtNjAzLDMgKzYwMyw0IEBAIHg4
Ni94ODYvdHNjLmMJCQlzdGFuZGFyZAogeDg2L3g4Ni9kZWxheS5jCQkJc3RhbmRhcmQKIHg4Ni94
ZW4vaHZtLmMJCQlvcHRpb25hbCB4ZW5odm0KIHg4Ni94ZW4veGVuX2ludHIuYwkJb3B0aW9uYWwg
eGVuIHwgeGVuaHZtCit4ODYveGVuL3hlbnB2LmMJCQlvcHRpb25hbCB4ZW4gfCB4ZW5odm0KZGlm
ZiAtLWdpdCBhL3N5cy94ODYveGVuL3hlbnB2LmMgYi9zeXMveDg2L3hlbi94ZW5wdi5jCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMjgyY2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9zeXMveDg2L3hlbi94ZW5wdi5jCkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJpZ2h0
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+CisKK3N0YXRpYyBkZXZjbGFzc190IHhl
bnB2X2RldmNsYXNzOworCitzdGF0aWMgdm9pZAoreGVucHZfaWRlbnRpZnkoZHJpdmVyX3QgKmRy
aXZlciwgZGV2aWNlX3QgcGFyZW50KQoreworCWlmICgheGVuX2RvbWFpbigpKQorCQlyZXR1cm47
CisKKwkvKiBNYWtlIHN1cmUgdGhlcmUncyBvbmx5IG9uZSB4ZW5wdiBkZXZpY2UuICovCisJaWYg
KGRldmNsYXNzX2dldF9kZXZpY2UoeGVucHZfZGV2Y2xhc3MsIDApKQorCQlyZXR1cm47CisKKwkv
KgorCSAqIFVzZSBhIGhpZ2ggb3JkZXIgbnVtYmVyIHNvIHhlbnB2IGlzIGF0dGFjaGVkIGFmdGVy
CisJICogeGVucGNpIG9uIEhWTSBndWVzdHMuCisJICovCisJQlVTX0FERF9DSElMRChwYXJlbnQs
IDIwMCwgInhlbnB2IiwgMCk7Cit9CisKK3N0YXRpYyBpbnQKK3hlbnB2X3Byb2JlKGRldmljZV90
IGRldikKK3sKKworCWRldmljZV9zZXRfZGVzYyhkZXYsICJYZW4gUFYgYnVzIik7CisJZGV2aWNl
X3F1aWV0KGRldik7CisJcmV0dXJuIChCVVNfUFJPQkVfTk9XSUxEQ0FSRCk7Cit9CisKK3N0YXRp
YyBpbnQKK3hlbnB2X2F0dGFjaChkZXZpY2VfdCBkZXYpCit7CisJZGV2aWNlX3QgY2hpbGQ7CisK
KwlpZiAoeGVuX2h2bV9kb21haW4oKSkgeworCQlkZXZpY2VfdCB4ZW5wY2k7CisJCWRldmNsYXNz
X3QgZGM7CisKKwkJLyogTWFrZSBzdXJlIHhlbnBjaSBoYXMgYmVlbiBhdHRhY2hlZCAqLworCQlk
YyA9IGRldmNsYXNzX2ZpbmQoInhlbnBjaSIpOworCQlpZiAoZGMgPT0gTlVMTCkKKwkJCXBhbmlj
KCJ1bmFibGUgdG8gZmluZCB4ZW5wY2kgZGV2Y2xhc3MiKTsKKworCQl4ZW5wY2kgPSBkZXZjbGFz
c19nZXRfZGV2aWNlKGRjLCAwKTsKKwkJaWYgKHhlbnBjaSA9PSBOVUxMKQorCQkJcGFuaWMoInVu
YWJsZSB0byBmaW5kIHhlbnBjaSBkZXZpY2UiKTsKKworCQlpZiAoIWRldmljZV9pc19hdHRhY2hl
ZCh4ZW5wY2kpKQorCQkJcGFuaWMoInRyeWluZyB0byBhdHRhY2ggeGVucHYgYmVmb3JlIHhlbnBj
aSIpOworCX0KKworCS8qCisJICogTGV0IG91ciBjaGlsZCBkcml2ZXJzIGlkZW50aWZ5IGFueSBj
aGlsZCBkZXZpY2VzIHRoYXQgdGhleQorCSAqIGNhbiBmaW5kLiAgT25jZSB0aGF0IGlzIGRvbmUg
YXR0YWNoIGFueSBkZXZpY2VzIHRoYXQgd2UKKwkgKiBmb3VuZC4KKwkgKi8KKwlidXNfZ2VuZXJp
Y19wcm9iZShkZXYpOworCWJ1c19nZW5lcmljX2F0dGFjaChkZXYpOworCisJaWYgKCFkZXZjbGFz
c19nZXRfZGV2aWNlKGRldmNsYXNzX2ZpbmQoImlzYSIpLCAwKSkgeworCQljaGlsZCA9IEJVU19B
RERfQ0hJTEQoZGV2LCAwLCAiaXNhIiwgMCk7CisJCWlmIChjaGlsZCA9PSBOVUxMKQorCQkJcGFu
aWMoInhlbnB2X2F0dGFjaCBpc2EiKTsKKwkJZGV2aWNlX3Byb2JlX2FuZF9hdHRhY2goY2hpbGQp
OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgZGV2aWNlX21ldGhvZF90IHhlbnB2X21l
dGhvZHNbXSA9IHsKKwkvKiBEZXZpY2UgaW50ZXJmYWNlICovCisJREVWTUVUSE9EKGRldmljZV9p
ZGVudGlmeSwJeGVucHZfaWRlbnRpZnkpLAorCURFVk1FVEhPRChkZXZpY2VfcHJvYmUsCQl4ZW5w
dl9wcm9iZSksCisJREVWTUVUSE9EKGRldmljZV9hdHRhY2gsCXhlbnB2X2F0dGFjaCksCisJREVW
TUVUSE9EKGRldmljZV9zdXNwZW5kLAlidXNfZ2VuZXJpY19zdXNwZW5kKSwKKwlERVZNRVRIT0Qo
ZGV2aWNlX3Jlc3VtZSwJYnVzX2dlbmVyaWNfcmVzdW1lKSwKKworCS8qIEJ1cyBpbnRlcmZhY2Ug
Ki8KKwlERVZNRVRIT0QoYnVzX2FkZF9jaGlsZCwJYnVzX2dlbmVyaWNfYWRkX2NoaWxkKSwKKwor
CURFVk1FVEhPRF9FTkQKK307CisKK3N0YXRpYyBkcml2ZXJfdCB4ZW5wdl9kcml2ZXIgPSB7CisJ
InhlbnB2IiwKKwl4ZW5wdl9tZXRob2RzLAorCTEsCQkJLyogbm8gc29mdGMgKi8KK307CisKK0RS
SVZFUl9NT0RVTEUoeGVucHYsIG5leHVzLCB4ZW5wdl9kcml2ZXIsIHhlbnB2X2RldmNsYXNzLCAw
LCAwKTsKLS0gCjEuNy43LjUgKEFwcGxlIEdpdC0yNikKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCmZyZWVic2QtY3VycmVudEBmcmVlYnNkLm9yZyBtYWls
aW5nIGxpc3QKaHR0cDovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWJz
ZC1jdXJyZW50ClRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJmcmVlYnNkLWN1cnJl
bnQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmci