This patch series primarily adds QEMU Virt machine kconfig opiton and does related RV32/RV64 defconfig updates. This series can be found in riscv_soc_virt_v2 branch at: https//github.com/avpatel/linux.git Changes since v1: - Fixed commit description in PATCH2 - Rebased series on latest Linus's master branch at commit 76bb8b05960c3d1668e6bee7624ed886cbd135ba Anup Patel (4): RISC-V: Add kconfig option for QEMU virt machine RISC-V: Enable QEMU virt machine support in defconfigs RISC-V: Select SYSCON Reboot and Poweroff for QEMU virt machine RISC-V: Select Goldfish RTC driver for QEMU virt machine arch/riscv/Kconfig.socs | 24 ++++++++++++++++++++++++ arch/riscv/configs/defconfig | 17 +++-------------- arch/riscv/configs/rv32_defconfig | 18 +++--------------- 3 files changed, 30 insertions(+), 29 deletions(-) -- 2.17.1
We add kconfig option for QEMU virt machine and select all required VIRTIO drivers using this kconfig option. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> --- arch/riscv/Kconfig.socs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index 536c0ef4aee8..62383951bf2e 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -10,4 +10,24 @@ config SOC_SIFIVE help This enables support for SiFive SoC platform hardware. +config SOC_VIRT + bool "QEMU Virt Machine" + select VIRTIO_PCI + select VIRTIO_BALLOON + select VIRTIO_MMIO + select VIRTIO_CONSOLE + select VIRTIO_NET + select NET_9P_VIRTIO + select VIRTIO_BLK + select SCSI_VIRTIO + select DRM_VIRTIO_GPU + select HW_RANDOM_VIRTIO + select RPMSG_CHAR + select RPMSG_VIRTIO + select CRYPTO_DEV_VIRTIO + select VIRTIO_INPUT + select SIFIVE_PLIC + help + This enables support for QEMU Virt Machine. + endmenu -- 2.17.1
We have kconfig option for QEMU virt machine so let's enable it in RV32 and RV64 defconfigs. Also, we remove various VIRTIO configs from RV32 and RV64 defconfigs because these are now selected by QEMU virt machine kconfig option. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> --- arch/riscv/configs/defconfig | 15 +-------------- arch/riscv/configs/rv32_defconfig | 16 +--------------- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index 420a0dbef386..2515fe6417e1 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -15,6 +15,7 @@ CONFIG_BLK_DEV_INITRD=y CONFIG_EXPERT=y CONFIG_BPF_SYSCALL=y CONFIG_SOC_SIFIVE=y +CONFIG_SOC_VIRT=y CONFIG_SMP=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y @@ -30,7 +31,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y CONFIG_NETLINK_DIAG=y CONFIG_NET_9P=y -CONFIG_NET_9P_VIRTIO=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCI_HOST_GENERIC=y @@ -38,15 +38,12 @@ CONFIG_PCIE_XILINX=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_BLK_DEV_LOOP=y -CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y -CONFIG_SCSI_VIRTIO=y CONFIG_ATA=y CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=y CONFIG_NETDEVICES=y -CONFIG_VIRTIO_NET=y CONFIG_MACB=y CONFIG_E1000E=y CONFIG_R8169=y @@ -57,15 +54,12 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_HVC_RISCV_SBI=y -CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y CONFIG_SPI_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set CONFIG_DRM=y CONFIG_DRM_RADEON=y -CONFIG_DRM_VIRTIO_GPU=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y @@ -78,12 +72,6 @@ CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y CONFIG_MMC=y CONFIG_MMC_SPI=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_INPUT=y -CONFIG_VIRTIO_MMIO=y -CONFIG_RPMSG_CHAR=y -CONFIG_RPMSG_VIRTIO=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y @@ -98,6 +86,5 @@ CONFIG_NFS_V4_2=y CONFIG_ROOT_NFS=y CONFIG_9P_FS=y CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_PRINTK_TIME=y # CONFIG_RCU_TRACE is not set diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig index 87ee6e62b64b..bbcf14fd6f40 100644 --- a/arch/riscv/configs/rv32_defconfig +++ b/arch/riscv/configs/rv32_defconfig @@ -14,6 +14,7 @@ CONFIG_CHECKPOINT_RESTORE=y CONFIG_BLK_DEV_INITRD=y CONFIG_EXPERT=y CONFIG_BPF_SYSCALL=y +CONFIG_SOC_VIRT=y CONFIG_ARCH_RV32I=y CONFIG_SMP=y CONFIG_MODULES=y @@ -30,7 +31,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y CONFIG_NETLINK_DIAG=y CONFIG_NET_9P=y -CONFIG_NET_9P_VIRTIO=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCI_HOST_GENERIC=y @@ -38,15 +38,12 @@ CONFIG_PCIE_XILINX=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_BLK_DEV_LOOP=y -CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y -CONFIG_SCSI_VIRTIO=y CONFIG_ATA=y CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=y CONFIG_NETDEVICES=y -CONFIG_VIRTIO_NET=y CONFIG_MACB=y CONFIG_E1000E=y CONFIG_R8169=y @@ -57,13 +54,10 @@ CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_HVC_RISCV_SBI=y -CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_VIRTIO=y # CONFIG_PTP_1588_CLOCK is not set CONFIG_DRM=y CONFIG_DRM_RADEON=y -CONFIG_DRM_VIRTIO_GPU=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y @@ -74,13 +68,6 @@ CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_INPUT=y -CONFIG_VIRTIO_MMIO=y -CONFIG_RPMSG_CHAR=y -CONFIG_RPMSG_VIRTIO=y -CONFIG_SIFIVE_PLIC=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y @@ -95,6 +82,5 @@ CONFIG_NFS_V4_2=y CONFIG_ROOT_NFS=y CONFIG_9P_FS=y CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_PRINTK_TIME=y # CONFIG_RCU_TRACE is not set -- 2.17.1
The SYSCON Reboot and Poweroff drivers can be used on QEMU virt machine to reboot or poweroff the system hence we select these drivers using QEMU virt machine kconfig option. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> --- arch/riscv/Kconfig.socs | 2 ++ arch/riscv/configs/defconfig | 1 + arch/riscv/configs/rv32_defconfig | 1 + 3 files changed, 4 insertions(+) diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index 62383951bf2e..bae4907b4880 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -26,6 +26,8 @@ config SOC_VIRT select RPMSG_VIRTIO select CRYPTO_DEV_VIRTIO select VIRTIO_INPUT + select POWER_RESET_SYSCON + select POWER_RESET_SYSCON_POWEROFF select SIFIVE_PLIC help This enables support for QEMU Virt Machine. diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index 2515fe6417e1..bf33bd40ee07 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -58,6 +58,7 @@ CONFIG_HW_RANDOM=y CONFIG_SPI=y CONFIG_SPI_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set +CONFIG_POWER_RESET=y CONFIG_DRM=y CONFIG_DRM_RADEON=y CONFIG_FRAMEBUFFER_CONSOLE=y diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig index bbcf14fd6f40..234213b4ea74 100644 --- a/arch/riscv/configs/rv32_defconfig +++ b/arch/riscv/configs/rv32_defconfig @@ -56,6 +56,7 @@ CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_HVC_RISCV_SBI=y CONFIG_HW_RANDOM=y # CONFIG_PTP_1588_CLOCK is not set +CONFIG_POWER_RESET=y CONFIG_DRM=y CONFIG_DRM_RADEON=y CONFIG_FRAMEBUFFER_CONSOLE=y -- 2.17.1
We select Goldfish RTC driver using QEMU virt machine kconfig option to access RTC device on QEMU virt machine. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> --- arch/riscv/Kconfig.socs | 2 ++ arch/riscv/configs/defconfig | 1 + arch/riscv/configs/rv32_defconfig | 1 + 3 files changed, 4 insertions(+) diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs index bae4907b4880..65cf39867c60 100644 --- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -28,6 +28,8 @@ config SOC_VIRT select VIRTIO_INPUT select POWER_RESET_SYSCON select POWER_RESET_SYSCON_POWEROFF + select GOLDFISH + select RTC_DRV_GOLDFISH select SIFIVE_PLIC help This enables support for QEMU Virt Machine. diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index bf33bd40ee07..c5e04384ec3d 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -73,6 +73,7 @@ CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y CONFIG_MMC=y CONFIG_MMC_SPI=y +CONFIG_RTC_CLASS=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig index 234213b4ea74..7972b1d321c1 100644 --- a/arch/riscv/configs/rv32_defconfig +++ b/arch/riscv/configs/rv32_defconfig @@ -69,6 +69,7 @@ CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y +CONFIG_RTC_CLASS=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y -- 2.17.1
On Tue, 2019-12-03 at 03:49 +0000, Anup Patel wrote: > We add kconfig option for QEMU virt machine and select all > required VIRTIO drivers using this kconfig option. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > Reviewed-by: Atish Patra <atish.patra@wdc.com> > Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > arch/riscv/Kconfig.socs | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs > index 536c0ef4aee8..62383951bf2e 100644 > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -10,4 +10,24 @@ config SOC_SIFIVE > help > This enables support for SiFive SoC platform hardware. > > +config SOC_VIRT > + bool "QEMU Virt Machine" > + select VIRTIO_PCI > + select VIRTIO_BALLOON > + select VIRTIO_MMIO > + select VIRTIO_CONSOLE > + select VIRTIO_NET > + select NET_9P_VIRTIO > + select VIRTIO_BLK > + select SCSI_VIRTIO > + select DRM_VIRTIO_GPU > + select HW_RANDOM_VIRTIO > + select RPMSG_CHAR > + select RPMSG_VIRTIO > + select CRYPTO_DEV_VIRTIO > + select VIRTIO_INPUT > + select SIFIVE_PLIC > + help > + This enables support for QEMU Virt Machine. > + > endmenu
On Tue, 2019-12-03 at 03:49 +0000, Anup Patel wrote: > We have kconfig option for QEMU virt machine so let's enable it > in RV32 and RV64 defconfigs. Also, we remove various VIRTIO configs > from RV32 and RV64 defconfigs because these are now selected by > QEMU virt machine kconfig option. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > Reviewed-by: Atish Patra <atish.patra@wdc.com> > Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > arch/riscv/configs/defconfig | 15 +-------------- > arch/riscv/configs/rv32_defconfig | 16 +--------------- > 2 files changed, 2 insertions(+), 29 deletions(-) > > diff --git a/arch/riscv/configs/defconfig > b/arch/riscv/configs/defconfig > index 420a0dbef386..2515fe6417e1 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -15,6 +15,7 @@ CONFIG_BLK_DEV_INITRD=y > CONFIG_EXPERT=y > CONFIG_BPF_SYSCALL=y > CONFIG_SOC_SIFIVE=y > +CONFIG_SOC_VIRT=y > CONFIG_SMP=y > CONFIG_MODULES=y > CONFIG_MODULE_UNLOAD=y > @@ -30,7 +31,6 @@ CONFIG_IP_PNP_BOOTP=y > CONFIG_IP_PNP_RARP=y > CONFIG_NETLINK_DIAG=y > CONFIG_NET_9P=y > -CONFIG_NET_9P_VIRTIO=y > CONFIG_PCI=y > CONFIG_PCIEPORTBUS=y > CONFIG_PCI_HOST_GENERIC=y > @@ -38,15 +38,12 @@ CONFIG_PCIE_XILINX=y > CONFIG_DEVTMPFS=y > CONFIG_DEVTMPFS_MOUNT=y > CONFIG_BLK_DEV_LOOP=y > -CONFIG_VIRTIO_BLK=y > CONFIG_BLK_DEV_SD=y > CONFIG_BLK_DEV_SR=y > -CONFIG_SCSI_VIRTIO=y > CONFIG_ATA=y > CONFIG_SATA_AHCI=y > CONFIG_SATA_AHCI_PLATFORM=y > CONFIG_NETDEVICES=y > -CONFIG_VIRTIO_NET=y > CONFIG_MACB=y > CONFIG_E1000E=y > CONFIG_R8169=y > @@ -57,15 +54,12 @@ CONFIG_SERIAL_8250_CONSOLE=y > CONFIG_SERIAL_OF_PLATFORM=y > CONFIG_SERIAL_EARLYCON_RISCV_SBI=y > CONFIG_HVC_RISCV_SBI=y > -CONFIG_VIRTIO_CONSOLE=y > CONFIG_HW_RANDOM=y > -CONFIG_HW_RANDOM_VIRTIO=y > CONFIG_SPI=y > CONFIG_SPI_SIFIVE=y > # CONFIG_PTP_1588_CLOCK is not set > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > -CONFIG_DRM_VIRTIO_GPU=y > CONFIG_FRAMEBUFFER_CONSOLE=y > CONFIG_USB=y > CONFIG_USB_XHCI_HCD=y > @@ -78,12 +72,6 @@ CONFIG_USB_STORAGE=y > CONFIG_USB_UAS=y > CONFIG_MMC=y > CONFIG_MMC_SPI=y > -CONFIG_VIRTIO_PCI=y > -CONFIG_VIRTIO_BALLOON=y > -CONFIG_VIRTIO_INPUT=y > -CONFIG_VIRTIO_MMIO=y > -CONFIG_RPMSG_CHAR=y > -CONFIG_RPMSG_VIRTIO=y > CONFIG_EXT4_FS=y > CONFIG_EXT4_FS_POSIX_ACL=y > CONFIG_AUTOFS4_FS=y > @@ -98,6 +86,5 @@ CONFIG_NFS_V4_2=y > CONFIG_ROOT_NFS=y > CONFIG_9P_FS=y > CONFIG_CRYPTO_USER_API_HASH=y > -CONFIG_CRYPTO_DEV_VIRTIO=y > CONFIG_PRINTK_TIME=y > # CONFIG_RCU_TRACE is not set > diff --git a/arch/riscv/configs/rv32_defconfig > b/arch/riscv/configs/rv32_defconfig > index 87ee6e62b64b..bbcf14fd6f40 100644 > --- a/arch/riscv/configs/rv32_defconfig > +++ b/arch/riscv/configs/rv32_defconfig > @@ -14,6 +14,7 @@ CONFIG_CHECKPOINT_RESTORE=y > CONFIG_BLK_DEV_INITRD=y > CONFIG_EXPERT=y > CONFIG_BPF_SYSCALL=y > +CONFIG_SOC_VIRT=y > CONFIG_ARCH_RV32I=y > CONFIG_SMP=y > CONFIG_MODULES=y > @@ -30,7 +31,6 @@ CONFIG_IP_PNP_BOOTP=y > CONFIG_IP_PNP_RARP=y > CONFIG_NETLINK_DIAG=y > CONFIG_NET_9P=y > -CONFIG_NET_9P_VIRTIO=y > CONFIG_PCI=y > CONFIG_PCIEPORTBUS=y > CONFIG_PCI_HOST_GENERIC=y > @@ -38,15 +38,12 @@ CONFIG_PCIE_XILINX=y > CONFIG_DEVTMPFS=y > CONFIG_DEVTMPFS_MOUNT=y > CONFIG_BLK_DEV_LOOP=y > -CONFIG_VIRTIO_BLK=y > CONFIG_BLK_DEV_SD=y > CONFIG_BLK_DEV_SR=y > -CONFIG_SCSI_VIRTIO=y > CONFIG_ATA=y > CONFIG_SATA_AHCI=y > CONFIG_SATA_AHCI_PLATFORM=y > CONFIG_NETDEVICES=y > -CONFIG_VIRTIO_NET=y > CONFIG_MACB=y > CONFIG_E1000E=y > CONFIG_R8169=y > @@ -57,13 +54,10 @@ CONFIG_SERIAL_8250_CONSOLE=y > CONFIG_SERIAL_OF_PLATFORM=y > CONFIG_SERIAL_EARLYCON_RISCV_SBI=y > CONFIG_HVC_RISCV_SBI=y > -CONFIG_VIRTIO_CONSOLE=y > CONFIG_HW_RANDOM=y > -CONFIG_HW_RANDOM_VIRTIO=y > # CONFIG_PTP_1588_CLOCK is not set > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > -CONFIG_DRM_VIRTIO_GPU=y > CONFIG_FRAMEBUFFER_CONSOLE=y > CONFIG_USB=y > CONFIG_USB_XHCI_HCD=y > @@ -74,13 +68,6 @@ CONFIG_USB_OHCI_HCD=y > CONFIG_USB_OHCI_HCD_PLATFORM=y > CONFIG_USB_STORAGE=y > CONFIG_USB_UAS=y > -CONFIG_VIRTIO_PCI=y > -CONFIG_VIRTIO_BALLOON=y > -CONFIG_VIRTIO_INPUT=y > -CONFIG_VIRTIO_MMIO=y > -CONFIG_RPMSG_CHAR=y > -CONFIG_RPMSG_VIRTIO=y > -CONFIG_SIFIVE_PLIC=y > CONFIG_EXT4_FS=y > CONFIG_EXT4_FS_POSIX_ACL=y > CONFIG_AUTOFS4_FS=y > @@ -95,6 +82,5 @@ CONFIG_NFS_V4_2=y > CONFIG_ROOT_NFS=y > CONFIG_9P_FS=y > CONFIG_CRYPTO_USER_API_HASH=y > -CONFIG_CRYPTO_DEV_VIRTIO=y > CONFIG_PRINTK_TIME=y > # CONFIG_RCU_TRACE is not set
On Tue, 2019-12-03 at 03:49 +0000, Anup Patel wrote: > The SYSCON Reboot and Poweroff drivers can be used on QEMU virt > machine > to reboot or poweroff the system hence we select these drivers using > QEMU virt machine kconfig option. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > arch/riscv/Kconfig.socs | 2 ++ > arch/riscv/configs/defconfig | 1 + > arch/riscv/configs/rv32_defconfig | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs > index 62383951bf2e..bae4907b4880 100644 > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -26,6 +26,8 @@ config SOC_VIRT > select RPMSG_VIRTIO > select CRYPTO_DEV_VIRTIO > select VIRTIO_INPUT > + select POWER_RESET_SYSCON > + select POWER_RESET_SYSCON_POWEROFF > select SIFIVE_PLIC > help > This enables support for QEMU Virt Machine. > diff --git a/arch/riscv/configs/defconfig > b/arch/riscv/configs/defconfig > index 2515fe6417e1..bf33bd40ee07 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -58,6 +58,7 @@ CONFIG_HW_RANDOM=y > CONFIG_SPI=y > CONFIG_SPI_SIFIVE=y > # CONFIG_PTP_1588_CLOCK is not set > +CONFIG_POWER_RESET=y > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > CONFIG_FRAMEBUFFER_CONSOLE=y > diff --git a/arch/riscv/configs/rv32_defconfig > b/arch/riscv/configs/rv32_defconfig > index bbcf14fd6f40..234213b4ea74 100644 > --- a/arch/riscv/configs/rv32_defconfig > +++ b/arch/riscv/configs/rv32_defconfig > @@ -56,6 +56,7 @@ CONFIG_SERIAL_EARLYCON_RISCV_SBI=y > CONFIG_HVC_RISCV_SBI=y > CONFIG_HW_RANDOM=y > # CONFIG_PTP_1588_CLOCK is not set > +CONFIG_POWER_RESET=y > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > CONFIG_FRAMEBUFFER_CONSOLE=y
On Tue, 2019-12-03 at 03:49 +0000, Anup Patel wrote: > We select Goldfish RTC driver using QEMU virt machine kconfig option > to access RTC device on QEMU virt machine. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > Reviewed-by: Atish Patra <atish.patra@wdc.com> > Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > arch/riscv/Kconfig.socs | 2 ++ > arch/riscv/configs/defconfig | 1 + > arch/riscv/configs/rv32_defconfig | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs > index bae4907b4880..65cf39867c60 100644 > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -28,6 +28,8 @@ config SOC_VIRT > select VIRTIO_INPUT > select POWER_RESET_SYSCON > select POWER_RESET_SYSCON_POWEROFF > + select GOLDFISH > + select RTC_DRV_GOLDFISH > select SIFIVE_PLIC > help > This enables support for QEMU Virt Machine. > diff --git a/arch/riscv/configs/defconfig > b/arch/riscv/configs/defconfig > index bf33bd40ee07..c5e04384ec3d 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -73,6 +73,7 @@ CONFIG_USB_STORAGE=y > CONFIG_USB_UAS=y > CONFIG_MMC=y > CONFIG_MMC_SPI=y > +CONFIG_RTC_CLASS=y > CONFIG_EXT4_FS=y > CONFIG_EXT4_FS_POSIX_ACL=y > CONFIG_AUTOFS4_FS=y > diff --git a/arch/riscv/configs/rv32_defconfig > b/arch/riscv/configs/rv32_defconfig > index 234213b4ea74..7972b1d321c1 100644 > --- a/arch/riscv/configs/rv32_defconfig > +++ b/arch/riscv/configs/rv32_defconfig > @@ -69,6 +69,7 @@ CONFIG_USB_OHCI_HCD=y > CONFIG_USB_OHCI_HCD_PLATFORM=y > CONFIG_USB_STORAGE=y > CONFIG_USB_UAS=y > +CONFIG_RTC_CLASS=y > CONFIG_EXT4_FS=y > CONFIG_EXT4_FS_POSIX_ACL=y > CONFIG_AUTOFS4_FS=y
On Tue, 3 Dec 2019, Anup Patel wrote:
> We select Goldfish RTC driver using QEMU virt machine kconfig option
> to access RTC device on QEMU virt machine.
>
> Signed-off-by: Anup Patel <anup.patel@wdc.com>
> Reviewed-by: Atish Patra <atish.patra@wdc.com>
> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
I just grepped for Goldfish through the QEMU git tree, and it didn't come
up with anything. Per our discussion last year: as a general matter of
policy, until QEMU merges support for a simulated hardware device into
their master branch, we shouldn't speculatively enable support for it.
So, NAK from me on this one until that happens.
- Paul
On Wed, 22 Jan 2020 19:49:54 GMT (+0000), Paul Walmsley wrote:
> On Tue, 3 Dec 2019, Anup Patel wrote:
>
>> We select Goldfish RTC driver using QEMU virt machine kconfig option
>> to access RTC device on QEMU virt machine.
>>
>> Signed-off-by: Anup Patel <anup.patel@wdc.com>
>> Reviewed-by: Atish Patra <atish.patra@wdc.com>
>> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
>
> I just grepped for Goldfish through the QEMU git tree, and it didn't come
> up with anything. Per our discussion last year: as a general matter of
> policy, until QEMU merges support for a simulated hardware device into
> their master branch, we shouldn't speculatively enable support for it.
> So, NAK from me on this one until that happens.
Thanks, I thought they were going in through a hw/rtc tree and forgot about
them. I've queued them up for QEMU via the RISC-V tree, there's still some
other patches I'd like to batch up but I'll send them up soon. I don't see any
reason why the Linux patches can't go in via an early-ish RC, so we shoul be
fine.
Hi Palmer, On Tue, Dec 3, 2019 at 9:19 AM Anup Patel <Anup.Patel@wdc.com> wrote: > > This patch series primarily adds QEMU Virt machine kconfig opiton and > does related RV32/RV64 defconfig updates. > > This series can be found in riscv_soc_virt_v2 branch at: > https//github.com/avpatel/linux.git The corresponding QEMU patches are now part of QEMU upstream master branch. Can you consider this series for Linux-5.6 ?? Regards, Anup > > Changes since v1: > - Fixed commit description in PATCH2 > - Rebased series on latest Linus's master branch at > commit 76bb8b05960c3d1668e6bee7624ed886cbd135ba > > Anup Patel (4): > RISC-V: Add kconfig option for QEMU virt machine > RISC-V: Enable QEMU virt machine support in defconfigs > RISC-V: Select SYSCON Reboot and Poweroff for QEMU virt machine > RISC-V: Select Goldfish RTC driver for QEMU virt machine > > arch/riscv/Kconfig.socs | 24 ++++++++++++++++++++++++ > arch/riscv/configs/defconfig | 17 +++-------------- > arch/riscv/configs/rv32_defconfig | 18 +++--------------- > 3 files changed, 30 insertions(+), 29 deletions(-) > > -- > 2.17.1 >
On Tue, 18 Feb 2020 19:22:38 PST (-0800), anup@brainfault.org wrote: > Hi Palmer, > > On Tue, Dec 3, 2019 at 9:19 AM Anup Patel <Anup.Patel@wdc.com> wrote: >> >> This patch series primarily adds QEMU Virt machine kconfig opiton and >> does related RV32/RV64 defconfig updates. >> >> This series can be found in riscv_soc_virt_v2 branch at: >> https//github.com/avpatel/linux.git > > The corresponding QEMU patches are now part of QEMU upstream > master branch. > > Can you consider this series for Linux-5.6 ?? They're on fixes. > > Regards, > Anup > >> >> Changes since v1: >> - Fixed commit description in PATCH2 >> - Rebased series on latest Linus's master branch at >> commit 76bb8b05960c3d1668e6bee7624ed886cbd135ba >> >> Anup Patel (4): >> RISC-V: Add kconfig option for QEMU virt machine >> RISC-V: Enable QEMU virt machine support in defconfigs >> RISC-V: Select SYSCON Reboot and Poweroff for QEMU virt machine >> RISC-V: Select Goldfish RTC driver for QEMU virt machine >> >> arch/riscv/Kconfig.socs | 24 ++++++++++++++++++++++++ >> arch/riscv/configs/defconfig | 17 +++-------------- >> arch/riscv/configs/rv32_defconfig | 18 +++--------------- >> 3 files changed, 30 insertions(+), 29 deletions(-) >> >> -- >> 2.17.1 >>