[PATCH v9 15/19] xen: create a Xen nexus to use in PV/PVH
SW50cm9kdWNlIGEgWGVuIHNwZWNpZmljIG5leHVzIHRoYXQgaXMgZ29pbmcgdG8gYmUgaW4gY2hh
cmdlIGZvcgphdHRhY2hpbmcgWGVuIHNwZWNpZmljIGRldmljZXMuCi0tLQogc3lzL2NvbmYvZmls
ZXMuYW1kNjQgICAgICAgICAgfCAgICAxICsKIHN5cy9jb25mL2ZpbGVzLmkzODYgICAgICAgICAg
IHwgICAgMSArCiBzeXMvZGV2L3hlbi9jb25zb2xlL2NvbnNvbGUuYyB8ICAgIDIgKy0KIHN5cy9k
ZXYveGVuL3RpbWVyL3RpbWVyLmMgICAgIHwgICAgNCArLQogc3lzL2Rldi94ZW4veGVucGNpL3hl
bnBjaS5jICAgfCAgICA0ICsrCiBzeXMveDg2L3hlbi94ZW5fbmV4dXMuYyAgICAgICB8ICAgODIg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHN5cy94ODYveGVuL3hl
bnB2LmMgICAgICAgICAgIHwgICAgMSArCiBzeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlLmMgICB8
ICAgIDYgKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzL3g4Ni94ZW4veGVuX25leHVzLmMKCmRpZmYgLS1n
aXQgYS9zeXMvY29uZi9maWxlcy5hbWQ2NCBiL3N5cy9jb25mL2ZpbGVzLmFtZDY0CmluZGV4IGQ3
Yzk4Y2MuLmYzNzg5ODMgMTAwNjQ0Ci0tLSBhL3N5cy9jb25mL2ZpbGVzLmFtZDY0CisrKyBiL3N5
cy9jb25mL2ZpbGVzLmFtZDY0CkBAIC01NzEsMyArNTcxLDQgQEAgeDg2L3hlbi94ZW5faW50ci5j
CQlvcHRpb25hbAl4ZW4gfCB4ZW5odm0KIHg4Ni94ZW4vcHYuYwkJCW9wdGlvbmFsCXhlbmh2bQog
eDg2L3hlbi9wdmNwdV9lbnVtLmMJCW9wdGlvbmFsCXhlbmh2bQogeDg2L3hlbi94ZW5wdi5jCQkJ
b3B0aW9uYWwJeGVuaHZtCit4ODYveGVuL3hlbl9uZXh1cy5jCQlvcHRpb25hbAl4ZW5odm0KZGlm
ZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmkzODYgYi9zeXMvY29uZi9maWxlcy5pMzg2CmluZGV4
IDgxMTQyZTMuLjAyODg3YTMzIDEwMDY0NAotLS0gYS9zeXMvY29uZi9maWxlcy5pMzg2CisrKyBi
L3N5cy9jb25mL2ZpbGVzLmkzODYKQEAgLTYwNCwzICs2MDQsNCBAQCB4ODYveDg2L2RlbGF5LmMJ
CQlzdGFuZGFyZAogeDg2L3hlbi9odm0uYwkJCW9wdGlvbmFsIHhlbmh2bQogeDg2L3hlbi94ZW5f
aW50ci5jCQlvcHRpb25hbCB4ZW4gfCB4ZW5odm0KIHg4Ni94ZW4veGVucHYuYwkJCW9wdGlvbmFs
IHhlbiB8IHhlbmh2bQoreDg2L3hlbi94ZW5fbmV4dXMuYwkJb3B0aW9uYWwgeGVuIHwgeGVuaHZt
CmRpZmYgLS1naXQgYS9zeXMvZGV2L3hlbi9jb25zb2xlL2NvbnNvbGUuYyBiL3N5cy9kZXYveGVu
L2NvbnNvbGUvY29uc29sZS5jCmluZGV4IDg5OWRmZmMuLjkxNTM4ZmUgMTAwNjQ0Ci0tLSBhL3N5
cy9kZXYveGVuL2NvbnNvbGUvY29uc29sZS5jCisrKyBiL3N5cy9kZXYveGVuL2NvbnNvbGUvY29u
c29sZS5jCkBAIC00NjIsNCArNDYyLDQgQEAgeGNvbnNfZm9yY2VfZmx1c2godm9pZCkKIAl9CiB9
CiAKLURSSVZFUl9NT0RVTEUoeGMsIG5leHVzLCB4Y19kcml2ZXIsIHhjX2RldmNsYXNzLCAwLCAw
KTsKK0RSSVZFUl9NT0RVTEUoeGMsIHhlbnB2LCB4Y19kcml2ZXIsIHhjX2RldmNsYXNzLCAwLCAw
KTsKZGlmZiAtLWdpdCBhL3N5cy9kZXYveGVuL3RpbWVyL3RpbWVyLmMgYi9zeXMvZGV2L3hlbi90
aW1lci90aW1lci5jCmluZGV4IDk2MzcyYWIuLmYxNmY1YTUgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYv
eGVuL3RpbWVyL3RpbWVyLmMKKysrIGIvc3lzL2Rldi94ZW4vdGltZXIvdGltZXIuYwpAQCAtNjM2
LDUgKzYzNiw1IEBAIHN0YXRpYyBkcml2ZXJfdCB4ZW50aW1lcl9kcml2ZXIgPSB7CiAJc2l6ZW9m
KHN0cnVjdCB4ZW50aW1lcl9zb2Z0YyksCiB9OwogCi1EUklWRVJfTU9EVUxFKHhlbnRpbWVyLCBu
ZXh1cywgeGVudGltZXJfZHJpdmVyLCB4ZW50aW1lcl9kZXZjbGFzcywgMCwgMCk7Ci1NT0RVTEVf
REVQRU5EKHhlbnRpbWVyLCBuZXh1cywgMSwgMSwgMSk7CitEUklWRVJfTU9EVUxFKHhlbnRpbWVy
LCB4ZW5wdiwgeGVudGltZXJfZHJpdmVyLCB4ZW50aW1lcl9kZXZjbGFzcywgMCwgMCk7CitNT0RV
TEVfREVQRU5EKHhlbnRpbWVyLCB4ZW5wdiwgMSwgMSwgMSk7CmRpZmYgLS1naXQgYS9zeXMvZGV2
L3hlbi94ZW5wY2kveGVucGNpLmMgYi9zeXMvZGV2L3hlbi94ZW5wY2kveGVucGNpLmMKaW5kZXgg
ZGQyYWQ5Mi4uYTI3YjU0ZiAxMDA2NDQKLS0tIGEvc3lzL2Rldi94ZW4veGVucGNpL3hlbnBjaS5j
CisrKyBiL3N5cy9kZXYveGVuL3hlbnBjaS94ZW5wY2kuYwpAQCAtMjcwLDYgKzI3MCwxMCBAQCB4
ZW5wY2lfYXR0YWNoKGRldmljZV90IGRldikKIAkJZ290byBlcnJleGl0OwogCX0KIAorCS8qIEFk
ZCB0aGUgeGVucHYgZGV2aWNlIHNvIHRvcCBsZXZlbCBYZW4gZGV2aWNlcyBjYW4gYXR0YWNoICov
CisJaWYgKEJVU19BRERfQ0hJTEQoZGV2LCAwLCAieGVucHYiLCAwKSA9PSBOVUxMKQorCQlwYW5p
YygieGVucGNpOiB1bmFibGUgdG8gYWRkIHhlbnB2IGRldmljZSIpOworCiAJcmV0dXJuIChidXNf
Z2VuZXJpY19hdHRhY2goZGV2KSk7CiAKIGVycmV4aXQ6CmRpZmYgLS1naXQgYS9zeXMveDg2L3hl
bi94ZW5fbmV4dXMuYyBiL3N5cy94ODYveGVuL3hlbl9uZXh1cy5jCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmQzNGUzMzMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMveDg2L3hl
bi94ZW5fbmV4dXMuYwpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEz
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgorICogQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRGcmVlQlNEJCIp
OworCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL2J1cy5oPgorI2luY2x1
ZGUgPHN5cy9rZXJuZWwuaD4KKyNpbmNsdWRlIDxzeXMvbW9kdWxlLmg+CisjaW5jbHVkZSA8c3lz
L3N5c2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zeXN0bS5oPgorI2luY2x1ZGUgPHN5cy9zbXAuaD4K
KworI2luY2x1ZGUgPG1hY2hpbmUvbmV4dXN2YXIuaD4KKworI2luY2x1ZGUgPHhlbi94ZW4tb3Mu
aD4KKworLyoKKyAqIFhlbiBuZXh1cyg0KSBkcml2ZXIuCisgKi8KK3N0YXRpYyBpbnQKK25leHVz
X3hlbl9wcm9iZShkZXZpY2VfdCBkZXYpCit7CisJaWYgKCF4ZW5fcHZfZG9tYWluKCkpCisJCXJl
dHVybiAoRU5YSU8pOworCisJcmV0dXJuIChCVVNfUFJPQkVfREVGQVVMVCk7Cit9CisKK3N0YXRp
YyBpbnQKK25leHVzX3hlbl9hdHRhY2goZGV2aWNlX3QgZGV2KQoreworCisJbmV4dXNfaW5pdF9y
ZXNvdXJjZXMoKTsKKwlidXNfZ2VuZXJpY19wcm9iZShkZXYpOworCisJLyoKKwkgKiBFeHBsaWNp
dGx5IGFkZCB0aGUgeGVucHYgZGV2aWNlIGhlcmUuIE90aGVyIHRvcCBsZXZlbAorCSAqIFhlbiBk
ZXZpY2VzIHdpbGwgYXR0YWNoIHRvIHRoaXMuCisJICovCisJaWYgKEJVU19BRERfQ0hJTEQoZGV2
LCAwLCAieGVucHYiLCAwKSA9PSBOVUxMKQorCQlwYW5pYygieGVucHY6IGNvdWxkIG5vdCBhdHRh
Y2giKTsKKwlidXNfZ2VuZXJpY19hdHRhY2goZGV2KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj
IGRldmljZV9tZXRob2RfdCBuZXh1c194ZW5fbWV0aG9kc1tdID0geworCS8qIERldmljZSBpbnRl
cmZhY2UgKi8KKwlERVZNRVRIT0QoZGV2aWNlX3Byb2JlLAkJbmV4dXNfeGVuX3Byb2JlKSwKKwlE
RVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwJbmV4dXNfeGVuX2F0dGFjaCksCisKKwl7IDAsIDAgfQor
fTsKKworREVGSU5FX0NMQVNTXzEobmV4dXMsIG5leHVzX3hlbl9kcml2ZXIsIG5leHVzX3hlbl9t
ZXRob2RzLCAxLCBuZXh1c19kcml2ZXIpOworc3RhdGljIGRldmNsYXNzX3QgbmV4dXNfZGV2Y2xh
c3M7CisKK0RSSVZFUl9NT0RVTEUobmV4dXNfeGVuLCByb290LCBuZXh1c194ZW5fZHJpdmVyLCBu
ZXh1c19kZXZjbGFzcywgMCwgMCk7CmRpZmYgLS1naXQgYS9zeXMveDg2L3hlbi94ZW5wdi5jIGIv
c3lzL3g4Ni94ZW4veGVucHYuYwppbmRleCA0MWQ2NzRmLi43YmQ4MTBiIDEwMDY0NAotLS0gYS9z
eXMveDg2L3hlbi94ZW5wdi5jCisrKyBiL3N5cy94ODYveGVuL3hlbnB2LmMKQEAgLTkwLDYgKzkw
LDcgQEAgc3RhdGljIGRyaXZlcl90IHhlbnB2X2RyaXZlciA9IHsKIHN0YXRpYyBkZXZjbGFzc190
IHhlbnB2X2RldmNsYXNzOwogCiBEUklWRVJfTU9EVUxFKHhlbnB2LCBuZXh1cywgeGVucHZfZHJp
dmVyLCB4ZW5wdl9kZXZjbGFzcywgMCwgMCk7CitEUklWRVJfTU9EVUxFKHhlbnB2LCB4ZW5wY2ks
IHhlbnB2X2RyaXZlciwgeGVucHZfZGV2Y2xhc3MsIDAsIDApOwogCiAvKgogICogRHVtbXkgWGVu
IGNwdSBkZXZpY2UKZGlmZiAtLWdpdCBhL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYyBiL3N5
cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYwppbmRleCBkNDA0ODYyLi5iNWNmNDEzIDEwMDY0NAot
LS0gYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlLmMKKysrIGIvc3lzL3hlbi94ZW5zdG9yZS94
ZW5zdG9yZS5jCkBAIC0xMjYxLDExICsxMjYxLDcgQEAgc3RhdGljIGRldmljZV9tZXRob2RfdCB4
ZW5zdG9yZV9tZXRob2RzW10gPSB7CiBERUZJTkVfQ0xBU1NfMCh4ZW5zdG9yZSwgeGVuc3RvcmVf
ZHJpdmVyLCB4ZW5zdG9yZV9tZXRob2RzLCAwKTsKIHN0YXRpYyBkZXZjbGFzc190IHhlbnN0b3Jl
X2RldmNsYXNzOyAKICAKLSNpZmRlZiBYRU5IVk0KLURSSVZFUl9NT0RVTEUoeGVuc3RvcmUsIHhl
bnBjaSwgeGVuc3RvcmVfZHJpdmVyLCB4ZW5zdG9yZV9kZXZjbGFzcywgMCwgMCk7Ci0jZWxzZQot
RFJJVkVSX01PRFVMRSh4ZW5zdG9yZSwgbmV4dXMsIHhlbnN0b3JlX2RyaXZlciwgeGVuc3RvcmVf
ZGV2Y2xhc3MsIDAsIDApOwotI2VuZGlmCitEUklWRVJfTU9EVUxFKHhlbnN0b3JlLCB4ZW5wdiwg
eGVuc3RvcmVfZHJpdmVyLCB4ZW5zdG9yZV9kZXZjbGFzcywgMCwgMCk7CiAKIC8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTeXNjdGwgRGF0YSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSovCiAvKiBYWFggU2hvdWxkbid0IHRoZSBub2RlIGJlIHNvbWV3aGVyZSBlbHNl
PyAqLwotLSAKMS43LjcuNSAoQXBwbGUgR2l0LTI2KQoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KZnJlZWJzZC1jdXJyZW50QGZyZWVic2Qub3JnIG1haWxp
bmcgbGlzdApodHRwOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlYnNk
LWN1cnJlbnQKVG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gImZyZWVic2QtY3VycmVu
dC11bnN1YnNjcmliZUBmcmVlYnNkLm9yZyI=