Message ID | 20230212205506.1992714-4-Mr.Bossman075@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Palmer Dabbelt |
Headers | show |
Series | Add RISC-V 32 NOMMU support | expand |
Hey Jesse, On Sun, Feb 12, 2023 at 03:55:06PM -0500, Jesse Taube wrote: > 32bit risc-v can be configured to run without MMU. This patch adds > an example configuration for RV32 nommu virtual machine. There's a patch on the list (I think it came in after you sent v1) that pointed out that the rv32_defconfig in the tree is not actually used if you do `make ARCH=riscv rv32_defconfig`, but instead a make target is used. How would you feel about replacing this final patch with the below? That way rv32_nommu_virt_defconfig would always be kept in sync with the rv64 version. Cheers, Conor. diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile index 7123511d977c..785d438ae5fe 100644 --- a/arch/riscv/Makefile +++ b/arch/riscv/Makefile @@ -173,3 +173,7 @@ rv64_randconfig: PHONY += rv32_defconfig rv32_defconfig: $(Q)$(MAKE) -f $(srctree)/Makefile defconfig 32-bit.config + +PHONY += rv32_nommu_virt_defconfig +rv32_nommu_virt_defconfig: + $(Q)$(MAKE) -f $(srctree)/Makefile nommu_virt_defconfig 32-bit.config
On 2/13/23 14:49, Conor Dooley wrote: > Hey Jesse, > > On Sun, Feb 12, 2023 at 03:55:06PM -0500, Jesse Taube wrote: >> 32bit risc-v can be configured to run without MMU. This patch adds >> an example configuration for RV32 nommu virtual machine. > > There's a patch on the list (I think it came in after you sent v1) that > pointed out that the rv32_defconfig in the tree is not actually used if > you do `make ARCH=riscv rv32_defconfig`, but instead a make target is > used. Oh that's interesting. Why is it still int the tree? How would you feel about replacing this final patch with the > below? That way rv32_nommu_virt_defconfig would always be kept in sync > with the rv64 version. Sounds good! The only gripe I have is the nommu_virt_defconfig is not very minimal, but that's not my problem. Thanks, Jesse Taube > > Cheers, > Conor. > > diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile > index 7123511d977c..785d438ae5fe 100644 > --- a/arch/riscv/Makefile > +++ b/arch/riscv/Makefile > @@ -173,3 +173,7 @@ rv64_randconfig: > PHONY += rv32_defconfig > rv32_defconfig: > $(Q)$(MAKE) -f $(srctree)/Makefile defconfig 32-bit.config > + > +PHONY += rv32_nommu_virt_defconfig > +rv32_nommu_virt_defconfig: > + $(Q)$(MAKE) -f $(srctree)/Makefile nommu_virt_defconfig 32-bit.config >
On Mon, Feb 13, 2023 at 04:44:29PM -0500, Jesse Taube wrote: > > > On 2/13/23 14:49, Conor Dooley wrote: > > Hey Jesse, > > > > On Sun, Feb 12, 2023 at 03:55:06PM -0500, Jesse Taube wrote: > > > 32bit risc-v can be configured to run without MMU. This patch adds > > > an example configuration for RV32 nommu virtual machine. > > > > There's a patch on the list (I think it came in after you sent v1) that > > pointed out that the rv32_defconfig in the tree is not actually used if > > you do `make ARCH=riscv rv32_defconfig`, but instead a make target is > > used. > Oh that's interesting. Why is it still int the tree? See that's the thing - the patch was deleting the rv32_defconfig file: https://lore.kernel.org/linux-riscv/20230205133307.1058814-1-guoren@kernel.org/ > > How would you feel about replacing this final patch with the > > below? That way rv32_nommu_virt_defconfig would always be kept in sync > > with the rv64 version. > Sounds good! The only gripe I have is the nommu_virt_defconfig is not very > minimal, but that's not my problem. > > Thanks, > Jesse Taube > > > > Cheers, > > Conor. > > > > diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile > > index 7123511d977c..785d438ae5fe 100644 > > --- a/arch/riscv/Makefile > > +++ b/arch/riscv/Makefile > > @@ -173,3 +173,7 @@ rv64_randconfig: > > PHONY += rv32_defconfig > > rv32_defconfig: > > $(Q)$(MAKE) -f $(srctree)/Makefile defconfig 32-bit.config > > + > > +PHONY += rv32_nommu_virt_defconfig > > +rv32_nommu_virt_defconfig: > > + $(Q)$(MAKE) -f $(srctree)/Makefile nommu_virt_defconfig 32-bit.config > >
diff --git a/arch/riscv/configs/rv32_nommu_virt_defconfig b/arch/riscv/configs/rv32_nommu_virt_defconfig new file mode 100644 index 000000000000..460907253a80 --- /dev/null +++ b/arch/riscv/configs/rv32_nommu_virt_defconfig @@ -0,0 +1,16 @@ +CONFIG_BLK_DEV_INITRD=y +# CONFIG_MMU is not set +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_SOC_VIRT=y +CONFIG_NONPORTABLE=y +CONFIG_ARCH_RV32I=y +CONFIG_BINFMT_FLAT=y +CONFIG_SLOB=y +CONFIG_VIRTIO_BLK=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_EXT2_FS=y +CONFIG_PRINTK_TIME=y
32bit risc-v can be configured to run without MMU. This patch adds an example configuration for RV32 nommu virtual machine. Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com> Cc: Yimin Gu <ustcymgu@gmail.com> --- arch/riscv/configs/rv32_nommu_virt_defconfig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 arch/riscv/configs/rv32_nommu_virt_defconfig