All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bin Meng <bmeng.cn@gmail.com>
To: Alistair Francis <Alistair.Francis@wdc.com>,
	Bastian Koppelmann <kbastian@mail.uni-paderborn.de>,
	Palmer Dabbelt <palmerdabbelt@google.com>,
	Sagar Karandikar <sagark@eecs.berkeley.edu>,
	qemu-devel@nongnu.org, qemu-riscv@nongnu.org
Cc: Bin Meng <bin.meng@windriver.com>, Anup Patel <Anup.Patel@wdc.com>
Subject: [PATCH 1/5] roms/opensbi: Update to support building bios images for generic platform
Date: Fri,  1 May 2020 08:50:50 -0700	[thread overview]
Message-ID: <1588348254-7241-2-git-send-email-bmeng.cn@gmail.com> (raw)
In-Reply-To: <1588348254-7241-1-git-send-email-bmeng.cn@gmail.com>

From: Bin Meng <bin.meng@windriver.com>

The RISC-V generic platform is a flattened device tree (FDT) based
platform where all platform specific functionality is provided based
on FDT passed by previous booting stage. The support was added in
upstream opensbi recently.

Bring the QEMU roms/opensbi submodule to the upstream opensbi commit:
commit 4f18c6e55049 ("platform: generic: Add Sifive FU540 TLB flush range limit override")
with the following changes since v0.7 release:

  1bb00ab lib: No need to provide default PMP region using platform callbacks
  a9eac67 include: sbi_platform: Combine reboot and shutdown into one callback
  6585fab lib: utils: Add SiFive test device
  4781545 platform: Add Nuclei UX600 platform
  3a326af scripts: adapt binary archive script for Nuclei UX600
  5bdf022 firmware: fw_base: Remove CSR_MTVEC update check
  e6c1345 lib: utils/serial: Skip baudrate config if input frequency is zero
  01a8c8e lib: utils: Improve fdt_parse_uart8250() API
  0a0093b lib: utils: Add fdt_parse_uart8250_node() function
  243b0d0 lib: utils: Remove redundant clint_ipi_sync() declaration
  e3ad7c1 lib: utils: Rename fdt_parse_clint() to fdt_parse_compat_addr()
  a39cd6f lib: utils: Add FDT match table based node lookup
  dd33b9e lib: utils: Make fdt_get_node_addr_size() public function
  66185b3 lib: utils: Add fdt_parse_sifive_uart_node() function
  19e966b lib: utils: Add fdt_parse_hart_id() function
  44dd7be lib: utils: Add fdt_parse_max_hart_id() API
  f0eb503 lib: utils: Add fdt_parse_plic_node() function
  1ac794c include: Add array_size() macro
  8ff2b94 lib: utils: Add simple FDT timer framework
  76f0f81 lib: utils: Add simple FDT ipi framework
  75322a6 lib: utils: Add simple FDT irqchip framework
  76a8940 lib: utils: Add simple FDT serial framework
  7cc6fa4 lib: utils: Add simple FDT reset framework
  4d06353 firmware: fw_base: Introduce optional fw_platform_init()
  f1aa9e5 platform: Add generic FDT based platform support
  1f21b99 lib: sbi: Print platform hart count at boot time
  2ba7087 scripts: Add generic platform to create-binary-archive.sh
  4f18c6e platform: generic: Add Sifive FU540 TLB flush range limit override

Update our Makefile to build the generic platform instead of building
virt and sifive_u separately.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
---

 roms/Makefile | 30 ++++++++----------------------
 roms/opensbi  |  2 +-
 2 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/roms/Makefile b/roms/Makefile
index f9acf39..cb00628 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -64,10 +64,8 @@ default help:
 	@echo "  u-boot.e500        -- update u-boot.e500"
 	@echo "  u-boot.sam460      -- update u-boot.sam460"
 	@echo "  efi                -- update UEFI (edk2) platform firmware"
