From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH v3] arm/acpi: Add Server Base System Architecture UART support Date: Fri, 3 Jun 2016 12:39:05 -0500 Message-ID: <1464975545-13641-1-git-send-email-shankerd@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Julien Grall , Stefano Stabellini Cc: Andre Przywara , Philip Elcan , Shanker Donthineni , Vikram Sethi , Wei Chen List-Id: xen-devel@lists.xenproject.org VGhlIEFSTSBTZXJ2ZXIgQmFzZSBTeXN0ZW0gQXJjaGl0ZWN0dXJlIGRlc2NyaWJlcyBhIGdlbmVy aWMgVUFSVAppbnRlcmZhY2UuIEl0IGRvZXNuJ3Qgc3VwcG9ydCBjbG9jayBjb250cm9sIHJlZ2lz dGVycywgbW9kZW0KY29udHJvbCwgRE1BIGFuZCBoYXJkd2FyZSBmbG93IGNvbnRyb2wgZmVhdHVy ZXMuIFNvLCBleHRlbmQgdGhlCmRyaXZlciBwcm9iZSgpIHRvIGhhbmRsZSBTQlNBIGludGVyZmFj ZSBhbmQgc2tpcCB0aGUgYWNjZXNzaW5nClBMMDExIHJlZ2lzdGVycyB0aGF0IGFyZSBub3QgZGVz Y3JpYmVkIGluIFNCU0EgZG9jdW1lbnQKKEFSTS1ERU4tMDAyOSBWZXJzaW9uIDMuMCwgNiBBUFBF TkRJWCBCOiBHRU5FUklDIFVBUlQpLgoKU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5p IDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4KLS0tCkNoYW5nZXMgc2luY2UgdjI6CiAgIEVkaXRl ZCBjb21taXQgdGV4dCB0byBpbmNsdWRlIFNCU0EgZG9jdW1lbnQgdmVyc2lvbi4KICAgUmVtb3Zl IHNldHRpbmcgYmF1ZHJhdGUgY29kZSBjb21wbGV0ZWx5IGFzIHBlciBKdWxpZW4ncyBzdWdnZXN0 aW9uLgogICBTdXBwb3J0IGJvdGggdGhlIFNCU0EgaW50ZXJmYWNlIHR5cGVzIEFDUElfREJHMl9T QlNBICYgQUNQSV9EQkcyX1NCU0FfMzIuCiAgIFJlcGxhY2UgTUlTIHJlZmVyZW5jZXMgd2l0aCBj b21iaW5hdGlvbiBvZiBSSVMgJiBJTVNDLgoKQ2hhbmdlcyBzaW5jZSB2MToKICAgRG9uJ3QgYWNj ZXNzIFVBUlQgcmVnaXN0ZXJzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIFNCU0EgZG9jdW1lbnQuCiAg IE1vdmUgc2V0dGluZyBiYXVkcmF0ZSBmdW5jdGlvbiB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uLgoK IHhlbi9kcml2ZXJzL2NoYXIvcGwwMTEuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyks IDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL2NoYXIvcGwwMTEuYyBi L3hlbi9kcml2ZXJzL2NoYXIvcGwwMTEuYwppbmRleCAxMjEyZDVjLi4zNDk3ZDYxIDEwMDY0NAot LS0gYS94ZW4vZHJpdmVycy9jaGFyL3BsMDExLmMKKysrIGIveGVuL2RyaXZlcnMvY2hhci9wbDAx MS5jCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIHN0YXRpYyBzdHJ1 Y3QgcGwwMTEgewotICAgIHVuc2lnbmVkIGludCBiYXVkLCBjbG9ja19oeiwgZGF0YV9iaXRzLCBw YXJpdHksIHN0b3BfYml0czsKKyAgICB1bnNpZ25lZCBpbnQgZGF0YV9iaXRzLCBwYXJpdHksIHN0 b3BfYml0czsKICAgICB1bnNpZ25lZCBpbnQgaXJxOwogICAgIHZvaWQgX19pb21lbSAqcmVnczsK ICAgICAvKiBVQVJUIHdpdGggSVJRIGxpbmU6IGludGVycnVwdC1kcml2ZW4gSS9PLiAqLwpAQCAt NDEsNiArNDEsNyBAQCBzdGF0aWMgc3RydWN0IHBsMDExIHsKICAgICAvKiBzdHJ1Y3QgdGltZXIg dGltZXI7ICovCiAgICAgLyogdW5zaWduZWQgaW50IHRpbWVvdXRfbXM7ICovCiAgICAgLyogYm9v bF90IHByb2JpbmcsIGludHJfd29ya3M7ICovCisgICAgYm9vbCBzYnNhOyAgLyogQVJNIFNCU0Eg Z2VuZXJpYyBpbnRlcmZhY2UgKi8KIH0gcGwwMTFfY29tID0gezB9OwogCiAvKiBUaGVzZSBwYXJp dHkgc2V0dGluZ3MgY2FuIGJlIE9SZWQgZGlyZWN0bHkgaW50byB0aGUgTENSLiAqLwpAQCAtNTcs NyArNTgsOSBAQCBzdGF0aWMgdm9pZCBwbDAxMV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGF0 YSwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgc3RydWN0IHNlcmlhbF9wb3J0 ICpwb3J0ID0gZGF0YTsKICAgICBzdHJ1Y3QgcGwwMTEgKnVhcnQgPSBwb3J0LT51YXJ0OwotICAg IHVuc2lnbmVkIGludCBzdGF0dXMgPSBwbDAxMV9yZWFkKHVhcnQsIE1JUyk7CisgICAgdW5zaWdu ZWQgaW50IHN0YXR1cyA9IHBsMDExX3JlYWQodWFydCwgUklTKTsKKworICAgIHN0YXR1cyAmPSBw bDAxMV9yZWFkKHVhcnQsIElNU0MpOwogCiAgICAgaWYgKCBzdGF0dXMgKQogICAgIHsKQEAgLTc2 LDcgKzc5LDcgQEAgc3RhdGljIHZvaWQgcGwwMTFfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRh dGEsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgaWYgKCBzdGF0dXMg JiAoVFhJKSApCiAgICAgICAgICAgICAgICAgc2VyaWFsX3R4X2ludGVycnVwdChwb3J0LCByZWdz KTsKIAotICAgICAgICAgICAgc3RhdHVzID0gcGwwMTFfcmVhZCh1YXJ0LCBNSVMpOworICAgICAg ICAgICAgc3RhdHVzID0gcGwwMTFfcmVhZCh1YXJ0LCBSSVMpICYgcGwwMTFfcmVhZCh1YXJ0LCBJ TVNDKTsKICAgICAgICAgfSB3aGlsZSAoc3RhdHVzICE9IDApOwogICAgIH0KIH0KQEAgLTg0LDM2 ICs4NywyMiBAQCBzdGF0aWMgdm9pZCBwbDAxMV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGF0 YSwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiBzdGF0aWMgdm9pZCBfX2luaXQgcGwwMTFf aW5pdF9wcmVpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogewogICAgIHN0cnVjdCBwbDAx MSAqdWFydCA9IHBvcnQtPnVhcnQ7Ci0gICAgdW5zaWduZWQgaW50IGRpdmlzb3I7CiAgICAgdW5z aWduZWQgaW50IGNyOwogCiAgICAgLyogTm8gaW50ZXJydXB0cywgcGxlYXNlLiAqLwogICAgIHBs MDExX3dyaXRlKHVhcnQsIElNU0MsIDApOwogCi0gICAgLyogRGVmaW5pdGVseSBubyBETUEgKi8K LSAgICBwbDAxMV93cml0ZSh1YXJ0LCBETUFDUiwgMHgwKTsKLQotICAgIC8qIExpbmUgY29udHJv bCBhbmQgYmF1ZC1yYXRlIGdlbmVyYXRvci4gKi8KLSAgICBpZiAoIHVhcnQtPmJhdWQgIT0gQkFV RF9BVVRPICkKLSAgICB7Ci0gICAgICAgIC8qIEJhdWQgcmF0ZSBzcGVjaWZpZWQ6IHByb2dyYW0g aXQgaW50byB0aGUgZGl2aXNvciBsYXRjaC4gKi8KLSAgICAgICAgZGl2aXNvciA9ICh1YXJ0LT5j bG9ja19oeiA8PCAyKSAvIHVhcnQtPmJhdWQ7IC8qIGNsayA8PCA2IC8gYmQgPDwgNCAqLwotICAg ICAgICBwbDAxMV93cml0ZSh1YXJ0LCBGQlJELCBkaXZpc29yICYgMHgzZik7Ci0gICAgICAgIHBs MDExX3dyaXRlKHVhcnQsIElCUkQsIGRpdmlzb3IgPj4gNik7Ci0gICAgfQotICAgIGVsc2UKKyAg ICBpZiAoICF1YXJ0LT5zYnNhICkKICAgICB7Ci0gICAgICAgIC8qIEJhdWQgcmF0ZSBhbHJlYWR5 IHNldDogcmVhZCBpdCBvdXQgZnJvbSB0aGUgZGl2aXNvciBsYXRjaC4gKi8KLSAgICAgICAgZGl2 aXNvciA9IChwbDAxMV9yZWFkKHVhcnQsIElCUkQpIDw8IDYpIHwgKHBsMDExX3JlYWQodWFydCwg RkJSRCkpOwotICAgICAgICBpZiAoIWRpdmlzb3IpCi0gICAgICAgICAgICBwYW5pYygicGwwMTE6 IE5vIEJhdWQgcmF0ZSBjb25maWd1cmVkXG4iKTsKLSAgICAgICAgdWFydC0+YmF1ZCA9ICh1YXJ0 LT5jbG9ja19oeiA8PCAyKSAvIGRpdmlzb3I7CisgICAgICAgIC8qIERlZmluaXRlbHkgbm8gRE1B ICovCisgICAgICAgIHBsMDExX3dyaXRlKHVhcnQsIERNQUNSLCAweDApOworCisgICAgICAgIC8q IFRoaXMgd3JpdGUgbXVzdCBmb2xsb3cgRkJSRCBhbmQgSUJSRCB3cml0ZXMuICovCisgICAgICAg IHBsMDExX3dyaXRlKHVhcnQsIExDUl9ILCAodWFydC0+ZGF0YV9iaXRzIC0gNSkgPDwgNQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEZFTgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICgodWFydC0+c3RvcF9iaXRzIC0gMSkgPDwgMykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCB1YXJ0LT5wYXJpdHkpOwogICAgIH0KLSAgICAvKiBUaGlzIHdy aXRlIG11c3QgZm9sbG93IEZCUkQgYW5kIElCUkQgd3JpdGVzLiAqLwotICAgIHBsMDExX3dyaXRl KHVhcnQsIExDUl9ILCAodWFydC0+ZGF0YV9iaXRzIC0gNSkgPDwgNQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgRkVOCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoKHVhcnQt PnN0b3BfYml0cyAtIDEpIDw8IDMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1YXJ0 LT5wYXJpdHkpOwogICAgIC8qIENsZWFyIGVycm9ycyAqLwogICAgIHBsMDExX3dyaXRlKHVhcnQs IFJTUiwgMCk7CiAKQEAgLTEyMSwxMCArMTEwLDEzIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwbDAx MV9pbml0X3ByZWlycShzdHJ1Y3Qgc2VyaWFsX3BvcnQgKnBvcnQpCiAgICAgcGwwMTFfd3JpdGUo dWFydCwgSU1TQywgMCk7CiAgICAgcGwwMTFfd3JpdGUodWFydCwgSUNSLCBBTExJKTsKIAotICAg IC8qIEVuYWJsZSB0aGUgVUFSVCBmb3IgUlggYW5kIFRYOyBrZWVwIFJUUyBhbmQgRFRSICovCi0g ICAgY3IgPSBwbDAxMV9yZWFkKHVhcnQsIENSKTsKLSAgICBjciAmPSBSVFMgfCBEVFI7Ci0gICAg cGwwMTFfd3JpdGUodWFydCwgQ1IsIGNyIHwgUlhFIHwgVFhFIHwgVUFSVEVOKTsKKyAgICBpZiAo ICF1YXJ0LT5zYnNhICkKKyAgICB7CisgICAgICAgIC8qIEVuYWJsZSB0aGUgVUFSVCBmb3IgUlgg YW5kIFRYOyBrZWVwIFJUUyBhbmQgRFRSICovCisgICAgICAgIGNyID0gcGwwMTFfcmVhZCh1YXJ0 LCBDUik7CisgICAgICAgIGNyICY9IFJUUyB8IERUUjsKKyAgICAgICAgcGwwMTFfd3JpdGUodWFy dCwgQ1IsIGNyIHwgUlhFIHwgVFhFIHwgVUFSVEVOKTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lk IF9faW5pdCBwbDAxMV9pbml0X3Bvc3RpcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQpAQCAt MjI2LDE3ICsyMTgsMTYgQEAgc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBfX3JlYWRfbW9zdGx5 IHBsMDExX2RyaXZlciA9IHsKICAgICAudnVhcnRfaW5mbyAgID0gcGwwMTFfdnVhcnQsCiB9Owog Ci1zdGF0aWMgaW50IF9faW5pdCBwbDAxMV91YXJ0X2luaXQoaW50IGlycSwgdTY0IGFkZHIsIHU2 NCBzaXplKQorc3RhdGljIGludCBfX2luaXQgcGwwMTFfdWFydF9pbml0KGludCBpcnEsIHU2NCBh ZGRyLCB1NjQgc2l6ZSwgYm9vbCBzYnNhKQogewogICAgIHN0cnVjdCBwbDAxMSAqdWFydDsKIAog ICAgIHVhcnQgPSAmcGwwMTFfY29tOwogICAgIHVhcnQtPmlycSAgICAgICA9IGlycTsKLSAgICB1 YXJ0LT5jbG9ja19oeiAgPSAweDE2ZTM2MDA7Ci0gICAgdWFydC0+YmF1ZCAgICAgID0gQkFVRF9B VVRPOwogICAgIHVhcnQtPmRhdGFfYml0cyA9IDg7CiAgICAgdWFydC0+cGFyaXR5ICAgID0gUEFS SVRZX05PTkU7CiAgICAgdWFydC0+c3RvcF9iaXRzID0gMTsKKyAgICB1YXJ0LT5zYnNhID0gc2Jz YTsKIAogICAgIHVhcnQtPnJlZ3MgPSBpb3JlbWFwX25vY2FjaGUoYWRkciwgc2l6ZSk7CiAgICAg aWYgKCAhdWFydC0+cmVncyApCkBAIC0yODUsNyArMjc2LDcgQEAgc3RhdGljIGludCBfX2luaXQg cGwwMTFfZHRfdWFydF9pbml0KHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2LAogICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKICAgICB9CiAKLSAgICByZXMgPSBwbDAxMV91YXJ0X2luaXQocmVzLCBh ZGRyLCBzaXplKTsKKyAgICByZXMgPSBwbDAxMV91YXJ0X2luaXQocmVzLCBhZGRyLCBzaXplLCBm YWxzZSk7CiAgICAgaWYgKCByZXMgPCAwICkKICAgICB7CiAgICAgICAgIHByaW50aygicGwwMTE6 IFVuYWJsZSB0byBpbml0aWFsaXplXG4iKTsKQEAgLTMxNSw2ICszMDYsNyBAQCBzdGF0aWMgaW50 IF9faW5pdCBwbDAxMV9hY3BpX3VhcnRfaW5pdChjb25zdCB2b2lkICpkYXRhKQogewogICAgIGFj cGlfc3RhdHVzIHN0YXR1czsKICAgICBzdHJ1Y3QgYWNwaV90YWJsZV9zcGNyICpzcGNyID0gTlVM TDsKKyAgICBib29sIHNic2EgPSBmYWxzZTsKICAgICBpbnQgcmVzOwogCiAgICAgc3RhdHVzID0g YWNwaV9nZXRfdGFibGUoQUNQSV9TSUdfU1BDUiwgMCwKQEAgLTMyNiwxMSArMzE4LDE1IEBAIHN0 YXRpYyBpbnQgX19pbml0IHBsMDExX2FjcGlfdWFydF9pbml0KGNvbnN0IHZvaWQgKmRhdGEpCiAg ICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAorICAgIGlmICggKHNwY3ItPmludGVyZmFj ZV90eXBlID09IEFDUElfREJHMl9TQlNBKSB8fAorICAgICAgICAgKHNwY3ItPmludGVyZmFjZV90 eXBlID09IEFDUElfREJHMl9TQlNBXzMyKSApCisgICAgICAgIHNic2EgPSB0cnVlOworCiAgICAg LyogdHJpZ2dlci9wb2xhcml0eSBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlIGluIHNwY3Ig Ki8KICAgICBpcnFfc2V0X3R5cGUoc3Bjci0+aW50ZXJydXB0LCBJUlFfVFlQRV9MRVZFTF9ISUdI KTsKIAogICAgIHJlcyA9IHBsMDExX3VhcnRfaW5pdChzcGNyLT5pbnRlcnJ1cHQsIHNwY3ItPnNl cmlhbF9wb3J0LmFkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfU0laRSk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfU0laRSwgc2JzYSk7CiAgICAgaWYgKCBy ZXMgPCAwICkKICAgICB7CiAgICAgICAgIHByaW50aygicGwwMTE6IFVuYWJsZSB0byBpbml0aWFs aXplXG4iKTsKQEAgLTM0NCw2ICszNDAsMTYgQEAgQUNQSV9ERVZJQ0VfU1RBUlQoYXBsMDExLCAi UEwwMTEgVUFSVCIsIERFVklDRV9TRVJJQUwpCiAgICAgICAgIC5jbGFzc190eXBlID0gQUNQSV9E QkcyX1BMMDExLAogICAgICAgICAuaW5pdCA9IHBsMDExX2FjcGlfdWFydF9pbml0LAogQUNQSV9E RVZJQ0VfRU5ECisKK0FDUElfREVWSUNFX1NUQVJUKGFzYnNhX3VhcnQsICJTQlNBIFVBUlQiLCBE RVZJQ0VfU0VSSUFMKQorICAgICAgICAuY2xhc3NfdHlwZSA9IEFDUElfREJHMl9TQlNBLAorICAg ICAgICAuaW5pdCA9IHBsMDExX2FjcGlfdWFydF9pbml0LAorQUNQSV9ERVZJQ0VfRU5ECisKK0FD UElfREVWSUNFX1NUQVJUKGFzYnNhMzJfdWFydCwgIlNCU0EzMiBVQVJUIiwgREVWSUNFX1NFUklB TCkKKyAgICAgICAgLmNsYXNzX3R5cGUgPSBBQ1BJX0RCRzJfU0JTQV8zMiwKKyAgICAgICAgLmlu aXQgPSBwbDAxMV9hY3BpX3VhcnRfaW5pdCwKK0FDUElfREVWSUNFX0VORAogI2VuZGlmCiAKIC8q Ci0tIApRdWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4gb24gYmVoYWxmIG9mIFF1YWxjb21tIElu bm92YXRpb24gQ2VudGVyLCBJbmMuIApRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBp cyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwgCmEgTGludXggRm91bmRhdGlvbiBDb2xs YWJvcmF0aXZlIFByb2plY3QKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=