lists.openwall.net | 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 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 10 Aug 2021 15:55:14 +0530 From: Viresh Kumar <viresh.kumar@...aro.org> To: Arnd Bergmann <arnd@...nel.org>, Linus Walleij <linus.walleij@...aro.org>, Bartosz Golaszewski <bgolaszewski@...libre.com>, "Enrico Weigelt, metux IT consult" <info@...ux.net>, Jason Wang <jasowang@...hat.com>, "Michael S. Tsirkin" <mst@...hat.com>, Viresh Kumar <vireshk@...nel.org> Cc: Viresh Kumar <viresh.kumar@...aro.org>, Vincent Guittot <vincent.guittot@...aro.org>, Jean-Philippe Brucker <jean-philippe@...aro.org>, Bill Mills <bill.mills@...aro.org>, Alex Bennée <alex.bennee@...aro.org>, Cornelia Huck <cohuck@...hat.com>, Geert Uytterhoeven <geert@...ux-m68k.org>, stratos-dev@...lists.linaro.org, linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>, Marc Zyngier <maz@...nel.org>, linux-gpio@...r.kernel.org, virtualization@...ts.linux-foundation.org Subject: [PATCH V5 0/2] gpio: Add virtio based driver Hello, This adds Virtio GPIO driver based on the proposed specification [1]. The specification for basic GPIO operations is already reviewed by Linus and Arnd, while the IRQ stuff is still under discussion and not finalized. I am sharing the code, so everyone gets more clarity on how it will work eventually in Linux. I have tested this patchset with Qemu guest with help of the libgpiod utility. I have also tested basic handling of interrupts on the guest side. It works as expected. The host side virtio-backend isn't ready yet and my tests only tested the flow control between guest and host, but didn't play with real GPIO pins. That will be done once I have a working backend in place (WIP). V4->V5: - Use ____cacheline_aligned for buffers. - Proper locking in place, which avoids the use of work-item for processing interrupts. - Separate callbacks for enable/disable of irqs. - The irq is disabled at the host only for enable/disable now, instead of mask/unmask. - mask/unmask only control the queuing of buffers now. - Use handle_level_irq() instead of handle_fasteoi_irq(). - Other minor changes. V3->V4: - Lots of changes, as the specification changed too much. Better forget everything we have done until now :) -- Viresh [1] https://lists.oasis-open.org/archives/virtio-dev/202107/msg00232.html Viresh Kumar (2): gpio: Add virtio-gpio driver gpio: virtio: Add IRQ support MAINTAINERS | 7 + drivers/gpio/Kconfig | 10 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-virtio.c | 668 +++++++++++++++++++++++++++++++ include/uapi/linux/virtio_gpio.h | 72 ++++ 5 files changed, 758 insertions(+) create mode 100644 drivers/gpio/gpio-virtio.c create mode 100644 include/uapi/linux/virtio_gpio.h -- 2.31.1.272.g89b43f80a514
Powered by blists - more mailing lists