-	@echo "  opensbi32-virt     -- update OpenSBI for 32-bit virt machine"
-	@echo "  opensbi64-virt     -- update OpenSBI for 64-bit virt machine"
-	@echo "  opensbi32-sifive_u -- update OpenSBI for 32-bit sifive_u machine"
-	@echo "  opensbi64-sifive_u -- update OpenSBI for 64-bit sifive_u machine"
+	@echo "  opensbi32-generic  -- update OpenSBI for 32-bit generic machine"
+	@echo "  opensbi64-generic  -- update OpenSBI for 64-bit generic machine"
 	@echo "  bios-microvm       -- update bios-microvm.bin (qboot)"
 	@echo "  clean              -- delete the files generated by the previous" \
 	                              "build targets"
@@ -170,29 +168,17 @@ skiboot:
 efi: edk2-basetools
 	$(MAKE) -f Makefile.edk2
 
-opensbi32-virt:
+opensbi32-generic:
 	$(MAKE) -C opensbi \
 		CROSS_COMPILE=$(riscv32_cross_prefix) \
-		PLATFORM="qemu/virt"
-	cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-virt-fw_jump.bin
+		PLATFORM="generic"
+	cp opensbi/build/platform/generic/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-generic-fw_jump.bin
 
-opensbi64-virt:
+opensbi64-generic:
 	$(MAKE) -C opensbi \
 		CROSS_COMPILE=$(riscv64_cross_prefix) \
-		PLATFORM="qemu/virt"
-	cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-virt-fw_jump.bin
-
-opensbi32-sifive_u:
-	$(MAKE) -C opensbi \
-		CROSS_COMPILE=$(riscv32_cross_prefix) \
-		PLATFORM="sifive/fu540"
-	cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
-
-opensbi64-sifive_u:
-	$(MAKE) -C opensbi \
-		CROSS_COMPILE=$(riscv64_cross_prefix) \
-		PLATFORM="sifive/fu540"
-	cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
+		PLATFORM="generic"
+	cp opensbi/build/platform/generic/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-generic-fw_jump.bin
 
 bios-microvm:
 	$(MAKE) -C qboot
diff --git a/roms/opensbi b/roms/opensbi
index 9f1b72c..4f18c6e 160000
--- a/roms/opensbi
+++ b/roms/opensbi
@@ -1 +1 @@
-Subproject commit 9f1b72ce66d659e91013b358939e832fb27223f5
+Subproject commit 4f18c6e55049d858c62e87d2605dd41c06956e4e
-- 
2.7.4



WARNING: multiple messages have this Message-ID (diff)
From: Bin Meng <bmeng.cn@gmail.com>
To: Alistair Francis <Alistair.Francis@wdc.com>,
	Bastian Koppelmann <kbastian@mail.uni-paderborn.de>,
	Palmer Dabbelt <palmerdabbelt@google.com>,
	Sagar Karandikar <sagark@eecs.berkeley.edu>,
	qemu-devel@nongnu.org, qemu-riscv@nongnu.org
Cc: Anup Patel <Anup.Patel@wdc.com>, Bin Meng <bin.meng@windriver.com>
Subject: [PATCH 1/5] roms/opensbi: Update to support building bios images for generic platform
Date: Fri,  1 May 2020 08:50:50 -0700	[thread overview]
Message-ID: <1588348254-7241-2-git-send-email-bmeng.cn@gmail.com> (raw)
In-Reply-To: <1588348254-7241-1-git-send-email-bmeng.cn@gmail.com>

From: Bin Meng <bin.meng@windriver.com>

The RISC-V generic platform is a flattened device tree (FDT) based
platform where all platform specific functionality is provided based
on FDT passed by previous booting stage. The support was added in
upstream opensbi recently.

