ipmi/parisc: Add IPMI chassis poweroff for certain HP PA-RISC servers
PATCH 1/1 ipmi/parisc: Add IPMI chassis poweroff for certain HP PA-RISC servers
This patch allows HP PA-RISC servers like rp3410/rp3440 and the HP C8000 workstation with an IPMI controller that predate IPMI 1.5 to use the standard poweroff or powercycle commands.
These systems firmware don't set the chassis capability bit in the Get Device ID, but they do implement the standard poweroff and powercycle commands.
drivers/char/ipmi/ipmi_poweroff.c +7 -0
@@ -453,6 +453,13 @@ static int ipmi_dell_chassis_detect(ipmi_user_t user) ipmi_version_major <= 1 && ipmi_version_minor < 5)return 1 ; + +/* BMC in HP C8000 can handle chassis functions too. */ +if (IS_ENABLED (CONFIG_PARISC ) && + mfg_id ==0x0b && prod_id ==0x8201 && + ipmi_version ==1 ) +return 1 ; +return 0 ; }
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Quoted 9 lines · Helge Deller
This patch allows HP PA-RISC servers like rp3410/rp3440 and the HP C8000 workstation with an IPMI controller that predate IPMI 1.5 to use the standard poweroff or powercycle commands.
These systems firmware don't set the chassis capability bit in the Get Device ID, but they do implement the standard poweroff and powercycle commands.
Signed-off-by Helge Deller <[email protected]>
Thanks. I applied your three patches relating to power off and my C8000 now properly powers off (surprise surprise! :)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
T24gMDMvMjQvMjAxOCAwMjo0NSBQTSwgSGVsZ2UgRGVsbGVyIHdyb3RlOgo+IFRoaXMgcGF0Y2gg YWxsb3dzIEhQIFBBLVJJU0Mgc2VydmVycyBsaWtlIHJwMzQxMC9ycDM0NDAgYW5kIHRoZSBIUCBD ODAwMAo+IHdvcmtzdGF0aW9uIHdpdGggYW4gSVBNSSBjb250cm9sbGVyIHRoYXQgcHJlZGF0ZSBJ UE1JIDEuNSB0byB1c2UgdGhlIHN0YW5kYXJkCj4gcG93ZXJvZmYgb3IgcG93ZXJjeWNsZSBjb21t YW5kcy4KPgo+IFRoZXNlIHN5c3RlbXMgZmlybXdhcmUgZG9uJ3Qgc2V0IHRoZSBjaGFzc2lzIGNh cGFiaWxpdHkgYml0IGluIHRoZSBHZXQKPiBEZXZpY2UgSUQsIGJ1dCB0aGV5IGRvIGltcGxlbWVu dCB0aGUgc3RhbmRhcmQgcG93ZXJvZmYgYW5kIHBvd2VyY3ljbGUKPiBjb21tYW5kcy4KCkEgZmV3 IGNvbW1lbnRzIG9uIHRoaXM6CgpUaGF0IGZ1bmN0aW9uIGlzIG5hbWVkIGlwbWlfZGVsbF9jaGFz c2lzX2RldGVjdCgpLCBqdXN0IGFkZGluZyBhIEhQCmNoYXNzaXMgdG8gaXQgZG9lc24ndCBzZWVt IGxpa2UgYSBnb29kIGlkZWEuwqAgVGhlcmUgaXMgYWxyZWFkeSBhbiBhcnJheQpvZiBwb3dlcm9m ZiBmdW5jdGlvbnMsIHBsZWFzZSB1c2UgdGhhdCBhbmQgY3JlYXRlIHlvdXIgb3duIGZ1bmN0aW9u LgpZb3Ugd291bGQgaGF2ZSB0byByZXN0cnVjdHVyZSB0aGUgZGVsbCBmdW5jdGlvbiB0byBtYWtl IGl0IGNsZWFuLAphbmQgSSBkb24ndCB3YW50IHRvIGRvIHRoYXQuCgpUaGUgQ09ORklHX1BBUklT QyBjbGF1c2UgcHJvYmFibHkgZG9lc24ndCBtYXR0ZXIuCgpQbGVhc2UgY3JlYXRlIGRlZmluZXMg Zm9yIHRoZSBtYWdpYyBudW1iZXJzLgoKVGhhbmtzLAoKLWNvcmV5Cgo+IFNpZ25lZC1vZmYtYnk6 IEhlbGdlIERlbGxlciA8ZGVsbGVyQGdteC5kZT4KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2No YXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2Zm LmMKPiBpbmRleCAzOGU2YWYxYzhlMzguLjA5ZjM0ZWEzNzBkYSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMKPiArKysgYi9kcml2ZXJzL2NoYXIvaXBtaS9p cG1pX3Bvd2Vyb2ZmLmMKPiBAQCAtNDUzLDYgKzQ1MywxMyBAQCBzdGF0aWMgaW50IGlwbWlfZGVs bF9jaGFzc2lzX2RldGVjdChpcG1pX3VzZXJfdCB1c2VyKQo+ICAgCSAgICBpcG1pX3ZlcnNpb25f bWFqb3IgPD0gMSAmJgo+ICAgCSAgICBpcG1pX3ZlcnNpb25fbWlub3IgPCA1KQo+ICAgCQlyZXR1 cm4gMTsKPiArCj4gKwkvKiBCTUMgaW4gSFAgQzgwMDAgY2FuIGhhbmRsZSBjaGFzc2lzIGZ1bmN0 aW9ucyB0b28uICovCj4gKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfUEFSSVNDKSAmJgo+ICsJICAg IG1mZ19pZCA9PSAweDBiICYmIHByb2RfaWQgPT0gMHg4MjAxICYmCj4gKwkgICAgaXBtaV92ZXJz aW9uID09IDEpCj4gKwkJcmV0dXJuIDE7Cj4gKwo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCgoK Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpDaGVjayBvdXQgdGhlIHZpYnJhbnQgdGVjaCBjb21tdW5p dHkgb24gb25lIG9mIHRoZSB3b3JsZCdzIG1vc3QKZW5nYWdpbmcgdGVjaCBzaXRlcywgU2xhc2hk b3Qub3JnISBodHRwOi8vc2RtLmxpbmsvc2xhc2hkb3QKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KT3BlbmlwbWktZGV2ZWxvcGVyIG1haWxpbmcgbGlzdApP cGVuaXBtaS1kZXZlbG9wZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291 cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL29wZW5pcG1pLWRldmVsb3Blcgo=
T24gMjcuMDMuMjAxOCAxNToxNiwgQ29yZXkgTWlueWFyZCB3cm90ZToKPiBPbiAwMy8yNC8yMDE4 IDAyOjQ1IFBNLCBIZWxnZSBEZWxsZXIgd3JvdGU6Cj4+IFRoaXMgcGF0Y2ggYWxsb3dzIEhQIFBB LVJJU0Mgc2VydmVycyBsaWtlIHJwMzQxMC9ycDM0NDAgYW5kIHRoZSBIUCBDODAwMAo+PiB3b3Jr c3RhdGlvbiB3aXRoIGFuIElQTUkgY29udHJvbGxlciB0aGF0IHByZWRhdGUgSVBNSSAxLjUgdG8g dXNlIHRoZSBzdGFuZGFyZAo+PiBwb3dlcm9mZiBvciBwb3dlcmN5Y2xlIGNvbW1hbmRzLgo+Pgo+ PiBUaGVzZSBzeXN0ZW1zIGZpcm13YXJlIGRvbid0IHNldCB0aGUgY2hhc3NpcyBjYXBhYmlsaXR5 IGJpdCBpbiB0aGUgR2V0Cj4+IERldmljZSBJRCwgYnV0IHRoZXkgZG8gaW1wbGVtZW50IHRoZSBz dGFuZGFyZCBwb3dlcm9mZiBhbmQgcG93ZXJjeWNsZQo+PiBjb21tYW5kcy4KPiAKPiBBIGZldyBj b21tZW50cyBvbiB0aGlzOgo+IAo+IFRoYXQgZnVuY3Rpb24gaXMgbmFtZWQgaXBtaV9kZWxsX2No YXNzaXNfZGV0ZWN0KCksIGp1c3QgYWRkaW5nIGEgSFAKPiBjaGFzc2lzIHRvIGl0IGRvZXNuJ3Qg c2VlbSBsaWtlIGEgZ29vZCBpZGVhLsKgIFRoZXJlIGlzIGFscmVhZHkgYW4gYXJyYXkKPiBvZiBw b3dlcm9mZiBmdW5jdGlvbnMsIHBsZWFzZSB1c2UgdGhhdCBhbmQgY3JlYXRlIHlvdXIgb3duIGZ1 bmN0aW9uLgo+IFlvdSB3b3VsZCBoYXZlIHRvIHJlc3RydWN0dXJlIHRoZSBkZWxsIGZ1bmN0aW9u IHRvIG1ha2UgaXQgY2xlYW4sCj4gYW5kIEkgZG9uJ3Qgd2FudCB0byBkbyB0aGF0Lgo+IAo+IFRo ZSBDT05GSUdfUEFSSVNDIGNsYXVzZSBwcm9iYWJseSBkb2Vzbid0IG1hdHRlci4KPiAKPiBQbGVh c2UgY3JlYXRlIGRlZmluZXMgZm9yIHRoZSBtYWdpYyBudW1iZXJzLgoKTXkgaW50ZW50aW9uIHdh cyB0byBrZWVwIHRoZSBwYXRjaCBzbWFsbC4KQW55d2F5LCBJJ2xsIHJlc3BpbiBhIG5ldyBwYXRj aCB3aXRoIHlvdXIgc3VnZ2VzdGlvbnMuCgpUaGFua3MhCkhlbGdlCgoKPj4gU2lnbmVkLW9mZi1i eTogSGVsZ2UgRGVsbGVyIDxkZWxsZXJAZ214LmRlPgo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jaGFyL2lwbWkvaXBtaV9wb3dlcm9mZi5jIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9wb3dl cm9mZi5jCj4+IGluZGV4IDM4ZTZhZjFjOGUzOC4uMDlmMzRlYTM3MGRhIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMKPj4gKysrIGIvZHJpdmVycy9jaGFy L2lwbWkvaXBtaV9wb3dlcm9mZi5jCj4+IEBAIC00NTMsNiArNDUzLDEzIEBAIHN0YXRpYyBpbnQg aXBtaV9kZWxsX2NoYXNzaXNfZGV0ZWN0KGlwbWlfdXNlcl90IHVzZXIpCj4+IMKgwqDCoMKgwqDC oMKgwqDCoCBpcG1pX3ZlcnNpb25fbWFqb3IgPD0gMSAmJgo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg aXBtaV92ZXJzaW9uX21pbm9yIDwgNSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAxOwo+ PiArCj4+ICvCoMKgwqAgLyogQk1DIGluIEhQIEM4MDAwIGNhbiBoYW5kbGUgY2hhc3NpcyBmdW5j dGlvbnMgdG9vLiAqLwo+PiArwqDCoMKgIGlmIChJU19FTkFCTEVEKENPTkZJR19QQVJJU0MpICYm Cj4+ICvCoMKgwqDCoMKgwqDCoCBtZmdfaWQgPT0gMHgwYiAmJiBwcm9kX2lkID09IDB4ODIwMSAm Jgo+PiArwqDCoMKgwqDCoMKgwqAgaXBtaV92ZXJzaW9uID09IDEpCj4+ICvCoMKgwqDCoMKgwqDC oCByZXR1cm4gMTsKPj4gKwo+PiDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiDCoCB9CgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KQ2hlY2sgb3V0IHRoZSB2aWJyYW50IHRlY2ggY29tbXVuaXR5IG9uIG9u ZSBvZiB0aGUgd29ybGQncyBtb3N0CmVuZ2FnaW5nIHRlY2ggc2l0ZXMsIFNsYXNoZG90Lm9yZyEg aHR0cDovL3NkbS5saW5rL3NsYXNoZG90Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCk9wZW5pcG1pLWRldmVsb3BlciBtYWlsaW5nIGxpc3QKT3BlbmlwbWkt ZGV2ZWxvcGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdl Lm5ldC9saXN0cy9saXN0aW5mby9vcGVuaXBtaS1kZXZlbG9wZXIK
PATCH v2 1/1 ipmi/parisc: Add IPMI chassis poweroff for certain HP PA-RISC and IA-64 servers
This patch allows HP PA-RISC servers like rp3410/rp3440 and the HP C8000 workstation with an IPMI controller that predate IPMI 1.5 to use the standard poweroff or powercycle commands.
These systems firmware don't set the chassis capability bit in the Get Device ID, but they do implement the standard poweroff and powercycle commands.
drivers/char/ipmi/ipmi_poweroff.c +21 -0
@@ -457,6 +457,24 @@ static int ipmi_dell_chassis_detect(ipmi_user_t user) }/* +* ipmi_hp_chassis_detect() +* HP PA-RISC servers rp3410/rp3440, the C8000 workstation and the rx2600 and +* zx6000 machines support IPMI vers 1 and don't set the chassis capability bit +* but they can handle a chassis poweroff or powercycle command. +*/ + +#define HP_IANA_MFR_ID 0x0b +#define HP_BMC_PROD_ID 0x8201 +static int ipmi_hp_chassis_detect (ipmi_user_t user) +{ +if (mfg_id ==HP_IANA_MFR_ID + && prod_id ==HP_BMC_PROD_ID + && ipmi_version ==1 ) +return 1 ; +return 0 ; +} + +/* * Standard chassis support */
@@ -533,6 +551,9 @@ static struct poweroff_function poweroff_functions[] = { { .platform_type = "chassis", .detect = ipmi_dell_chassis_detect, .poweroff_func = ipmi_poweroff_chassis }, + { .platform_type = "chassis", + .detect = ipmi_hp_chassis_detect, + .poweroff_func = ipmi_poweroff_chassis }, /* Chassis should generally be last, other things should override it. */ { .platform_type = "chassis",
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Re: [PATCH v2] ipmi/parisc: Add IPMI chassis poweroff for certain HP PA-RISC and IA-64 servers
T24gMDMvMjcvMjAxOCAxMDo1OCBBTSwgSGVsZ2UgRGVsbGVyIHdyb3RlOgo+IFRoaXMgcGF0Y2gg YWxsb3dzIEhQIFBBLVJJU0Mgc2VydmVycyBsaWtlIHJwMzQxMC9ycDM0NDAgYW5kIHRoZSBIUCBD ODAwMAo+IHdvcmtzdGF0aW9uIHdpdGggYW4gSVBNSSBjb250cm9sbGVyIHRoYXQgcHJlZGF0ZSBJ UE1JIDEuNSB0byB1c2UgdGhlIHN0YW5kYXJkCj4gcG93ZXJvZmYgb3IgcG93ZXJjeWNsZSBjb21t YW5kcy4KPgo+IFRoZXNlIHN5c3RlbXMgZmlybXdhcmUgZG9uJ3Qgc2V0IHRoZSBjaGFzc2lzIGNh cGFiaWxpdHkgYml0IGluIHRoZSBHZXQKPiBEZXZpY2UgSUQsIGJ1dCB0aGV5IGRvIGltcGxlbWVu dCB0aGUgc3RhbmRhcmQgcG93ZXJvZmYgYW5kIHBvd2VyY3ljbGUKPiBjb21tYW5kcy4KClBlcmZl Y3QsIHRoYW5rcyBmb3IgdGhlIHVwZGF0ZS7CoCBJbmNsdWRlZCBmb3IgbmV4dCByZWxlYXNlLgoK LWNvcmV5Cgo+IFNpZ25lZC1vZmYtYnk6IEhlbGdlIERlbGxlciA8ZGVsbGVyQGdteC5kZT4KPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMgYi9kcml2ZXJz L2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMKPiBpbmRleCAzOGU2YWYxYzhlMzguLjk0M2M4YmMx YzM2NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMKPiAr KysgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3Bvd2Vyb2ZmLmMKPiBAQCAtNDU3LDYgKzQ1Nywy NCBAQCBzdGF0aWMgaW50IGlwbWlfZGVsbF9jaGFzc2lzX2RldGVjdChpcG1pX3VzZXJfdCB1c2Vy KQo+ICAgfQo+ICAgCj4gICAvKgo+ICsgKiBpcG1pX2hwX2NoYXNzaXNfZGV0ZWN0KCkKPiArICog SFAgUEEtUklTQyBzZXJ2ZXJzIHJwMzQxMC9ycDM0NDAsIHRoZSBDODAwMCB3b3Jrc3RhdGlvbiBh bmQgdGhlIHJ4MjYwMCBhbmQKPiArICogeng2MDAwIG1hY2hpbmVzIHN1cHBvcnQgSVBNSSB2ZXJz IDEgYW5kIGRvbid0IHNldCB0aGUgY2hhc3NpcyBjYXBhYmlsaXR5IGJpdAo+ICsgKiBidXQgdGhl eSBjYW4gaGFuZGxlIGEgY2hhc3NpcyBwb3dlcm9mZiBvciBwb3dlcmN5Y2xlIGNvbW1hbmQuCj4g KyAqLwo+ICsKPiArI2RlZmluZSBIUF9JQU5BX01GUl9JRCAweDBiCj4gKyNkZWZpbmUgSFBfQk1D X1BST0RfSUQgMHg4MjAxCj4gK3N0YXRpYyBpbnQgaXBtaV9ocF9jaGFzc2lzX2RldGVjdChpcG1p X3VzZXJfdCB1c2VyKQo+ICt7Cj4gKwlpZiAobWZnX2lkID09IEhQX0lBTkFfTUZSX0lECj4gKwkJ JiYgcHJvZF9pZCA9PSBIUF9CTUNfUFJPRF9JRAo+ICsJCSYmIGlwbWlfdmVyc2lvbiA9PSAxKQo+ ICsJCXJldHVybiAxOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qCj4gICAgKiBTdGFuZGFy ZCBjaGFzc2lzIHN1cHBvcnQKPiAgICAqLwo+ICAgCj4gQEAgLTUzMyw2ICs1NTEsOSBAQCBzdGF0 aWMgc3RydWN0IHBvd2Vyb2ZmX2Z1bmN0aW9uIHBvd2Vyb2ZmX2Z1bmN0aW9uc1tdID0gewo+ICAg CXsgLnBsYXRmb3JtX3R5cGUJPSAiY2hhc3NpcyIsCj4gICAJICAuZGV0ZWN0CQk9IGlwbWlfZGVs bF9jaGFzc2lzX2RldGVjdCwKPiAgIAkgIC5wb3dlcm9mZl9mdW5jCT0gaXBtaV9wb3dlcm9mZl9j aGFzc2lzIH0sCj4gKwl7IC5wbGF0Zm9ybV90eXBlCT0gImNoYXNzaXMiLAo+ICsJICAuZGV0ZWN0 CQk9IGlwbWlfaHBfY2hhc3Npc19kZXRlY3QsCj4gKwkgIC5wb3dlcm9mZl9mdW5jCT0gaXBtaV9w b3dlcm9mZl9jaGFzc2lzIH0sCj4gICAJLyogQ2hhc3NpcyBzaG91bGQgZ2VuZXJhbGx5IGJlIGxh c3QsIG90aGVyIHRoaW5ncyBzaG91bGQgb3ZlcnJpZGUKPiAgIAkgICBpdC4gKi8KPiAgIAl7IC5w bGF0Zm9ybV90eXBlCT0gImNoYXNzaXMiLAoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQ2hlY2sg b3V0IHRoZSB2aWJyYW50IHRlY2ggY29tbXVuaXR5IG9uIG9uZSBvZiB0aGUgd29ybGQncyBtb3N0 CmVuZ2FnaW5nIHRlY2ggc2l0ZXMsIFNsYXNoZG90Lm9yZyEgaHR0cDovL3NkbS5saW5rL3NsYXNo ZG90Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk9wZW5p cG1pLWRldmVsb3BlciBtYWlsaW5nIGxpc3QKT3BlbmlwbWktZGV2ZWxvcGVyQGxpc3RzLnNvdXJj ZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9v cGVuaXBtaS1kZXZlbG9wZXIK