From nobody Thu Sep 15 08:37:55 2022 X-Original-To: freebsd-drivers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MSrF91Jwvz4cW5C for ; Thu, 15 Sep 2022 08:38:05 +0000 (UTC) (envelope-from Lee.MATTHEWS.external@stormshield.eu) Received: from work.stormshield.eu (gwlille.netasq.com [91.212.116.1]) by mx1.freebsd.org (Postfix) with ESMTP id 4MSrF75XBnz3SGQ for ; Thu, 15 Sep 2022 08:38:03 +0000 (UTC) (envelope-from Lee.MATTHEWS.external@stormshield.eu) Received: from work.stormshield.eu (localhost.localdomain [127.0.0.1]) by work.stormshield.eu (Postfix) with ESMTPS id 7B1423760B30 for ; Thu, 15 Sep 2022 10:37:56 +0200 (CEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by work.stormshield.eu (Postfix) with ESMTP id 616443761576 for ; Thu, 15 Sep 2022 10:37:56 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.10.3 work.stormshield.eu 616443761576 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stormshield.eu; s=5EC8D4C2-228B-11EC-A8BC-C05B4988C3CE; t=1663231076; bh=0DIwZr1bcaZcqBCs0VjkP6WubiP9cIlxzO4swQIEgXE=; h=From:To:Date:Message-ID:MIME-Version; b=JDDOZuIMzI5rQW5VBs42dbmUqfsvcabau9BVkgoST46x0uyU6IzwgNtl9jiwaMuUT vWNVcPHEOq3oIwigOxYcY63Sw2GfZWCLSe3VDUbC9ZCD8tPWCfVsZJuTSyttbV+9wJ 9YVFeUcDsmvRqky8Dlz8spmVItdONSC/Zkm4IxtY= Received: from work.stormshield.eu ([127.0.0.1]) by localhost (work.stormshield.eu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id K0q1jnRpyR9l for ; Thu, 15 Sep 2022 10:37:56 +0200 (CEST) Received: from mail.stormshield.eu (ICTDCCEXCH001.one.local [10.180.4.1]) by work.stormshield.eu (Postfix) with ESMTPS id 4C9DA37613B8 for ; Thu, 15 Sep 2022 10:37:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; d=stormshield.eu; s=signer; c=simple/simple; t=1663231076; h=from:subject:to:date:message-id; bh=uYvbh+Rn1Fs4orGFJXX3iUlPDAN2AidWpDzsjb8UQII=; b=IeM+f5W01ah+14ywZwiUCw7MMsTSlFz+Ik8b4LBjH3NXpSE7sI1L0SyO5zkkf69o/Z949ycYK3d HPrqg7S8UE2WBhP+C3Hx2JDNOW+6w61j0QKLuTJm4uagPGmY5dO/w3zhFzBY56FpN9siFRp68bUSu XR133tiZ4SlflcCMhRO7a4N/eI8gsCIzGI/TtWNPpb4N4BmEcfp8JUU8vlo5JJ/C3tO3fWFmqjhzk S8IJEBNqUWVOx8GGaAFUrvLq6cfBp1XZkZ4NmL2v+by4u/CQnC6CcRDJExNajJ96GDoUCn3ICEiUv UIC2k830442yqvcUZZaZK9jW3rW3rjwUw4LA== Received: from ICTDCCEXCH001.one.local (10.180.4.1) by ICTDCCEXCH001.one.local (10.180.4.1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.12; Thu, 15 Sep 2022 10:37:56 +0200 Received: from ICTDCCEXCH001.one.local ([::1]) by ICTDCCEXCH001.one.local ([::1]) with mapi id 15.02.1118.012; Thu, 15 Sep 2022 10:37:56 +0200 From: Lee MATTHEWS To: "freebsd-drivers@freebsd.org" Subject: Tracing userland calls through to a driver Thread-Topic: Tracing userland calls through to a driver Thread-Index: AQHYyN3tSYPqzN5DHEWSpLyYwz8PWQ== Date: Thu, 15 Sep 2022 08:37:55 +0000 Message-ID: <484f6c4f5a2840daafaeda4943f22793@stormshield.eu> Accept-Language: en-GB, fr-FR, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.2.0.1] Content-Type: multipart/alternative; boundary="_000_484f6c4f5a2840daafaeda4943f22793stormshieldeu_" List-Id: Writing device drivers for FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-drivers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-drivers@freebsd.org MIME-Version: 1.0 X-Rspamd-Queue-Id: 4MSrF75XBnz3SGQ X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=stormshield.eu header.s=5EC8D4C2-228B-11EC-A8BC-C05B4988C3CE header.b=JDDOZuIM; dkim=pass header.d=stormshield.eu header.s=signer header.b=IeM+f5W0; dmarc=pass (policy=quarantine) header.from=stormshield.eu; spf=pass (mx1.freebsd.org: domain of Lee.MATTHEWS.external@stormshield.eu designates 91.212.116.1 as permitted sender) smtp.mailfrom=Lee.MATTHEWS.external@stormshield.eu X-Spamd-Result: default: False [-3.90 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[stormshield.eu,quarantine]; R_SPF_ALLOW(-0.20)[+ip4:91.212.116.1]; R_DKIM_ALLOW(-0.20)[stormshield.eu:s=5EC8D4C2-228B-11EC-A8BC-C05B4988C3CE,stormshield.eu:s=signer]; RCVD_NO_TLS_LAST(0.10)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_EQ_ADDR_ALL(0.00)[]; MLMMJ_DEST(0.00)[freebsd-drivers@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:49068, ipnet:91.212.116.0/24, country:FR]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_SEVEN(0.00)[7]; HAS_XOIP(0.00)[]; DKIM_TRACE(0.00)[stormshield.eu:+]; FROM_HAS_DN(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-drivers@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --_000_484f6c4f5a2840daafaeda4943f22793stormshieldeu_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, I am trying to debug some GPIO issues on FreeBSD 10.3. I'd like to know if= it is possible to know what process in userland (via a process id) has cal= led a method in the driver. So for example, in the driver, the functions are bound via DEVMETHOD like : static device_method_t winbond_gpio_methods[] =3D { /* Device interface */ ... DEVMETHOD(gpio_pin_set, winbond_gpio_pin_set), DEVMETHOD(gpio_pin_get, winbond_gpio_pin_get), ... DEVMETHOD_END }; When the function winbond_gpio_pin_get() is called, how can I know what cal= led this? Thanks in advance. Best wishes, Lee Matthews --_000_484f6c4f5a2840daafaeda4943f22793stormshieldeu_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hello,


I am trying to debug some GPIO issues on FreeBSD 10.3.  I'd like to= know if it is possible to know what process in userland (via a process id)= has called a method in the driver.

So for example, in the driver, the functions are bound via DEVMETHOD like :=


static device_method_t winbond_gpio_methods[] =3D {
    /* Device interface */
...
    DEVMETHOD(gpio_pin_set,       &= nbsp;    winbond_gpio_pin_set),
    DEVMETHOD(gpio_pin_get,       &= nbsp;    winbond_gpio_pin_get),
...
    DEVMETHOD_END
};


When the function winbond_gpio_pin_get() is called, how can= I know what called this?


Thanks in advance.


Best wishes,

Lee Matthews



--_000_484f6c4f5a2840daafaeda4943f22793stormshieldeu_--