lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 25 Feb 2017 23:53:15 -0700
From:   Logan Gunthorpe <>
To:     Keith Busch <>,
        Myron Stowe <>,
        Greg Kroah-Hartman <>,
        Bjorn Helgaas <>,
        Geert Uytterhoeven <>,
        Jonathan Corbet <>,
        "David S. Miller" <>,
        Andrew Morton <>,
        Emil Velikov <>,
        Mauro Carvalho Chehab <>,
        Guenter Roeck <>,
        Jarkko Sakkinen <>,
        Linus Walleij <>,
        Ryusuke Konishi <>,
        Stefan Berger <>,
        Wei Zhang <>
Cc:     Kurt Schwemmer <>,
        Stephen Bates <>,,,,,
        Logan Gunthorpe <>
Subject: [PATCH v5 2/4] switchtec: Add user interface documentation

This adds standard documentation for the sysfs switchtec attributes and
a RST formatted text file which documents the char device interface.
Jonathan Corbet has indicated he will move this to a new user-space
developer documentation book once it's created.

Signed-off-by: Logan Gunthorpe <>
Signed-off-by: Stephen Bates <>
Tested-by: Krishna Dhulipala <>
Reviewed-by: Wei Zhang <>
Reviewed-by: Jens Axboe <>
 Documentation/switchtec.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++
 MAINTAINERS                 |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 Documentation/switchtec.txt

diff --git a/Documentation/switchtec.txt b/Documentation/switchtec.txt
new file mode 100644
index 0000000..4bced4c
--- /dev/null
+++ b/Documentation/switchtec.txt
@@ -0,0 +1,53 @@
+Linux Switchtec Support
+Microsemi's "Switchtec" line of PCI switch devices is already
+supported by the kernel with standard PCI switch drivers. However, the
+Switchtec device advertises a special management endpoint which
+enables some additional functionality. This includes:
+* Packet and Byte Counters
+* Firmware Upgrades
+* Event and Error logs
+* Querying port link status
+* Custom user firmware commands
+The switchtec kernel module implements this functionality.
+The primary means of communicating with the Switchtec management firmware is
+through the Memory-mapped Remote Procedure Call (MRPC) interface.
+Commands are submitted to the interface with a 4-byte command
+identifier and up to 1KB of command specific data. The firmware will
+respond with a 4 bytes return code and up to 1KB of command specific
+data. The interface only processes a single command at a time.
+Userspace Interface
+The MRPC interface will be exposed to userspace through a simple char
+device: /dev/switchtec#, one for each management endpoint in the system.
+The char device has the following semantics:
+* A write must consist of at least 4 bytes and no more than 1028 bytes.
+  The first four bytes will be interpreted as the command to run and
+  the remainder will be used as the input data. A write will send the
+  command to the firmware to begin processing.
+* Each write must be followed by exactly one read. Any double write will
+  produce an error and any read that doesn't follow a write will
+  produce an error.
+* A read will block until the firmware completes the command and return
+  the four bytes of status plus up to 1024 bytes of output data. (The
+  length will be specified by the size parameter of the read call --
+  reading less than 4 bytes will produce an error.
+* The poll call will also be supported for userspace applications that
+  need to do other things while waiting for the command to complete.
index a57686f..aa702b0 100644
@@ -9512,6 +9512,7 @@ M:	Stephen Bates <>
 M:	Logan Gunthorpe <>
 S:	Maintained
+F:	Documentation/switchtec.txt
 F:	drivers/pci/switch/switchtec*

Powered by blists - more mailing lists