Bring the QEMU roms/opensbi submodule to the upstream opensbi commit:
commit 4f18c6e55049 ("platform: generic: Add Sifive FU540 TLB flush range limit override")
with the following changes since v0.7 release:

  1bb00ab lib: No need to provide default PMP region using platform callbacks
  a9eac67 include: sbi_platform: Combine reboot and shutdown into one callback
  6585fab lib: utils: Add SiFive test device
  4781545 platform: Add Nuclei UX600 platform
  3a326af scripts: adapt binary archive script for Nuclei UX600
  5bdf022 firmware: fw_base: Remove CSR_MTVEC update check
  e6c1345 lib: utils/serial: Skip baudrate config if input frequency is zero
  01a8c8e lib: utils: Improve fdt_parse_uart8250() API
  0a0093b lib: utils: Add fdt_parse_uart8250_node() function
  243b0d0 lib: utils: Remove redundant clint_ipi_sync() declaration
  e3ad7c1 lib: utils: Rename fdt_parse_clint() to fdt_parse_compat_addr()
  a39cd6f lib: utils: Add FDT match table based node lookup
  dd33b9e lib: utils: Make fdt_get_node_addr_size() public function
  66185b3 lib: utils: Add fdt_parse_sifive_uart_node() function
  19e966b lib: utils: Add fdt_parse_hart_id() function
  44dd7be lib: utils: Add fdt_parse_max_hart_id() API
  f0eb503 lib: utils: Add fdt_parse_plic_node() function
  1ac794c include: Add array_size() macro
  8ff2b94 lib: utils: Add simple FDT timer framework
  76f0f81 lib: utils: Add simple FDT ipi framework
  75322a6 lib: utils: Add simple FDT irqchip framework
  76a8940 lib: utils: Add simple FDT serial framework
  7cc6fa4 lib: utils: Add simple FDT reset framework
  4d06353 firmware: fw_base: Introduce optional fw_platform_init()
  f1aa9e5 platform: Add generic FDT based platform support
  1f21b99 lib: sbi: Print platform hart count at boot time
  2ba7087 scripts: Add generic platform to create-binary-archive.sh
  4f18c6e platform: generic: Add Sifive FU540 TLB flush range limit override

Update our Makefile to build the generic platform instead of building
virt and sifive_u separately.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
---

 roms/Makefile | 30 ++++++++----------------------
 roms/opensbi  |  2 +-
 2 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/roms/Makefile b/roms/Makefile
index f9acf39..cb00628 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -64,10 +64,8 @@ default help:
 	@echo "  u-boot.e500        -- update u-boot.e500"
 	@echo "  u-boot.sam460      -- update u-boot.sam460"
 	@echo "  efi                -- update UEFI (edk2) platform firmware"
-	@echo "  opensbi32-virt     -- update OpenSBI for 32-bit virt machine"
-	@echo "  opensbi64-virt     -- update OpenSBI for 64-bit virt machine"
-	@echo "  opensbi32-sifive_u -- update OpenSBI for 32-bit sifive_u machine"
-	@echo "  opensbi64-sifive_u -- update OpenSBI for 64-bit sifive_u machine"
+	@echo "  opensbi32-generic  -- update OpenSBI for 32-bit generic machine"
+	@echo "  opensbi64-generic  -- update OpenSBI for 64-bit generic machine"
 	@echo "  bios-microvm       -- update bios-microvm.bin (qboot)"
 	@echo "  clean              -- delete the files generated by the previous" \
 	                              "build targets"
@@ -170,29 +168,17 @@ skiboot:
 efi: edk2-basetools
 	$(MAKE) -f Makefile.edk2
 
-opensbi32-virt:
+opensbi32-generic:
 	$(MAKE) -C opensbi \
 		CROSS_COMPILE=$(riscv32_cross_prefix) \
-		PLATFORM="qemu/virt"
-	cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-virt-fw_jump.bin
+		PLATFORM="generic"
+	cp opensbi/build/platform/generic/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-generic-fw_jump.bin
 
-opensbi64-virt:
+opensbi64-generic:
 	$(MAKE) -C opensbi \
 		CROSS_COMPILE=$(riscv64_cross_prefix) \
