<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/rpmsg/virtio_rpmsg_bus.c, branch linux-5.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-03-17T19:16:47Z</updated>
<entry>
<title>rpmsg: virtio: Register the rpmsg_char device</title>
<updated>2021-03-17T19:16:47Z</updated>
<author>
<name>Arnaud Pouliquen</name>
</author>
<published>2021-03-11T14:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c486682ae1e2b149add22f44cf413b3103e3ef39'/>
<id>urn:sha1:c486682ae1e2b149add22f44cf413b3103e3ef39</id>
<content type='text'>
Instantiate the rpmsg_char device on virtio RPMsg bus creation.
This provides the capability, with the RPMSG_CREATE_EPT_IOCTL ioctl,
to create RPMsg char device endpoints relying on the
rpmsg_chrdev_create_eptdev API.

Notice that the created endpoints are attached to the rpmsg_ctldev
device, but not associated to a channel.
As consequence, the endpoint source and destination addresses have to
been specified and there is no channel creation and no name service
announcement to inform the remote side.

Reviewed-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Reviewed-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Arnaud Pouliquen &lt;arnaud.pouliquen@foss.st.com&gt;
Link: https://lore.kernel.org/r/20210311140413.31725-6-arnaud.pouliquen@foss.st.com
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: Turn name service into a stand alone driver</title>
<updated>2020-11-24T16:11:59Z</updated>
<author>
<name>Arnaud Pouliquen</name>
</author>
<published>2020-11-20T21:42:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=950a7388f02bf775515d13dc508cb9d749bd6d91'/>
<id>urn:sha1:950a7388f02bf775515d13dc508cb9d749bd6d91</id>
<content type='text'>
Make the RPMSG name service announcement a stand alone driver so that it
can be reused by other subsystems.  It is also the first step in making the
functionatlity transport independent, i.e that is not tied to virtIO.

Reviewed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Tested-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Co-developed-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Co-developed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Link: https://lore.kernel.org/r/20201120214245.172963-9-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio: Add rpmsg channel device ops</title>
<updated>2020-11-24T16:11:44Z</updated>
<author>
<name>Arnaud Pouliquen</name>
</author>
<published>2020-11-20T21:42:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ee1e5e162afca87165b1676cc5787a2c89170ba'/>
<id>urn:sha1:1ee1e5e162afca87165b1676cc5787a2c89170ba</id>
<content type='text'>
Implement the create and release of the RPMsg channel
for the RPMsg virtio bus.

Tested-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Reviewed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20201120214245.172963-7-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio: Rename rpmsg_create_channel</title>
<updated>2020-11-24T16:11:27Z</updated>
<author>
<name>Arnaud Pouliquen</name>
</author>
<published>2020-11-20T21:42:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77d372989db974464b43455a89462720f0d96a0f'/>
<id>urn:sha1:77d372989db974464b43455a89462720f0d96a0f</id>
<content type='text'>
Rename the internal function as it is internal, and as
the name will be used in rpmsg_core.

Tested-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Reviewed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20201120214245.172963-5-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: Move structure rpmsg_ns_msg to header file</title>
<updated>2020-11-24T16:11:18Z</updated>
<author>
<name>Mathieu Poirier</name>
</author>
<published>2020-11-20T21:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c435a04189de372ba9ae72076b18185a884108d6'/>
<id>urn:sha1:c435a04189de372ba9ae72076b18185a884108d6</id>
<content type='text'>
Move structure rpmsg_ns_msg to its own header file so that
it can be used by other entities.

Tested-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Reviewed-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Reviewed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20201120214245.172963-4-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio: Move from virtio to rpmsg byte conversion</title>
<updated>2020-11-24T16:11:09Z</updated>
<author>
<name>Mathieu Poirier</name>
</author>
<published>2020-11-20T21:42:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f2f6b7db1197f9fb99b93261ef0b3ae5ea19cc1'/>
<id>urn:sha1:5f2f6b7db1197f9fb99b93261ef0b3ae5ea19cc1</id>
<content type='text'>
Use rpmsg byte conversion functions in order for the RPMSG
headers and generic functions to be used by external entities.

