From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tetsu Yamamoto Subject: [PATCH] xm reboot/shutdown/sysrq to HVM domain Date: Fri, 06 Oct 2006 16:06:03 +0900 Message-ID: <4526005B.1020906@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080404020107060500000307" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------080404020107060500000307 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Hi, This patch enhances 'xm reboot'/'xm shutdown' commands to reboot/shutdown guest Linux on HVM domain as gracefully as para-Linux. In addtion, sysrq key signal can be sent to HVM domain by 'xm sysrq' command. Usage: 1. Build modules in unmodifiled_drivers/linux-2.6 2. Start HVM domain and load modules on the guest Linux. # insmod xen-platform-pci.ko # insmod xenbus.ko # insmod reboot.ko 3. Execute xm reboot/shutdown/sysrq to HVM domain. Regards, Tetsu Yamamoto Signed-off-by: Tetsu Yamamoto --------------080404020107060500000307 Content-Type: text/plain; name="reboot.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="reboot.patch" ZGlmZiAtciAwMjMxMWQ4YWJhODYgbGludXgtMi42LXhlbi1zcGFyc2UvZHJpdmVycy94ZW4v Y29yZS9yZWJvb3QuYwotLS0gYS9saW51eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi9j b3JlL3JlYm9vdC5jCVNhdCBTZXAgMzAgMTE6MzU6MDIgMjAwNiArMDEwMAorKysgYi9saW51 eC0yLjYteGVuLXNwYXJzZS9kcml2ZXJzL3hlbi9jb3JlL3JlYm9vdC5jCVR1ZSBPY3QgMDMg MTE6MjE6MzAgMjAwNiArMDkwMApAQCAtMTksNyArMTksMTMgQEAKICNpbmNsdWRlIDx4ZW4v eGVuY29ucy5oPgogI2luY2x1ZGUgPHhlbi9jcHVfaG90cGx1Zy5oPgogCisjaWZkZWYgQ09O RklHX1hFTgogZXh0ZXJuIHZvaWQgY3RybF9hbHRfZGVsKHZvaWQpOworI2VuZGlmIC8qIENP TkZJR19YRU4gKi8KKworI2lmbmRlZiBDT05GSUdfWEVOCitNT0RVTEVfTElDRU5TRSgiRHVh bCBCU0QvR1BMIik7CisjZW5kaWYgLyogIUNPTkZJR19YRU4gKi8KIAogI2RlZmluZSBTSFVU RE9XTl9JTlZBTElEICAtMQogI2RlZmluZSBTSFVURE9XTl9QT1dFUk9GRiAgMApAQCAtMzEs NiArMzcsNyBAQCBleHRlcm4gdm9pZCBjdHJsX2FsdF9kZWwodm9pZCk7CiAgKi8KICNkZWZp bmUgU0hVVERPV05fSEFMVCAgICAgIDQKIAorI2lmZGVmIENPTkZJR19YRU4KICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCiAKIC8qCkBAIC03MSw2ICs3 OCw3IEBAIEVYUE9SVF9TWU1CT0wobWFjaGluZV9wb3dlcl9vZmYpOwogRVhQT1JUX1NZTUJP TChtYWNoaW5lX3Bvd2VyX29mZik7CiAKICNlbmRpZiAvKiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pICovCisjZW5kaWYgLyogQ09ORklHX1hFTiAqLwogCiAv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBTdG9wL3BpY2tsZSBjYWxsYmFjayBoYW5k bGluZy4KQEAgLTgxLDYgKzg5LDcgQEAgc3RhdGljIHZvaWQgX19zaHV0ZG93bl9oYW5kbGVy KHZvaWQgKnVudQogc3RhdGljIHZvaWQgX19zaHV0ZG93bl9oYW5kbGVyKHZvaWQgKnVudXNl ZCk7CiBzdGF0aWMgREVDTEFSRV9XT1JLKHNodXRkb3duX3dvcmssIF9fc2h1dGRvd25faGFu ZGxlciwgTlVMTCk7CiAKKyNpZmRlZiBDT05GSUdfWEVOCiAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQogCiAvKiBFbnN1cmUgd2UgcnVuIG9uIHRoZSBp ZGxlIHRhc2sgcGFnZSB0YWJsZXMgc28gdGhhdCB3ZSB3aWxsCkBAIC0yMTAsNiArMjE5LDcg QEAgc3RhdGljIGludCBfX2RvX3N1c3BlbmQodm9pZCAqaWdub3JlKQogCiAJcmV0dXJuIGVy cjsKIH0KKyNlbmRpZiAvKiBDT05GSUdfWEVOICovCiAKIHN0YXRpYyBpbnQgc2h1dGRvd25f cHJvY2Vzcyh2b2lkICpfX3VudXNlZCkKIHsKQEAgLTIyMiwxMiArMjMyLDE3IEBAIHN0YXRp YyBpbnQgc2h1dGRvd25fcHJvY2Vzcyh2b2lkICpfX3VudXMKIAogCWlmICgoc2h1dHRpbmdf ZG93biA9PSBTSFVURE9XTl9QT1dFUk9GRikgfHwKIAkgICAgKHNodXR0aW5nX2Rvd24gPT0g U0hVVERPV05fSEFMVCkpIHsKKyNpZmRlZiBDT05GSUdfWEVOCiAJCWlmIChleGVjdmUoIi9z YmluL3Bvd2Vyb2ZmIiwgcG93ZXJvZmZfYXJndiwgZW52cCkgPCAwKSB7CiAJCQlzeXNfcmVi b290KExJTlVYX1JFQk9PVF9NQUdJQzEsCiAJCQkJICAgTElOVVhfUkVCT09UX01BR0lDMiwK IAkJCQkgICBMSU5VWF9SRUJPT1RfQ01EX1BPV0VSX09GRiwKIAkJCQkgICBOVUxMKTsKIAkJ fQorI2Vsc2UgLyogIUNPTkZJR19YRU4gKi8KKwkJY2FsbF91c2VybW9kZWhlbHBlcl9rZXlz KCIvc2Jpbi9wb3dlcm9mZiIsIHBvd2Vyb2ZmX2FyZ3YsIGVudnAsIE5VTEwsIDApOworCisj ZW5kaWYgLyogIUNPTkZJR19YRU4gKi8KIAl9CiAKIAlzaHV0dGluZ19kb3duID0gU0hVVERP V05fSU5WQUxJRDsgLyogY291bGQgdHJ5IGFnYWluICovCkBAIC0yMzUsNiArMjUwLDcgQEAg c3RhdGljIGludCBzaHV0ZG93bl9wcm9jZXNzKHZvaWQgKl9fdW51cwogCXJldHVybiAwOwog fQogCisjaWZkZWYgQ09ORklHX1hFTgogc3RhdGljIGludCBrdGhyZWFkX2NyZWF0ZV9vbl9j cHUoaW50ICgqZikodm9pZCAqYXJnKSwKIAkJCQkgdm9pZCAqYXJnLAogCQkJCSBjb25zdCBj aGFyICpuYW1lLApAQCAtMjQ4LDE3ICsyNjQsMjQgQEAgc3RhdGljIGludCBrdGhyZWFkX2Ny ZWF0ZV9vbl9jcHUoaW50ICgqZgogCXdha2VfdXBfcHJvY2VzcyhwKTsKIAlyZXR1cm4gMDsK IH0KKyNlbmRpZiAvKiBDT05GSUdfWEVOICovCiAKIHN0YXRpYyB2b2lkIF9fc2h1dGRvd25f aGFuZGxlcih2b2lkICp1bnVzZWQpCiB7CiAJaW50IGVycjsKIAorI2lmZGVmIENPTkZJR19Y RU4KIAlpZiAoc2h1dHRpbmdfZG93biAhPSBTSFVURE9XTl9TVVNQRU5EKQogCQllcnIgPSBr ZXJuZWxfdGhyZWFkKHNodXRkb3duX3Byb2Nlc3MsIE5VTEwsCiAJCQkJICAgIENMT05FX0ZT IHwgQ0xPTkVfRklMRVMpOwogCWVsc2UKIAkJZXJyID0ga3RocmVhZF9jcmVhdGVfb25fY3B1 KF9fZG9fc3VzcGVuZCwgTlVMTCwgInN1c3BlbmQiLCAwKTsKIAorI2Vsc2UgLyogIUNPTkZJ R19YRU4gKi8KKwllcnIgPSBrZXJuZWxfdGhyZWFkKHNodXRkb3duX3Byb2Nlc3MsIE5VTEws CisJCQkgICAgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyk7CisjZW5kaWYgLyogIUNPTkZJR19Y RU4gKi8KKwogCWlmIChlcnIgPCAwKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIkVycm9y IGNyZWF0aW5nIHNodXRkb3duIHByb2Nlc3MgKCVkKTogIgogCQkgICAgICAgInJldHJ5aW5n Li4uXG4iLCAtZXJyKTsKQEAgLTI3Miw2ICsyOTUsOSBAQCBzdGF0aWMgdm9pZCBzaHV0ZG93 bl9oYW5kbGVyKHN0cnVjdCB4ZW5iCiAJY2hhciAqc3RyOwogCXN0cnVjdCB4ZW5idXNfdHJh bnNhY3Rpb24geGJ0OwogCWludCBlcnI7CisjaWZuZGVmIENPTkZJR19YRU4KKwlpbnQgY2Fk X3BpZCA9IDE7IAorI2VuZGlmIC8qICFDT05GSUdfWEVOICovCiAKIAlpZiAoc2h1dHRpbmdf ZG93biAhPSBTSFVURE9XTl9JTlZBTElEKQogCQlyZXR1cm47CkBAIC0yOTgsNyArMzI0LDEx IEBAIHN0YXRpYyB2b2lkIHNodXRkb3duX2hhbmRsZXIoc3RydWN0IHhlbmIKIAlpZiAoc3Ry Y21wKHN0ciwgInBvd2Vyb2ZmIikgPT0gMCkKIAkJc2h1dHRpbmdfZG93biA9IFNIVVRET1dO X1BPV0VST0ZGOwogCWVsc2UgaWYgKHN0cmNtcChzdHIsICJyZWJvb3QiKSA9PSAwKQotCQlj dHJsX2FsdF9kZWwoKTsKKyNpZmRlZiBDT05GSUdfWEVOICAKKwkgIGN0cmxfYWx0X2RlbCgp OworI2Vsc2UgLyogIUNPTkZJR19YRU4gKi8KKwkgIGtpbGxfcHJvYyhjYWRfcGlkLCBTSUdJ TlQsIDEpOworI2VuZGlmIC8qICFDT05GSUdfWEVOICovCiAJZWxzZSBpZiAoc3RyY21wKHN0 ciwgInN1c3BlbmQiKSA9PSAwKQogCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fU1VTUEVO RDsKIAllbHNlIGlmIChzdHJjbXAoc3RyLCAiaGFsdCIpID09IDApCkBAIC0zNzQsMTAgKzQw NCwyNyBAQCBzdGF0aWMgaW50IHNldHVwX3NodXRkb3duX3dhdGNoZXIoc3RydWN0CiAKIHN0 YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCiB7CisjaWZuZGVm IENPTkZJR19YRU4KKwlpbnQgZXJyOworCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0 OworI2VuZGlmIC8qICFDT05GSUdfWEVOICovCisKIAlzdGF0aWMgc3RydWN0IG5vdGlmaWVy X2Jsb2NrIHhlbnN0b3JlX25vdGlmaWVyID0gewogCQkubm90aWZpZXJfY2FsbCA9IHNldHVw X3NodXRkb3duX3dhdGNoZXIKIAl9OwogCXJlZ2lzdGVyX3hlbnN0b3JlX25vdGlmaWVyKCZ4 ZW5zdG9yZV9ub3RpZmllcik7CisjaWZuZGVmIENPTkZJR19YRU4KKyBhZ2FpbjoKKwllcnIg PSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7CisJaWYgKGVycikKKwkJcmV0dXJu IC0xOworCXhlbmJ1c193cml0ZSh4YnQsICJjb250cm9sIiwgInJlYm9vdF9tb2R1bGUiLCAi aW5zdGFsbGVkIik7CisKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMCk7 CisJaWYgKGVyciA9PSAtRUFHQUlOKSB7CisJCWdvdG8gYWdhaW47CisJfQorI2VuZGlmIC8q ICFDT05GSUdfWEVOICovCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtciAwMjMxMWQ4YWJhODYg dG9vbHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4v eGVuZC9pbWFnZS5weQlTYXQgU2VwIDMwIDExOjM1OjAyIDIwMDYgKzAxMDAKKysrIGIvdG9v bHMvcHl0aG9uL3hlbi94ZW5kL2ltYWdlLnB5CVR1ZSBPY3QgMDMgMTE6MjE6MzAgMjAwNiAr MDkwMApAQCAtMjgxLDYgKzI4MSw3IEBAIGNsYXNzIEhWTUltYWdlSGFuZGxlcihJbWFnZUhh bmRsZXIpOgogICAgICAgICBsb2cuZGVidWcoImFwaWMgICAgICAgICAgID0gJWQiLCBzZWxm LmFwaWMpCiAKICAgICAgICAgc2VsZi5yZWdpc3Rlcl9zaHV0ZG93bl93YXRjaCgpCisgICAg ICAgIHNlbGYucmVnaXN0ZXJfcmVib290X21vZHVsZV93YXRjaCgpCiAKICAgICAgICAgcmV0 dXJuIHhjLmh2bV9idWlsZChkb20gICAgICAgICAgICA9IHNlbGYudm0uZ2V0RG9taWQoKSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSAgICAgICAgICA9IHNlbGYua2Vy bmVsLApAQCAtMzgzLDYgKzM4NCw3IEBAIGNsYXNzIEhWTUltYWdlSGFuZGxlcihJbWFnZUhh bmRsZXIpOgogCiAgICAgZGVmIGRlc3Ryb3koc2VsZik6CiAgICAgICAgIHNlbGYudW5yZWdp c3Rlcl9zaHV0ZG93bl93YXRjaCgpOworICAgICAgICBzZWxmLnVucmVnaXN0ZXJfcmVib290 X21vZHVsZV93YXRjaCgpOwogICAgICAgICBpbXBvcnQgc2lnbmFsCiAgICAgICAgIGlmIG5v dCBzZWxmLnBpZDoKICAgICAgICAgICAgIHJldHVybgpAQCAtNDI1LDYgKzQyNywzOSBAQCBj bGFzcyBIVk1JbWFnZUhhbmRsZXIoSW1hZ2VIYW5kbGVyKToKICAgICAgICAgICAgICAgICB2 bS5yZWZyZXNoU2h1dGRvd24odm0uaW5mbykKIAogICAgICAgICByZXR1cm4gMSAjIEtlZXAg d2F0Y2hpbmcKKworICAgIGRlZiByZWdpc3Rlcl9yZWJvb3RfbW9kdWxlX3dhdGNoKHNlbGYp OgorICAgICAgICAiIiIgYWRkIHhlbiBzdG9yZSB3YXRjaCBvbiBjb250cm9sL3JlYm9vdF9t b2R1bGUgIiIiCisgICAgICAgIHNlbGYucmVib290TW9kdWxlV2F0Y2ggPSB4c3dhdGNoKHNl bGYudm0uZG9tcGF0aCArICIvY29udHJvbC9yZWJvb3RfbW9kdWxlIiwgXAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5odm1fcmVib290X21vZHVsZSkKKyAg ICAgICAgbG9nLmRlYnVnKCJodm0gcmVib290IG1vZHVsZSB3YXRjaCByZWdpc3RlcmVkIikK KworICAgIGRlZiB1bnJlZ2lzdGVyX3JlYm9vdF9tb2R1bGVfd2F0Y2goc2VsZik6CisgICAg ICAgICIiIlJlbW92ZSB0aGUgd2F0Y2ggb24gdGhlIGNvbnRyb2wvcmVib290X21vZHVsZSwg aWYgYW55LiBOb3Rocm93CisgICAgICAgIGd1YXJhbnRlZS4iIiIKKworICAgICAgICB0cnk6 CisgICAgICAgICAgICBpZiBzZWxmLnJlYm9vdE1vZHVsZVdhdGNoOgorICAgICAgICAgICAg ICAgIHNlbGYucmVib290TW9kdWxlV2F0Y2gudW53YXRjaCgpCisgICAgICAgIGV4Y2VwdDoK KyAgICAgICAgICAgIGxvZy5leGNlcHRpb24oIlVud2F0Y2hpbmcgaHZtIHJlYm9vdCBtb2R1 bGUgd2F0Y2ggZmFpbGVkLiIpCisgICAgICAgIHNlbGYucmVib290TW9kdWxlV2F0Y2ggPSBO b25lCisgICAgICAgIGxvZy5kZWJ1ZygiaHZtIHJlYm9vdCBtb2R1bGUgd2F0Y2ggdW5yZWdp c3RlcmVkIikKKworICAgIGRlZiBodm1fcmVib290X21vZHVsZShzZWxmLCBfKToKKyAgICAg ICAgIiIiIHdhdGNoIGNhbGwgYmFjayBvbiBub2RlIGNvbnRyb2wvcmVib290X21vZHVsZSwK KyAgICAgICAgICAgIGlmIG5vZGUgY2hhbmdlZCwgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNh bGxlZAorICAgICAgICAiIiIKKyAgICAgICAgeGQgPSB4ZW4ueGVuZC5YZW5kRG9tYWluLmlu c3RhbmNlKCkKKyAgICAgICAgdm0gPSB4ZC5kb21haW5fbG9va3VwKCBzZWxmLnZtLmdldERv bWlkKCkgKQorCisgICAgICAgIHJlYm9vdF9tb2R1bGVfc3RhdHVzID0gdm0ucmVhZERvbSgn Y29udHJvbC9yZWJvb3RfbW9kdWxlJykKKyAgICAgICAgbG9nLmRlYnVnKCJodm1fcmVib290 X21vZHVsZSBmaXJlZCwgbW9kdWxlIHN0YXR1cz0lcyIsIHJlYm9vdF9tb2R1bGVfc3RhdHVz KQorICAgICAgICBpZiByZWJvb3RfbW9kdWxlX3N0YXR1cyA9PSAnaW5zdGFsbGVkJzoKKyAg ICAgICAgICAgIHNlbGYudW5yZWdpc3Rlcl9zaHV0ZG93bl93YXRjaCgpCisKKyAgICAgICAg cmV0dXJuIDEgIyBLZWVwIHdhdGNoaW5nCisKIAogY2xhc3MgSUE2NF9IVk1fSW1hZ2VIYW5k bGVyKEhWTUltYWdlSGFuZGxlcik6CiAKZGlmZiAtciAwMjMxMWQ4YWJhODYgdW5tb2RpZmll ZF9kcml2ZXJzL2xpbnV4LTIuNi9NYWtlZmlsZQotLS0gYS91bm1vZGlmaWVkX2RyaXZlcnMv bGludXgtMi42L01ha2VmaWxlCVNhdCBTZXAgMzAgMTE6MzU6MDIgMjAwNiArMDEwMAorKysg Yi91bm1vZGlmaWVkX2RyaXZlcnMvbGludXgtMi42L01ha2VmaWxlCVR1ZSBPY3QgMDMgMTE6 MjE6MzAgMjAwNiArMDkwMApAQCAtNCwzICs0LDQgQEAgb2JqLW0gKz0geGVuYnVzLwogb2Jq LW0gKz0geGVuYnVzLwogb2JqLW0gKz0gYmxrZnJvbnQvCiBvYmotbSArPSBuZXRmcm9udC8K K29iai1tICs9IGNvcmUvCmRpZmYgLXIgMDIzMTFkOGFiYTg2IHVubW9kaWZpZWRfZHJpdmVy cy9saW51eC0yLjYvY29yZS9LYnVpbGQKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAw OjAwIDE5NzAgKzAwMDAKKysrIGIvdW5tb2RpZmllZF9kcml2ZXJzL2xpbnV4LTIuNi9jb3Jl L0tidWlsZAlUdWUgT2N0IDAzIDExOjIxOjMwIDIwMDYgKzA5MDAKQEAgLTAsMCArMSwzIEBA CitpbmNsdWRlICQoTSkvb3ZlcnJpZGVzLm1rCisKK29iai1tICs9IHJlYm9vdC5vCg== --------------080404020107060500000307 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------080404020107060500000307--