-		PLATFORM="qemu/virt"
-	cp opensbi/build/platform/qemu/virt/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-virt-fw_jump.bin
-
-opensbi32-sifive_u:
-	$(MAKE) -C opensbi \
-		CROSS_COMPILE=$(riscv32_cross_prefix) \
-		PLATFORM="sifive/fu540"
-	cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv32-sifive_u-fw_jump.bin
-
-opensbi64-sifive_u:
-	$(MAKE) -C opensbi \
-		CROSS_COMPILE=$(riscv64_cross_prefix) \
-		PLATFORM="sifive/fu540"
-	cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
+		PLATFORM="generic"
+	cp opensbi/build/platform/generic/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-generic-fw_jump.bin
 
 bios-microvm:
 	$(MAKE) -C qboot
diff --git a/roms/opensbi b/roms/opensbi
index 9f1b72c..4f18c6e 160000
--- a/roms/opensbi
+++ b/roms/opensbi
@@ -1 +1 @@
-Subproject commit 9f1b72ce66d659e91013b358939e832fb27223f5
+Subproject commit 4f18c6e55049d858c62e87d2605dd41c06956e4e
-- 
2.7.4



  reply	other threads:[~2020-05-01 15:55 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-01 15:50 [PATCH 0/5] riscv: Switch to use generic platform of opensbi bios images Bin Meng
2020-05-01 15:50 ` Bin Meng
2020-05-01 15:50 ` Bin Meng [this message]
2020-05-01 15:50   ` [PATCH 1/5] roms/opensbi: Update to support building bios images for generic platform Bin Meng
2020-05-03  4:38   ` Anup Patel
2020-05-03  4:38     ` Anup Patel
2020-05-04  7:16     ` Bin Meng
2020-05-04  7:16       ` Bin Meng
2020-05-04  7:51       ` Anup Patel
2020-05-04  7:51         ` Anup Patel
2020-05-04  8:00         ` Bin Meng
2020-05-04  8:00           ` Bin Meng
2020-05-04  8:04           ` Bin Meng
2020-05-04  8:04             ` Bin Meng
2020-05-04  8:16             ` Anup Patel
2020-05-04  8:16               ` Anup Patel
2020-05-04 15:51             ` Alistair Francis
2020-05-04 15:51               ` Alistair Francis
2020-05-06 10:00               ` Bin Meng
2020-05-06 10:00                 ` Bin Meng
2020-05-01 15:50 ` [PATCH 2/5] gitlab-ci/opensbi: Update GitLab CI to build " Bin Meng
2020-05-01 15:50   ` Bin Meng
2020-05-03  4:40   ` Anup Patel
2020-05-03  4:40     ` Anup Patel
2020-05-01 15:50 ` [PATCH 3/5] riscv: Use pre-built bios image of generic platform for virt & sifive_u Bin Meng
2020-05-01 15:50   ` Bin Meng
2020-05-03  4:43   ` Anup Patel
2020-05-03  4:43     ` Anup Patel
2020-05-04 15:53   ` Alistair Francis
2020-05-04 15:53     ` Alistair Francis
2020-05-01 15:50 ` [PATCH 4/5] riscv/spike: Change the default bios to use generic platform image Bin Meng
2020-05-01 15:50   ` Bin Meng
2020-05-03  4:41   ` Anup Patel
2020-05-03  4:41     ` Anup Patel
2020-05-04 15:54   ` Alistair Francis
2020-05-04 15:54     ` Alistair Francis
2020-05-01 15:50 ` [PATCH 5/5] riscv: Suppress the error report for QEMU testing with riscv_find_firmware() Bin Meng
2020-05-01 15:50   ` Bin Meng
2020-05-03  4:44   ` Anup Patel
2020-05-03  4:44     ` Anup Patel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1588348254-7241-2-git-send-email-bmeng.cn@gmail.com \
    --to=bmeng.cn@gmail.com \
    --cc=Alistair.Francis@wdc.com \
    --cc=Anup.Patel@wdc.com \
    --cc=bin.meng@windriver.com \
    --cc=kbastian@mail.uni-paderborn.de \
    --cc=palmerdabbelt@google.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=sagark@eecs.berkeley.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.