Tested-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Reviewed-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Reviewed-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20201120214245.172963-3-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio: fix compilation warning for virtio_rpmsg_channel description</title>
<updated>2020-09-15T03:48:12Z</updated>
<author>
<name>Arnaud Pouliquen</name>
</author>
<published>2020-07-31T07:48:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c09ea0b0aefda20d49e8d771f77a3e92f46b7d2'/>
<id>urn:sha1:6c09ea0b0aefda20d49e8d771f77a3e92f46b7d2</id>
<content type='text'>
Complete the virtio_rpmsg_channel structure description to fix a
compilation warning with W=1 option:

drivers/rpmsg/virtio_rpmsg_bus.c:95: warning: Cannot understand
 * @vrp: the remote processor this channel belongs to

Reviewed-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Link: https://lore.kernel.org/r/20200731074850.3262-1-arnaud.pouliquen@st.com
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio: add endianness conversions</title>
<updated>2020-07-22T03:37:16Z</updated>
<author>
<name>Guennadi Liakhovetski</name>
</author>
<published>2020-07-21T08:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=111d1089700cdb752681ef44f54ab6137736f5c2'/>
<id>urn:sha1:111d1089700cdb752681ef44f54ab6137736f5c2</id>
<content type='text'>
According to the VirtIO 1.0 spec data, sent over virtual queues must
be in little-endian format. Update the RPMsg VirtIO implementation
to enforce that but let legacy configurations continue use native
endianness.

Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Guennadi Liakhovetski &lt;guennadi.liakhovetski@linux.intel.com&gt;
Reviewed-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Tested-by: Arnaud Pouliquen &lt;arnaud.pouliquen@st.com&gt;
Link: https://lore.kernel.org/r/20200721085638.GA3815@ubuntu
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: Replace zero-length array with flexible-array</title>
<updated>2020-05-12T22:00:48Z</updated>
<author>
<name>Gustavo A. R. Silva</name>
</author>
<published>2020-05-07T19:19:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f05fc33bebdc7d69259c412dd21d09751827dbd'/>
<id>urn:sha1:4f05fc33bebdc7d69259c412dd21d09751827dbd</id>
<content type='text'>
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1][2],
introduced in C99:

struct foo {
        int stuff;
        struct boo array[];
};

By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last in the structure, which
will help us prevent some kind of undefined behavior bugs from being
inadvertently introduced[3] to the codebase from now on.

Also, notice that, dynamic memory allocations won't be affected by
this change:

"Flexible array members have incomplete type, and so the sizeof operator
may not be applied. As a quirk of the original implementation of
zero-length arrays, sizeof evaluates to zero."[1]

sizeof(flexible-array-member) triggers a warning because flexible array
members have incomplete type[1]. There are some instances of code in
which the sizeof operator is being incorrectly/erroneously applied to
zero-length arrays and the result is zero. Such instances may be hiding
some bugs. So, this work (flexible-array member conversions) will also
help to get completely rid of those sorts of issues.

This issue was found with the help of Coccinelle.

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://github.com/KSPP/linux/issues/21
[3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour")

Signed-off-by: Gustavo A. R. Silva &lt;gustavoars@kernel.org&gt;
Link: https://lore.kernel.org/r/20200507191948.GA16053@embeddedor
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: virtio_rpmsg_bus: replace "%p" with "%pK"</title>
<updated>2019-08-27T22:21:05Z</updated>
<author>
<name>Suman Anna</name>
</author>
<published>2018-10-24T01:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de4064af76537f13d74a814a962f4524e81436ac'/>
<id>urn:sha1:de4064af76537f13d74a814a962f4524e81436ac</id>
<content type='text'>
The virtio_rpmsg_bus driver uses the "%p" format-specifier for
printing the vring buffer address. This prints only a hashed
pointer even for previliged users. Use "%pK" instead so that
the address can be printed during debug using kptr_restrict
sysctl.

Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
</feed>
