[PATCH v8 2/6] ieee1275: implement FCP methods for WWPN and LUNs
Avnish Chouhan <[email protected]> Mon, 23 Feb 2026 19:14:07 +0530
| Newsgroups | org.gnu.grub-devel |
|---|---|
| Message-ID | <[email protected]> |
VGhpcyBwYXRjaCBlbmFibGVzIHRoZSBmY3AtdGFyZ2V0cyBhbmQgZmNwLWx1bnMgbWV0aG9kcyB3 aGljaCBhcmUKcmVzcG9uc2libGUgdG8gZ2V0IFdXUE5zIGFuZCBMVU5zIGZvciBmaWJyZSBjaGFu bmVsIGRldmljZXMuCgpUaG9zZSBtZXRob2RzIGFyZSBzcGVjaWFsbHkgbmVjZXNzYXJ5IGlmIHRo ZSBib290IGRpcmVjdG9yeSBhbmQgZ3J1YgppbnN0YWxsYXRpb24gYXJlIGluIGRpZmZlcmVudCBG Q1AgZGlza3MsIGFsbG93aW5nIHRoZSBkZXZfaXRlcmF0ZSgpCnRvIGZpbmQgdGhlIFdXUE5zIGFu ZCBMVU5zIHdoZW4gY2FsbGVkIGJ5IHNlYXJjaGZzLnV1aWQgdG9vbC4KClNpZ25lZC1vZmYtYnk6 IERpZWdvIERvbWluZ29zIDxkaWVnb2RvQGJyLmlibS5jb20+ClNpZ25lZC1vZmYtYnk6IEF2bmlz aCBDaG91aGFuIDxhdm5pc2hAbGludXguaWJtLmNvbT4KLS0tCiBncnViLWNvcmUvZGlzay9pZWVl MTI3NS9vZmRpc2suYyB8IDExMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUvZGlzay9pZWVlMTI3NS9vZmRpc2su YyBiL2dydWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCmluZGV4IDU1MzQ2ODQuLjU5NThl NWUgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCisrKyBiL2dy dWItY29yZS9kaXNrL2llZWUxMjc1L29mZGlzay5jCkBAIC0yMDksNyArMjA5LDExNiBAQCBkZXZf aXRlcmF0ZV9yZWFsIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwYXRoKQogc3RhdGlj IHZvaWQKIGRldl9pdGVyYXRlIChjb25zdCBzdHJ1Y3QgZ3J1Yl9pZWVlMTI3NV9kZXZhbGlhcyAq YWxpYXMpCiB7Ci0gIGlmIChncnViX3N0cmNtcCAoYWxpYXMtPnR5cGUsICJ2c2NzaSIpID09IDAp CisgIGlmIChncnViX3N0cmNtcCAoYWxpYXMtPnR5cGUsICJmY3AiKSA9PSAwKQorICAgIHsKKyAg ICAgIC8qCisgICAgICAgKiBJZiB3ZSBhcmUgZGVhbGluZyB3aXRoIGZjcCBkZXZpY2VzLCB3ZSBu ZWVkCisgICAgICAgKiB0byBmaW5kIHRoZSBXV1BOcyBhbmQgTFVOcyB0byBpdGVyYXRlIHRoZW0K KyAgICAgICAqLworICAgICAgZ3J1Yl9pZWVlMTI3NV9paGFuZGxlX3QgaWhhbmRsZTsKKyAgICAg IGdydWJfdWludDY0X3QgKnB0cl90YXJnZXRzLCAqcHRyX2x1bnMsIGssIGw7CisgICAgICB1bnNp Z25lZCBpbnQgaSwgaiwgcG9zOworICAgICAgY2hhciAqYnVmLCAqYnVmcHRyOworICAgICAgc3Ry dWN0IHNldF9mY3BfdGFyZ2V0c19hcmdzCisgICAgICB7CisgICAgICAgIHN0cnVjdCBncnViX2ll ZWUxMjc1X2NvbW1vbl9oZHIgY29tbW9uOworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCBt ZXRob2Q7CisgICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IGloYW5kbGU7CisgICAgICAgIGdy dWJfaWVlZTEyNzVfY2VsbF90IGNhdGNoX3Jlc3VsdDsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3NV9j ZWxsX3QgbmVudHJpZXM7CisgICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IHRhYmxlOworICAg ICAgfSBhcmdzX3RhcmdldHM7CisKKyAgICAgIHN0cnVjdCBzZXRfZmNwX2x1bnNfYXJncworICAg ICAgeworICAgICAgICBzdHJ1Y3QgZ3J1Yl9pZWVlMTI3NV9jb21tb25faGRyIGNvbW1vbjsKKyAg ICAgICAgZ3J1Yl9pZWVlMTI3NV9jZWxsX3QgbWV0aG9kOworICAgICAgICBncnViX2llZWUxMjc1 X2NlbGxfdCBpaGFuZGxlOworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCB3d3BuX2g7Cisg ICAgICAgIGdydWJfaWVlZTEyNzVfY2VsbF90IHd3cG5fbDsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3 NV9jZWxsX3QgY2F0Y2hfcmVzdWx0OworICAgICAgICBncnViX2llZWUxMjc1X2NlbGxfdCBuZW50 cmllczsKKyAgICAgICAgZ3J1Yl9pZWVlMTI3NV9jZWxsX3QgdGFibGU7CisgICAgICB9IGFyZ3Nf bHVuczsKKworICAgICAgc3RydWN0IGFyZ3NfcmV0CisgICAgICB7CisgICAgICAgIGdydWJfdWlu dDY0X3QgYWRkcjsKKyAgICAgICAgZ3J1Yl91aW50NjRfdCBsZW47CisgICAgICB9OworCisgICAg ICBpZiAoZ3J1Yl9pZWVlMTI3NV9vcGVuIChhbGlhcy0+cGF0aCwgJmloYW5kbGUpKQorICAgICAg ICB7CisgICAgICAgICAgZ3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gb3BlbiB0aGUg ZGlzayB3aGlsZSBpdGVyYXRpbmcgRkNQIGRpc2sgcGF0aD0lc1xuIiwgYWxpYXMtPnBhdGgpOwor ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAvKiBTZXR1cCB0aGUgZmNwLXRh cmdldHMgbWV0aG9kIHRvIGNhbGwgdmlhIHBmdyovCisgICAgICBJTklUX0lFRUUxMjc1X0NPTU1P TiAoJmFyZ3NfdGFyZ2V0cy5jb21tb24sICJjYWxsLW1ldGhvZCIsIDIsIDMpOworICAgICAgYXJn c190YXJnZXRzLm1ldGhvZCA9IChncnViX2llZWUxMjc1X2NlbGxfdCkgImZjcC10YXJnZXRzIjsK KyAgICAgIGFyZ3NfdGFyZ2V0cy5paGFuZGxlID0gaWhhbmRsZTsKKworICAgICAgLyogU2V0dXAg dGhlIGZjcC1sdW5zIG1ldGhvZCB0byBjYWxsIHZpYSBwZncgKi8KKyAgICAgIElOSVRfSUVFRTEy NzVfQ09NTU9OICgmYXJnc19sdW5zLmNvbW1vbiwgImNhbGwtbWV0aG9kIiwgNCwgMyk7CisgICAg ICBhcmdzX2x1bnMubWV0aG9kID0gKGdydWJfaWVlZTEyNzVfY2VsbF90KSAiZmNwLWx1bnMiOwor ICAgICAgYXJnc19sdW5zLmloYW5kbGUgPSBpaGFuZGxlOworICAgICAgaWYgKElFRUUxMjc1X0NB TExfRU5UUllfRk4gKCZhcmdzX3RhcmdldHMpID09IC0xKQorICAgICAgICB7CisgICAgICAgICAg Z3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gZ2V0IHRoZSB0YXJnZXRzIHdoaWxlIGl0 ZXJhdGluZyBGQ1AgZGlzayBwYXRoPSVzXG4iLCBhbGlhcy0+cGF0aCk7CisgICAgICAgICAgZ3J1 Yl9pZWVlMTI3NV9jbG9zZSAoaWhhbmRsZSk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9 CisgICAgICBidWYgPSBncnViX21hbGxvYyAoZ3J1Yl9zdHJsZW4gKGFsaWFzLT5wYXRoKSArIDMy ICsgMzIpOworICAgICAgaWYgKCFidWYpCisgICAgICAgIHsKKyAgICAgICAgICBncnViX2llZWUx Mjc1X2Nsb3NlIChpaGFuZGxlKTsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg IGJ1ZnB0ciA9IGdydWJfc3RwY3B5IChidWYsIGFsaWFzLT5wYXRoKTsKKworICAgICAgLyoKKyAg ICAgICAqIEl0ZXJhdGUgb3ZlciBlbnRyaWVzIHJldHVybmVkIGJ5IHBmdy4gRWFjaCBlbnRyeSBj b250YWlucyBhCisgICAgICAgKiBwb2ludGVyIHRvIHd3cG4gdGFibGUgYW5kIGhpcyBsZW5ndGgu CisgICAgICAgKi8KKyAgICAgIHN0cnVjdCBhcmdzX3JldCAqdGFyZ2V0c190YWJsZSA9IChzdHJ1 Y3QgYXJnc19yZXQgKikgKGFyZ3NfdGFyZ2V0cy50YWJsZSk7CisgICAgICBmb3IgKGkgPSAwOyBp IDwgYXJnc190YXJnZXRzLm5lbnRyaWVzOyBpKyspCisgICAgICAgIHsKKyAgICAgICAgICBwdHJf dGFyZ2V0cyA9IChncnViX3VpbnQ2NF90KikgdGFyZ2V0c190YWJsZVtpXS5hZGRyOworICAgICAg ICAgIC8qIEl0ZXJhdGUgb3ZlciBhbGwgd3dwbnMgaW4gZ2l2ZW4gdGFibGUgKi8KKyAgICAgICAg ICBmb3IoayA9IDA7IGsgPCB0YXJnZXRzX3RhYmxlW2ldLmxlbjsgaysrKQorICAgICAgICAgICAg eworICAgICAgICAgICAgICBhcmdzX2x1bnMud3dwbl9sID0gKGdydWJfaWVlZTEyNzVfY2VsbF90 KSAoKnB0cl90YXJnZXRzKTsKKyAgICAgICAgICAgICAgYXJnc19sdW5zLnd3cG5faCA9IChncnVi X2llZWUxMjc1X2NlbGxfdCkgKCpwdHJfdGFyZ2V0cyA+PiAzMik7CisgICAgICAgICAgICAgIHBv cyA9IGdydWJfc25wcmludGYgKGJ1ZnB0ciwgMzIsICIvZGlza0AlIiBQUkl4R1JVQl9VSU5UNjRf VCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncnViX2dldF91bmFsaWduZWQ2 NCAoKnB0cl90YXJnZXRzKyspKTsKKyAgICAgICAgICAgICAgLyogR2V0IHRoZSBsdW5zIGZvciBn aXZlbiB3d3BuIHRhcmdldCAqLworICAgICAgICAgICAgICBpZiAoSUVFRTEyNzVfQ0FMTF9FTlRS WV9GTiAoJmFyZ3NfbHVucykgPT0gLTEpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgZ3J1Yl9kcHJpbnRmICgiZGlzayIsICJmYWlsZWQgdG8gZ2V0IHRoZSBMVU5TIHdoaWxl IGl0ZXJhdGluZyBGQ1AgZGlzayBwYXRoPSVzXG4iLCBidWYpOworICAgICAgICAgICAgICAgICAg Z3J1Yl9pZWVlMTI3NV9jbG9zZSAoaWhhbmRsZSk7CisgICAgICAgICAgICAgICAgICBncnViX2Zy ZWUgKGJ1Zik7CisgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICBzdHJ1Y3QgYXJnc19yZXQgKmx1bnNfdGFibGUgPSAoc3RydWN0IGFyZ3Nf cmV0ICopIChhcmdzX2x1bnMudGFibGUpOworCisgICAgICAgICAgICAgIC8qIEl0ZXJhdGUgb3Zl ciBhbGwgTFVOcyAqLworICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBhcmdzX2x1bnMubmVu dHJpZXM7IGorKykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBwdHJfbHVu cyA9IChncnViX3VpbnQ2NF90KikgbHVuc190YWJsZVtqXS5hZGRyOworICAgICAgICAgICAgICAg ICAgZm9yKGwgPSAwOyBsIDwgbHVuc190YWJsZVtqXS5sZW47IGwrKykKKyAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgIGdydWJfc25wcmludGYgKCZidWZwdHJbcG9z XSwgMzAsICIsJSIgUFJJeEdSVUJfVUlOVDY0X1QsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncnViX2dldF91bmFsaWduZWQ2NCAoKnB0cl9sdW5zKyspKTsKKyAgICAgICAg ICAgICAgICAgICAgICBkZXZfaXRlcmF0ZV9yZWFsIChidWYsIGJ1Zik7CisgICAgICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg ICAgIGdydWJfaWVlZTEyNzVfY2xvc2UgKGloYW5kbGUpOworICAgICAgZ3J1Yl9mcmVlIChidWYp OworICAgICAgcmV0dXJuOworICAgIH0KKyAgZWxzZSBpZiAoZ3J1Yl9zdHJjbXAgKGFsaWFzLT50 eXBlLCAidnNjc2kiKSA9PSAwKQogICAgIHsKICAgICAgIHN0YXRpYyBncnViX2llZWUxMjc1X2lo YW5kbGVfdCBpaGFuZGxlOwogICAgICAgc3RydWN0IHNldF9jb2xvcl9hcmdzCi0tIAoyLjUwLjEg KEFwcGxlIEdpdC0xNTUpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBz Oi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK