From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83F3FC43441 for ; Tue, 13 Nov 2018 19:58:37 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5323C223C8 for ; Tue, 13 Nov 2018 19:58:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Ig5M+S0m" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5323C223C8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=packi.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+infradead-linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vj5YlXD4DKTw5CedgWlUmHixtsMmpGGKezr/FAFm2aw=; b=Ig5M+S0mWjFLYM ex/bdaBkZ5jziG2KBgAtFgayi/DSCWe3iJPkYxMzEbl8dSv3BjCAqo1wIXxRW4hSsrBYoiuxlsBU5 ETT3HISwb7+cw1p4KMRsNcoFUwWT7pdGmNLbFaNyiW4WCHxLS0IeOVSzZlloNTZNz8nRBFsiQUQrc KKryFjzcpFIQwd+w/KmDwztQl9FnKDAq+eoHXZnsZZVWQwuGazBTLFq8qmiPQpOjM3a6weNqu1vr/ NtZADVOP1eqqOupEKhA8IvF/ya6/9CVV1r7oaB9uIGbOzBcalm/i+2mUZAM1fl7wwPm+JvQqA3SpE ZvN7hY3cgu6N99ZcSS+Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gMepY-0002eD-9h; Tue, 13 Nov 2018 19:58:36 +0000 Received: from mail.binarylogic.ch ([2a01:4f8:222:24c1::ff02]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gMepU-0002cB-AI for linux-riscv@lists.infradead.org; Tue, 13 Nov 2018 19:58:34 +0000 Received: from fortknox.localdomain (unknown [192.168.122.1]) by mail.binarylogic.ch (Postfix) with ESMTP id 0B4CEDF6FF; Tue, 13 Nov 2018 20:58:23 +0100 (CET) From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= To: linux-riscv@lists.infradead.org Subject: [RFC/RFT 1/2] RISC-V: Implement ptrace regs and stack API Date: Tue, 13 Nov 2018 20:58:03 +0100 Message-Id: <20181113195804.22825-2-me@packi.ch> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181113195804.22825-1-me@packi.ch> References: <20181113195804.22825-1-me@packi.ch> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181113_115832_892236_8D1E0FBE X-CRM114-Status: GOOD ( 13.51 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Patrick=20St=C3=A4hlin?= , Palmer Dabbelt , linux-kernel@vger.kernel.org, Albert Ou , Oleg Nesterov Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+infradead-linux-riscv=archiver.kernel.org@lists.infradead.org Message-ID: <20181113195803.CjtBCsUcG9czwiqmPBGKUjvl5Ojxq2SIPaioQUHXFI0@z> TmVlZGVkIGZvciBrcHJvYmVzIHN1cHBvcnQuIENvcGllZCBhbmQgYWRhcHRlZCBmcm9tIGFybTY0 IGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIFN0w6RobGluIDxtZUBwYWNraS5jaD4KLS0t CiBhcmNoL3Jpc2N2L0tjb25maWcgICAgICAgICAgICAgIHwgIDEgKwogYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9wdHJhY2UuaCB8IDM0ICsrKysrKysrKysrCiBhcmNoL3Jpc2N2L2tlcm5lbC9wdHJh Y2UuYyAgICAgIHwgOTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVz IGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LY29u ZmlnIGIvYXJjaC9yaXNjdi9LY29uZmlnCmluZGV4IDU1ZGE5M2Y0ZTgxOC4uYjE1N2FjODJkNDg2 IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L0tjb25maWcKKysrIGIvYXJjaC9yaXNjdi9LY29uZmln CkBAIC00Myw2ICs0Myw3IEBAIGNvbmZpZyBSSVNDVgogCXNlbGVjdCBSSVNDVl9USU1FUgogCXNl bGVjdCBHRU5FUklDX0lSUV9NVUxUSV9IQU5ETEVSCiAJc2VsZWN0IEFSQ0hfSEFTX1BURV9TUEVD SUFMCisJc2VsZWN0IEhBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQSQogCiBjb25maWcgTU1V CiAJZGVmX2Jvb2wgeQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wdHJhY2Uu aCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcHRyYWNlLmgKaW5kZXggMmM1ZGY5NDVkNDNjLi43 MGMwYWQwOGFjMDggMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcHRyYWNlLmgK KysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wdHJhY2UuaApAQCAtMTYsNiArMTYsNyBAQAog CiAjaW5jbHVkZSA8dWFwaS9hc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2Nzci5oPgorI2lu Y2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKQEAgLTY4 LDYgKzY5LDcgQEAgc3RydWN0IHB0X3JlZ3MgewogCiAjZGVmaW5lIHVzZXJfbW9kZShyZWdzKSAo KChyZWdzKS0+c3N0YXR1cyAmIFNSX1NQUCkgPT0gMCkKIAorI2RlZmluZSBNQVhfUkVHX09GRlNF VCBvZmZzZXRvZihzdHJ1Y3QgcHRfcmVncywgb3JpZ19hMCkKIAogLyogSGVscGVycyBmb3Igd29y a2luZyB3aXRoIHRoZSBpbnN0cnVjdGlvbiBwb2ludGVyICovCiAjZGVmaW5lIEdFVF9JUChyZWdz KSAoKHJlZ3MpLT5zZXBjKQpAQCAtOTksNiArMTAxLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1 c2VyX3N0YWNrX3BvaW50ZXJfc2V0KHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCVNFVF9VU1AocmVn cywgdmFsKTsKIH0KIAorLyogVmFsaWQgb25seSBmb3IgS2VybmVsIG1vZGUgdHJhcHMuICovCitz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcga2VybmVsX3N0YWNrX3BvaW50ZXIoc3RydWN0IHB0 X3JlZ3MgKnJlZ3MpCit7CisJcmV0dXJuIHJlZ3MtPnNwOworfQorCitzdGF0aWMgaW5saW5lIHVu c2lnbmVkIGxvbmcgcmVnc19yZXR1cm5fdmFsdWUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJ cmV0dXJuIHJlZ3MtPmEwOworfQorCiAvKiBIZWxwZXJzIGZvciB3b3JraW5nIHdpdGggdGhlIGZy YW1lIHBvaW50ZXIgKi8KICNkZWZpbmUgR0VUX0ZQKHJlZ3MpICgocmVncyktPnMwKQogI2RlZmlu ZSBTRVRfRlAocmVncywgdmFsKSAoR0VUX0ZQKHJlZ3MpID0gKHZhbCkpCkBAIC0xMTMsNiArMTI2 LDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmcmFtZV9wb2ludGVyX3NldChzdHJ1Y3QgcHRfcmVn cyAqcmVncywKIAlTRVRfRlAocmVncywgdmFsKTsKIH0KIAorZXh0ZXJuIGludCByZWdzX3F1ZXJ5 X3JlZ2lzdGVyX29mZnNldChjb25zdCBjaGFyICpuYW1lKTsKK2V4dGVybiB1bnNpZ25lZCBsb25n IHJlZ3NfZ2V0X2tlcm5lbF9zdGFja19udGgoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCisJCQkJCSAg ICAgICB1bnNpZ25lZCBpbnQgbik7CisKKy8qKgorICogcmVnc19nZXRfcmVnaXN0ZXIoKSAtIGdl dCByZWdpc3RlciB2YWx1ZSBmcm9tIGl0cyBvZmZzZXQKKyAqIEByZWdzOglwdF9yZWdzIGZyb20g d2hpY2ggcmVnaXN0ZXIgdmFsdWUgaXMgZ290dGVuCisgKiBAb2Zmc2V0OglvZmZzZXQgb2YgdGhl IHJlZ2lzdGVyLgorICoKKyAqIHJlZ3NfZ2V0X3JlZ2lzdGVyIHJldHVybnMgdGhlIHZhbHVlIG9m IGEgcmVnaXN0ZXIgd2hvc2Ugb2Zmc2V0IGZyb20gQHJlZ3MuCisgKiBUaGUgQG9mZnNldCBpcyB0 aGUgb2Zmc2V0IG9mIHRoZSByZWdpc3RlciBpbiBzdHJ1Y3QgcHRfcmVncy4KKyAqIElmIEBvZmZz ZXQgaXMgYmlnZ2VyIHRoYW4gTUFYX1JFR19PRkZTRVQsIHRoaXMgcmV0dXJucyAwLgorICovCitz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVnc19nZXRfcmVnaXN0ZXIoc3RydWN0IHB0X3Jl Z3MgKnJlZ3MsCisJCQkJCSAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQpCit7CisJaWYgKHVubGlr ZWx5KG9mZnNldCA+IE1BWF9SRUdfT0ZGU0VUKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gKih1 bnNpZ25lZCBsb25nICopKCh1bnNpZ25lZCBsb25nKXJlZ3MgKyBvZmZzZXQpOworfQogI2VuZGlm IC8qIF9fQVNTRU1CTFlfXyAqLwogCiAjZW5kaWYgLyogX0FTTV9SSVNDVl9QVFJBQ0VfSCAqLwpk aWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3Jpc2N2L2tlcm5l bC9wdHJhY2UuYwppbmRleCA2MGYxZTAyZWVkMzYuLjViNjg0ZTRmZmMxMCAxMDA2NDQKLS0tIGEv YXJjaC9yaXNjdi9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvcHRyYWNl LmMKQEAgLTEzMCw2ICsxMzAsMTA1IEBAIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldF92aWV3ICp0 YXNrX3VzZXJfcmVnc2V0X3ZpZXcoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogCXJldHVybiAm cmlzY3ZfdXNlcl9uYXRpdmVfdmlldzsKIH0KIAorc3RydWN0IHB0X3JlZ3Nfb2Zmc2V0IHsKKwlj b25zdCBjaGFyICpuYW1lOworCWludCBvZmZzZXQ7Cit9OworCisjZGVmaW5lIFJFR19PRkZTRVRf TkFNRShyKSB7Lm5hbWUgPSAjciwgLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBwdF9yZWdzLCBy KX0KKyNkZWZpbmUgUkVHX09GRlNFVF9FTkQgey5uYW1lID0gTlVMTCwgLm9mZnNldCA9IDB9CisK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcHRfcmVnc19vZmZzZXQgcmVnb2Zmc2V0X3RhYmxlW10gPSB7 CisJUkVHX09GRlNFVF9OQU1FKHNlcGMpLAorCVJFR19PRkZTRVRfTkFNRShyYSksCisJUkVHX09G RlNFVF9OQU1FKHNwKSwKKwlSRUdfT0ZGU0VUX05BTUUoZ3ApLAorCVJFR19PRkZTRVRfTkFNRSh0 cCksCisJUkVHX09GRlNFVF9OQU1FKHQwKSwKKwlSRUdfT0ZGU0VUX05BTUUodDEpLAorCVJFR19P RkZTRVRfTkFNRSh0MiksCisJUkVHX09GRlNFVF9OQU1FKHMwKSwKKwlSRUdfT0ZGU0VUX05BTUUo czEpLAorCVJFR19PRkZTRVRfTkFNRShhMCksCisJUkVHX09GRlNFVF9OQU1FKGExKSwKKwlSRUdf T0ZGU0VUX05BTUUoYTIpLAorCVJFR19PRkZTRVRfTkFNRShhMyksCisJUkVHX09GRlNFVF9OQU1F KGE0KSwKKwlSRUdfT0ZGU0VUX05BTUUoYTUpLAorCVJFR19PRkZTRVRfTkFNRShhNiksCisJUkVH X09GRlNFVF9OQU1FKGE3KSwKKwlSRUdfT0ZGU0VUX05BTUUoczIpLAorCVJFR19PRkZTRVRfTkFN RShzMyksCisJUkVHX09GRlNFVF9OQU1FKHM0KSwKKwlSRUdfT0ZGU0VUX05BTUUoczUpLAorCVJF R19PRkZTRVRfTkFNRShzNiksCisJUkVHX09GRlNFVF9OQU1FKHM3KSwKKwlSRUdfT0ZGU0VUX05B TUUoczgpLAorCVJFR19PRkZTRVRfTkFNRShzOSksCisJUkVHX09GRlNFVF9OQU1FKHMxMCksCisJ UkVHX09GRlNFVF9OQU1FKHMxMSksCisJUkVHX09GRlNFVF9OQU1FKHQzKSwKKwlSRUdfT0ZGU0VU X05BTUUodDQpLAorCVJFR19PRkZTRVRfTkFNRSh0NSksCisJUkVHX09GRlNFVF9OQU1FKHQ2KSwK KwlSRUdfT0ZGU0VUX05BTUUoc3N0YXR1cyksCisJUkVHX09GRlNFVF9OQU1FKHNiYWRhZGRyKSwK KwlSRUdfT0ZGU0VUX05BTUUoc2NhdXNlKSwKKwlSRUdfT0ZGU0VUX05BTUUob3JpZ19hMCksCisJ UkVHX09GRlNFVF9FTkQsCit9OworCisvKioKKyAqIHJlZ3NfcXVlcnlfcmVnaXN0ZXJfb2Zmc2V0 KCkgLSBxdWVyeSByZWdpc3RlciBvZmZzZXQgZnJvbSBpdHMgbmFtZQorICogQG5hbWU6CXRoZSBu YW1lIG9mIGEgcmVnaXN0ZXIKKyAqCisgKiByZWdzX3F1ZXJ5X3JlZ2lzdGVyX29mZnNldCgpIHJl dHVybnMgdGhlIG9mZnNldCBvZiBhIHJlZ2lzdGVyIGluIHN0cnVjdAorICogcHRfcmVncyBmcm9t IGl0cyBuYW1lLiBJZiB0aGUgbmFtZSBpcyBpbnZhbGlkLCB0aGlzIHJldHVybnMgLUVJTlZBTDsK KyAqLworaW50IHJlZ3NfcXVlcnlfcmVnaXN0ZXJfb2Zmc2V0KGNvbnN0IGNoYXIgKm5hbWUpCit7 CisJY29uc3Qgc3RydWN0IHB0X3JlZ3Nfb2Zmc2V0ICpyb2ZmOworCisJZm9yIChyb2ZmID0gcmVn b2Zmc2V0X3RhYmxlOyByb2ZmLT5uYW1lICE9IE5VTEw7IHJvZmYrKykKKwkJaWYgKCFzdHJjbXAo cm9mZi0+bmFtZSwgbmFtZSkpCisJCQlyZXR1cm4gcm9mZi0+b2Zmc2V0OworCXJldHVybiAtRUlO VkFMOworfQorCisvKioKKyAqIHJlZ3Nfd2l0aGluX2tlcm5lbF9zdGFjaygpIC0gY2hlY2sgdGhl IGFkZHJlc3MgaW4gdGhlIHN0YWNrCisgKiBAcmVnczogICAgICBwdF9yZWdzIHdoaWNoIGNvbnRh aW5zIGtlcm5lbCBzdGFjayBwb2ludGVyLgorICogQGFkZHI6ICAgICAgYWRkcmVzcyB3aGljaCBp cyBjaGVja2VkLgorICoKKyAqIHJlZ3Nfd2l0aGluX2tlcm5lbF9zdGFjaygpIGNoZWNrcyBAYWRk ciBpcyB3aXRoaW4gdGhlIGtlcm5lbCBzdGFjayBwYWdlKHMpLgorICogSWYgQGFkZHIgaXMgd2l0 aGluIHRoZSBrZXJuZWwgc3RhY2ssIGl0IHJldHVybnMgdHJ1ZS4gSWYgbm90LCByZXR1cm5zIGZh bHNlLgorICovCitzdGF0aWMgYm9vbCByZWdzX3dpdGhpbl9rZXJuZWxfc3RhY2soc3RydWN0IHB0 X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKGFkZHIgJiB+KFRI UkVBRF9TSVpFIC0gMSkpICA9PQorCQkoa2VybmVsX3N0YWNrX3BvaW50ZXIocmVncykgJiB+KFRI UkVBRF9TSVpFIC0gMSkpOworfQorCisvKioKKyAqIHJlZ3NfZ2V0X2tlcm5lbF9zdGFja19udGgo KSAtIGdldCBOdGggZW50cnkgb2YgdGhlIHN0YWNrCisgKiBAcmVnczoJcHRfcmVncyB3aGljaCBj b250YWlucyBrZXJuZWwgc3RhY2sgcG9pbnRlci4KKyAqIEBuOgkJc3RhY2sgZW50cnkgbnVtYmVy LgorICoKKyAqIHJlZ3NfZ2V0X2tlcm5lbF9zdGFja19udGgoKSByZXR1cm5zIEBuIHRoIGVudHJ5 IG9mIHRoZSBrZXJuZWwgc3RhY2sgd2hpY2gKKyAqIGlzIHNwZWNpZmllZCBieSBAcmVncy4gSWYg dGhlIEBuIHRoIGVudHJ5IGlzIE5PVCBpbiB0aGUga2VybmVsIHN0YWNrLAorICogdGhpcyByZXR1 cm5zIDAuCisgKi8KK3Vuc2lnbmVkIGxvbmcgcmVnc19nZXRfa2VybmVsX3N0YWNrX250aChzdHJ1 Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IG4pCit7CisJdW5zaWduZWQgbG9uZyAqYWRk ciA9ICh1bnNpZ25lZCBsb25nICopa2VybmVsX3N0YWNrX3BvaW50ZXIocmVncyk7CisKKwlhZGRy ICs9IG47CisJaWYgKHJlZ3Nfd2l0aGluX2tlcm5lbF9zdGFjayhyZWdzLCAodW5zaWduZWQgbG9u ZylhZGRyKSkKKwkJcmV0dXJuICphZGRyOworCWVsc2UKKwkJcmV0dXJuIDA7Cit9CisKIHZvaWQg cHRyYWNlX2Rpc2FibGUoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKIHsKIAljbGVhcl90c2tf dGhyZWFkX2ZsYWcoY2hpbGQsIFRJRl9TWVNDQUxMX1RSQUNFKTsKLS0gCjIuMTcuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1h aWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK