public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH v3 00/14] RISC-V support
@ 2020-01-29 10:29 Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 01/14] meta-isar: Clean up qemu multiconfigs Jan Kiszka
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger, vijai kumar

Changes since v2:
 - move qemu multiconfigs refactoring to the front
 - fix start_vm regression caused by multiconfigs refactoring
 - fix kernel image copy-out
 - update help output of start_vm
 - add missing BBMULTICONFIG entries to local.conf.sample
 - add missing QEMU_ARCH to qemuriscv64.conf

Series is also available at https://github.com/siemens/isar/commits/jan/queue.

Jan


CC: Cedric Hombourger <Cedric_Hombourger@mentor.com>
CC: vijai kumar <vijaikumar.kanagarajan@gmail.com>

Jan Kiszka (14):
  meta-isar: Clean up qemu multiconfigs
  meta: Decouple kernel copy-out from KERNEL_FILE
  meta: Add debian-sid-ports distro config
  meta: Add RISC-V architecture
  meta: Allow cross-compilation for RISC-V
  start_vm: Add RISC-V 64-bit support
  meta-isar: Add qemuriscv64 virtual target
  u-boot-script: Account for variations of kernel files and boot
    commands
  linux-custom: Tune strip rule to cover vmlinux images as well
  linux-custom: Add support for RISC-V
  linux-modules: Add support for RISC-V
  linux-mainline: Avoid failing UBIFS test when defconfig does not
    support it
  linux-mainline: Update to 5.4.10
  meta-isar: Add HiFive Unleashed board as physical RISC-V target

 meta-isar/conf/local.conf.sample                   |  2 ++
 meta-isar/conf/machine/qemuamd64.conf              | 17 +++++++--
 meta-isar/conf/machine/qemuarm.conf                | 16 +++++++--
 meta-isar/conf/machine/qemuarm64.conf              | 16 +++++++--
 meta-isar/conf/machine/qemui386.conf               | 14 ++++++--
 meta-isar/conf/machine/qemumipsel.conf             | 16 +++++++--
 meta-isar/conf/machine/qemuriscv64.conf            | 25 +++++++++++++
 meta-isar/conf/machine/sifive-fu540.conf           | 15 ++++++++
 meta-isar/conf/multiconfig/qemuamd64-bullseye.conf | 16 ---------
 .../conf/multiconfig/qemuamd64-buster-tgz.conf     |  6 ----
 meta-isar/conf/multiconfig/qemuamd64-buster.conf   | 16 ---------
 meta-isar/conf/multiconfig/qemuamd64-stretch.conf  | 13 -------
 meta-isar/conf/multiconfig/qemuarm-bullseye.conf   | 12 -------
 meta-isar/conf/multiconfig/qemuarm-buster.conf     | 12 -------
 meta-isar/conf/multiconfig/qemuarm-stretch.conf    | 12 -------
 meta-isar/conf/multiconfig/qemuarm64-bullseye.conf | 12 -------
 meta-isar/conf/multiconfig/qemuarm64-buster.conf   | 12 -------
 meta-isar/conf/multiconfig/qemuarm64-stretch.conf  | 12 -------
 meta-isar/conf/multiconfig/qemui386-bullseye.conf  | 13 -------
 meta-isar/conf/multiconfig/qemui386-buster.conf    | 13 -------
 meta-isar/conf/multiconfig/qemui386-stretch.conf   | 13 -------
 .../conf/multiconfig/qemumipsel-bullseye.conf      | 12 -------
 meta-isar/conf/multiconfig/qemumipsel-buster.conf  | 12 -------
 meta-isar/conf/multiconfig/qemumipsel-stretch.conf | 12 -------
 .../conf/multiconfig/qemuriscv64-sid-ports.conf    |  8 +++++
 .../conf/multiconfig/sifive-fu540-sid-ports.conf   |  7 ++++
 .../recipes-bsp/opensbi/files/sifive-fu540-rules   | 13 +++++++
 .../opensbi/opensbi-sifive-fu540_0.5.bb            | 23 ++++++++++++
 .../example-module/example-module.bb               |  1 +
 ...fpga-Rename-socfpga_cyclone5_de0_-sockit-.patch | 41 ----------------------
 ...ainline_4.19.88.bb => linux-mainline_5.4.10.bb} | 13 ++++---
 .../scripts/lib/wic/canned-wks/sifive-fu540.wks    | 10 ++++++
 meta/classes/dpkg-base.bbclass                     |  2 ++
 meta/classes/image.bbclass                         |  5 ++-
 meta/conf/bitbake.conf                             |  2 ++
 meta/conf/distro/debian-sid-ports.conf             | 25 +++++++++++++
 meta/conf/distro/debian-sid-ports.list             |  2 ++
 meta/conf/distro/debian-sid.list                   |  2 ++
 .../u-boot-script/files/update-u-boot-script       | 22 ++++++++----
 .../base-apt/files/distributions.in                |  2 +-
 .../buildchroot/buildchroot-host.bb                |  7 ++++
 .../crossbuild-essential-riscv64_0.1-isar.bb       | 11 ++++++
 .../isar-apt/files/distributions.in                |  2 +-
 .../recipes-kernel/linux-module/files/debian/rules |  3 ++
 .../linux/files/debian/isar/install.tmpl           | 10 +++---
 meta/recipes-kernel/linux/files/debian/rules.tmpl  |  2 +-
 meta/recipes-kernel/linux/linux-custom.inc         |  2 ++
 scripts/start_vm                                   | 11 +++---
 48 files changed, 269 insertions(+), 276 deletions(-)
 create mode 100644 meta-isar/conf/machine/qemuriscv64.conf
 create mode 100644 meta-isar/conf/machine/sifive-fu540.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-sid-ports.conf
 create mode 100644 meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
 create mode 100644 meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules
 create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb
 delete mode 100644 meta-isar/recipes-kernel/linux/files/0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch
 rename meta-isar/recipes-kernel/linux/{linux-mainline_4.19.88.bb => linux-mainline_5.4.10.bb} (64%)
 create mode 100644 meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks
 create mode 100644 meta/conf/distro/debian-sid-ports.conf
 create mode 100644 meta/conf/distro/debian-sid-ports.list
 create mode 100644 meta/conf/distro/debian-sid.list
 create mode 100644 meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb

-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 01/14] meta-isar: Clean up qemu multiconfigs
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 02/14] meta: Decouple kernel copy-out from KERNEL_FILE Jan Kiszka
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Move all the needless duplications from the multiconfigs into the
machine configs, reducing the multiconfigs to MACHINE and DISTRO
settings - with the only exception of qemuamd64-buster-tgz.conf.

Note that this also switches all qemui386 targets to the 686-pae kernel.
So far, only the stretch target used it - for whatever reason.

As the QEMU data is now in the machine config, start_vm also needs to be
updated to pull from there, no longer from any multiconfig.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/conf/machine/qemuamd64.conf                | 17 +++++++++++++++--
 meta-isar/conf/machine/qemuarm.conf                  | 16 ++++++++++++++--
 meta-isar/conf/machine/qemuarm64.conf                | 16 ++++++++++++++--
 meta-isar/conf/machine/qemui386.conf                 | 14 ++++++++++++--
 meta-isar/conf/machine/qemumipsel.conf               | 16 ++++++++++++++--
 meta-isar/conf/multiconfig/qemuamd64-bullseye.conf   | 16 ----------------
 meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf |  6 ------
 meta-isar/conf/multiconfig/qemuamd64-buster.conf     | 16 ----------------
 meta-isar/conf/multiconfig/qemuamd64-stretch.conf    | 13 -------------
 meta-isar/conf/multiconfig/qemuarm-bullseye.conf     | 12 ------------
 meta-isar/conf/multiconfig/qemuarm-buster.conf       | 12 ------------
 meta-isar/conf/multiconfig/qemuarm-stretch.conf      | 12 ------------
 meta-isar/conf/multiconfig/qemuarm64-bullseye.conf   | 12 ------------
 meta-isar/conf/multiconfig/qemuarm64-buster.conf     | 12 ------------
 meta-isar/conf/multiconfig/qemuarm64-stretch.conf    | 12 ------------
 meta-isar/conf/multiconfig/qemui386-bullseye.conf    | 13 -------------
 meta-isar/conf/multiconfig/qemui386-buster.conf      | 13 -------------
 meta-isar/conf/multiconfig/qemui386-stretch.conf     | 13 -------------
 meta-isar/conf/multiconfig/qemumipsel-bullseye.conf  | 12 ------------
 meta-isar/conf/multiconfig/qemumipsel-buster.conf    | 12 ------------
 meta-isar/conf/multiconfig/qemumipsel-stretch.conf   | 12 ------------
 scripts/start_vm                                     |  5 +----
 22 files changed, 70 insertions(+), 212 deletions(-)

diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 1eb85e6b..028b738d 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -1,7 +1,20 @@
 # This software is a part of ISAR.
 # Copyright (C) 2017 ilbers GmbH
 
+DISTRO_ARCH ?= "amd64"
+
+KERNEL_NAME ?= "amd64"
+
+IMAGE_TYPE ?= "wic-img"
+WKS_FILE ?= "sdimage-efi"
+IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
+
+IMAGE_INSTALL += "sshd-regen-keys"
+
+QEMU_ARCH ?= "x86_64"
+QEMU_MACHINE ?= "q35"
+QEMU_CPU ?= ""
+QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE## -bios /usr/local/share/ovmf/OVMF.fd"
+
 MACHINE_SERIAL ?= "ttyS0"
 BAUDRATE_TTY ?= "115200"
-
-IMAGE_TYPE ?= "ext4-img"
diff --git a/meta-isar/conf/machine/qemuarm.conf b/meta-isar/conf/machine/qemuarm.conf
index 70dd9415..fbbdc233 100644
--- a/meta-isar/conf/machine/qemuarm.conf
+++ b/meta-isar/conf/machine/qemuarm.conf
@@ -1,7 +1,19 @@
 # This software is a part of ISAR.
 # Copyright (C) 2015-2017 ilbers GmbH
 
-MACHINE_SERIAL ?= "ttyAMA0"
-BAUDRATE_TTY ?= "115200"
+DISTRO_ARCH ?= "armhf"
+
+KERNEL_NAME ?= "armmp"
 
 IMAGE_TYPE ?= "ext4-img"
+
+QEMU_ROOTFS_DEV ?= "vda"
+
+QEMU_ARCH ?= "arm"
+QEMU_MACHINE ?= "virt"
+QEMU_CPU ?= "cortex-a15"
+# TODO: start_vm doesn't support multiline vars
+QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
+
+MACHINE_SERIAL ?= "ttyAMA0"
+BAUDRATE_TTY ?= "115200"
diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf
index 70dd9415..246da5a5 100644
--- a/meta-isar/conf/machine/qemuarm64.conf
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -1,7 +1,19 @@
 # This software is a part of ISAR.
 # Copyright (C) 2015-2017 ilbers GmbH
 
-MACHINE_SERIAL ?= "ttyAMA0"
-BAUDRATE_TTY ?= "115200"
+DISTRO_ARCH ?= "arm64"
+
+KERNEL_NAME ?= "arm64"
 
 IMAGE_TYPE ?= "ext4-img"
+
+QEMU_ROOTFS_DEV ?= "vda"
+
+QEMU_ARCH ?= "aarch64"
+QEMU_MACHINE ?= "virt"
+QEMU_CPU ?= "cortex-a57"
+# TODO: start_vm doesn't support multiline vars
+QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
+
+MACHINE_SERIAL ?= "ttyAMA0"
+BAUDRATE_TTY ?= "115200"
diff --git a/meta-isar/conf/machine/qemui386.conf b/meta-isar/conf/machine/qemui386.conf
index 1eb85e6b..e6afb06b 100644
--- a/meta-isar/conf/machine/qemui386.conf
+++ b/meta-isar/conf/machine/qemui386.conf
@@ -1,7 +1,17 @@
 # This software is a part of ISAR.
 # Copyright (C) 2017 ilbers GmbH
+DISTRO_ARCH ?= "i386"
+
+KERNEL_NAME ?= "686-pae"
+
+IMAGE_TYPE ?= "wic-img"
+WKS_FILE ?= "directdisk-isar"
+IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
+
+QEMU_ARCH ?= "i386"
+QEMU_MACHINE ?= "pc"
+QEMU_CPU ?= ""
+QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE##"
 
 MACHINE_SERIAL ?= "ttyS0"
 BAUDRATE_TTY ?= "115200"
-
-IMAGE_TYPE ?= "ext4-img"
diff --git a/meta-isar/conf/machine/qemumipsel.conf b/meta-isar/conf/machine/qemumipsel.conf
index 18191fc9..85178ee9 100644
--- a/meta-isar/conf/machine/qemumipsel.conf
+++ b/meta-isar/conf/machine/qemumipsel.conf
@@ -1,7 +1,19 @@
 # This software is a part of ISAR.
 # Copyright (C) 2019 Mentor Graphics, a Siemens business
 
-MACHINE_SERIAL ?= "ttyS0"
-BAUDRATE_TTY ?= "115200"
+DISTRO_ARCH ?= "mipsel"
+
+KERNEL_NAME ?= "4kc-malta"
 
 IMAGE_TYPE ?= "ext4-img"
+
+QEMU_ROOTFS_DEV ?= "sda"
+
+QEMU_ARCH ?= "mipsel"
+QEMU_MACHINE ?= "malta"
+QEMU_CPU ?= "24Kc"
+QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,format=raw"
+QEMU_KARGS ?= "nokaslr"
+
+MACHINE_SERIAL ?= "ttyS0"
+BAUDRATE_TTY ?= "115200"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
index d0b79f72..1badc889 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
@@ -1,20 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemuamd64"
-
 DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "amd64"
-
-KERNEL_NAME ?= "amd64"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "sdimage-efi"
-IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
-
-IMAGE_INSTALL += "sshd-regen-keys"
-
-QEMU_ARCH ?= "x86_64"
-QEMU_MACHINE ?= "q35"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE## -bios /usr/local/share/ovmf/OVMF.fd"
-
diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf b/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf
index 18944545..17de3384 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf
@@ -4,12 +4,6 @@
 # SPDX-License-Identifier: MIT
 
 MACHINE ?= "qemuamd64"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "amd64"
-
-KERNEL_NAME ?= "amd64"
 
 IMAGE_TYPE ?= "targz-img"
-
-IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
index da909939..3fabd675 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
@@ -1,20 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemuamd64"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "amd64"
-
-KERNEL_NAME ?= "amd64"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "sdimage-efi"
-IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
-
-IMAGE_INSTALL += "sshd-regen-keys"
-
-QEMU_ARCH ?= "x86_64"
-QEMU_MACHINE ?= "q35"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE## -bios /usr/local/share/ovmf/OVMF.fd"
-
diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
index f9d283ca..f9592c71 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
@@ -2,17 +2,4 @@
 # Copyright (C) 2017 ilbers GmbH
 
 MACHINE ?= "qemuamd64"
-
 DISTRO ?= "debian-stretch"
-DISTRO_ARCH ?= "amd64"
-
-KERNEL_NAME ?= "amd64"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "sdimage-efi"
-IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
-
-QEMU_ARCH ?= "x86_64"
-QEMU_MACHINE ?= "q35"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE## -bios /usr/local/share/ovmf/OVMF.fd"
diff --git a/meta-isar/conf/multiconfig/qemuarm-bullseye.conf b/meta-isar/conf/multiconfig/qemuarm-bullseye.conf
index 1989d90f..6924f405 100644
--- a/meta-isar/conf/multiconfig/qemuarm-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-bullseye.conf
@@ -1,16 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemuarm"
-
 DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "arm"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a15"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemuarm-buster.conf b/meta-isar/conf/multiconfig/qemuarm-buster.conf
index bc84c8b0..96904388 100644
--- a/meta-isar/conf/multiconfig/qemuarm-buster.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-buster.conf
@@ -1,16 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemuarm"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "arm"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a15"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
index a2e3df16..f3af9fc3 100644
--- a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
@@ -2,16 +2,4 @@
 # Copyright (C) 2017 ilbers GmbH
 
 MACHINE ?= "qemuarm"
-
 DISTRO ?= "debian-stretch"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "arm"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a15"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-bullseye.conf b/meta-isar/conf/multiconfig/qemuarm64-bullseye.conf
index e8dabac1..4b3a8462 100644
--- a/meta-isar/conf/multiconfig/qemuarm64-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuarm64-bullseye.conf
@@ -3,16 +3,4 @@
 # Copyright (c) Siemens AG, 2019
 
 MACHINE ?= "qemuarm64"
-
 DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "arm64"
-
-KERNEL_NAME ?= "arm64"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "aarch64"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a57"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-buster.conf b/meta-isar/conf/multiconfig/qemuarm64-buster.conf
index 40f1d414..60c370ba 100644
--- a/meta-isar/conf/multiconfig/qemuarm64-buster.conf
+++ b/meta-isar/conf/multiconfig/qemuarm64-buster.conf
@@ -3,16 +3,4 @@
 # Copyright (c) Siemens AG, 2018
 
 MACHINE ?= "qemuarm64"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "arm64"
-
-KERNEL_NAME ?= "arm64"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "aarch64"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a57"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-stretch.conf b/meta-isar/conf/multiconfig/qemuarm64-stretch.conf
index dcef3702..0fd39fca 100644
--- a/meta-isar/conf/multiconfig/qemuarm64-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuarm64-stretch.conf
@@ -3,16 +3,4 @@
 # Copyright (c) Siemens AG, 2018
 
 MACHINE ?= "qemuarm64"
-
 DISTRO ?= "debian-stretch"
-DISTRO_ARCH ?= "arm64"
-
-KERNEL_NAME ?= "arm64"
-
-QEMU_ROOTFS_DEV ?= "vda"
-
-QEMU_ARCH ?= "aarch64"
-QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "cortex-a57"
-# TODO: start_vm doesn't support multiline vars
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/conf/multiconfig/qemui386-bullseye.conf b/meta-isar/conf/multiconfig/qemui386-bullseye.conf
index 0a16d105..bc81136d 100644
--- a/meta-isar/conf/multiconfig/qemui386-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemui386-bullseye.conf
@@ -1,17 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemui386"
-
 DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "i386"
-
-KERNEL_NAME ?= "686"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "directdisk-isar"
-IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
-
-QEMU_ARCH ?= "i386"
-QEMU_MACHINE ?= "pc"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE##"
diff --git a/meta-isar/conf/multiconfig/qemui386-buster.conf b/meta-isar/conf/multiconfig/qemui386-buster.conf
index 6b5a18e5..d9350c04 100644
--- a/meta-isar/conf/multiconfig/qemui386-buster.conf
+++ b/meta-isar/conf/multiconfig/qemui386-buster.conf
@@ -1,17 +1,4 @@
 # This software is a part of ISAR.
 
 MACHINE ?= "qemui386"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "i386"
-
-KERNEL_NAME ?= "686"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "directdisk-isar"
-IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
-
-QEMU_ARCH ?= "i386"
-QEMU_MACHINE ?= "pc"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE##"
diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf
index 037ba23f..007e82b9 100644
--- a/meta-isar/conf/multiconfig/qemui386-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf
@@ -2,17 +2,4 @@
 # Copyright (C) 2017 ilbers GmbH
 
 MACHINE ?= "qemui386"
-
 DISTRO ?= "debian-stretch"
-DISTRO_ARCH ?= "i386"
-
-KERNEL_NAME ?= "686-pae"
-
-IMAGE_TYPE ?= "wic-img"
-WKS_FILE ?= "directdisk-isar"
-IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
-
-QEMU_ARCH ?= "i386"
-QEMU_MACHINE ?= "pc"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE##"
diff --git a/meta-isar/conf/multiconfig/qemumipsel-bullseye.conf b/meta-isar/conf/multiconfig/qemumipsel-bullseye.conf
index aa3a6f82..6f24c59b 100644
--- a/meta-isar/conf/multiconfig/qemumipsel-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemumipsel-bullseye.conf
@@ -2,16 +2,4 @@
 # Copyright (C) 2019 Mentor Graphics, a Siemens busines
 
 MACHINE ?= "qemumipsel"
-
 DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "mipsel"
-
-KERNEL_NAME ?= "4kc-malta"
-
-QEMU_ROOTFS_DEV ?= "sda"
-
-QEMU_ARCH ?= "mipsel"
-QEMU_MACHINE ?= "malta"
-QEMU_CPU ?= "24Kc"
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,format=raw"
-QEMU_KARGS ?= "nokaslr"
diff --git a/meta-isar/conf/multiconfig/qemumipsel-buster.conf b/meta-isar/conf/multiconfig/qemumipsel-buster.conf
index ac9058ce..1d369fd5 100644
--- a/meta-isar/conf/multiconfig/qemumipsel-buster.conf
+++ b/meta-isar/conf/multiconfig/qemumipsel-buster.conf
@@ -2,16 +2,4 @@
 # Copyright (C) 2019 Mentor Graphics, a Siemens busines
 
 MACHINE ?= "qemumipsel"
-
 DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "mipsel"
-
-KERNEL_NAME ?= "4kc-malta"
-
-QEMU_ROOTFS_DEV ?= "sda"
-
-QEMU_ARCH ?= "mipsel"
-QEMU_MACHINE ?= "malta"
-QEMU_CPU ?= "24Kc"
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,format=raw"
-QEMU_KARGS ?= "nokaslr"
diff --git a/meta-isar/conf/multiconfig/qemumipsel-stretch.conf b/meta-isar/conf/multiconfig/qemumipsel-stretch.conf
index 1fe20042..53009be6 100644
--- a/meta-isar/conf/multiconfig/qemumipsel-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemumipsel-stretch.conf
@@ -2,16 +2,4 @@
 # Copyright (C) 2019 Mentor Graphics, a Siemens busines
 
 MACHINE ?= "qemumipsel"
-
 DISTRO ?= "debian-stretch"
-DISTRO_ARCH ?= "mipsel"
-
-KERNEL_NAME ?= "4kc-malta"
-
-QEMU_ROOTFS_DEV ?= "sda"
-
-QEMU_ARCH ?= "mipsel"
-QEMU_MACHINE ?= "malta"
-QEMU_CPU ?= "24Kc"
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,format=raw"
-QEMU_KARGS ?= "nokaslr"
diff --git a/scripts/start_vm b/scripts/start_vm
index 71b55f25..321a8c0c 100755
--- a/scripts/start_vm
+++ b/scripts/start_vm
@@ -107,10 +107,7 @@ readonly IMAGE_DIR=$DEPLOY_DIR_IMAGE
 readonly ISARROOT="$(dirname "$0")"/..
 
 readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf
-eval "$(egrep 'MACHINE_SERIAL' $MACHINE_CONF |bb2sh)"
-
-readonly CONFIG_CONF=$ISARROOT/meta-isar/conf/multiconfig/qemu$ARCH-$DISTRO.conf
-eval "$(egrep 'QEMU_' $CONFIG_CONF |bb2sh)"
+eval "$(egrep 'MACHINE_SERIAL|QEMU_' $MACHINE_CONF |bb2sh)"
 
 eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^IMAGE_TYPE=")
 case "$IMAGE_TYPE" in
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 02/14] meta: Decouple kernel copy-out from KERNEL_FILE
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 01/14] meta-isar: Clean up qemu multiconfigs Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 03/14] meta: Add debian-sid-ports distro config Jan Kiszka
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

From: Jan Kiszka <jan.kiszka@siemens.com>

Apparently, there is no consistent correlation between the kernel image
link in the root directory an the image naming pattern in /boot for the
kernel packages. The RISC-V port uses vmlinuz link names, mips uses
vmlinux. So we can't use KERNEL_FILE as abstraction and should rather
probe for the two possible options.

CC: Cedric Hombourger <Cedric_Hombourger@mentor.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/classes/image.bbclass | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 725bc04f..6bcc6cd2 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -127,7 +127,10 @@ EOF
 
 do_copy_boot_files[dirs] = "${DEPLOY_DIR_IMAGE}"
 do_copy_boot_files() {
-    kernel="$(realpath -q '${IMAGE_ROOTFS}/${KERNEL_FILE}')"
+    kernel="$(realpath -q '${IMAGE_ROOTFS}/vmlinuz')"
+    if [ ! -f "$kernel" ]; then
+        kernel="$(realpath -q '${IMAGE_ROOTFS}/vmlinux')"
+    fi
     if [ -f "$kernel" ]; then
         cp -f "$kernel" '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE}'
     fi
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 03/14] meta: Add debian-sid-ports distro config
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 01/14] meta-isar: Clean up qemu multiconfigs Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 02/14] meta: Decouple kernel copy-out from KERNEL_FILE Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 04/14] meta: Add RISC-V architecture Jan Kiszka
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

This provides unstable ports configuration for the purpose of building
RISC-V targets. As this requires the archive keyring that is not
installed by default in the base system, we pull the current (2020)
archive key directly.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/conf/distro/debian-sid-ports.conf | 25 +++++++++++++++++++++++++
 meta/conf/distro/debian-sid-ports.list |  2 ++
 meta/conf/distro/debian-sid.list       |  2 ++
 3 files changed, 29 insertions(+)
 create mode 100644 meta/conf/distro/debian-sid-ports.conf
 create mode 100644 meta/conf/distro/debian-sid-ports.list
 create mode 100644 meta/conf/distro/debian-sid.list

diff --git a/meta/conf/distro/debian-sid-ports.conf b/meta/conf/distro/debian-sid-ports.conf
new file mode 100644
index 00000000..4997584e
--- /dev/null
+++ b/meta/conf/distro/debian-sid-ports.conf
@@ -0,0 +1,25 @@
+# This software is a part of ISAR.
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+require debian-common.conf
+
+BASE_DISTRO_CODENAME = "sid"
+
+HOST_DISTRO ?= "debian-sid"
+
+DEBIAN_PORTS_KEY = "https://www.ports.debian.org/archive_2020.key;sha256sum=d24c6d2fe55e563ff0d998666b5e55dd8058742517a6839d9c23d201b48180c8"
+
+DISTRO_APT_SOURCES ?= "conf/distro/debian-${BASE_DISTRO_CODENAME}-ports.list"
+DISTRO_BOOTSTRAP_KEYS += "${DEBIAN_PORTS_KEY}"
+DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh"
+DISTRO_KERNELS ?= "riscv64"
+
+HOST_DISTRO_APT_SOURCES_append = " ${DISTRO_APT_SOURCES}"
+THIRD_PARTY_APT_KEYS += "${DEBIAN_PORTS_KEY}"
+
+IMAGE_PREINSTALL += "init"
+
+WIC_IMAGER_INSTALL += "python3-distutils"
diff --git a/meta/conf/distro/debian-sid-ports.list b/meta/conf/distro/debian-sid-ports.list
new file mode 100644
index 00000000..7b5328e8
--- /dev/null
+++ b/meta/conf/distro/debian-sid-ports.list
@@ -0,0 +1,2 @@
+deb	http://deb.debian.org/debian-ports sid main
+deb-src	http://deb.debian.org/debian-ports sid main
diff --git a/meta/conf/distro/debian-sid.list b/meta/conf/distro/debian-sid.list
new file mode 100644
index 00000000..2b8158cc
--- /dev/null
+++ b/meta/conf/distro/debian-sid.list
@@ -0,0 +1,2 @@
+deb	http://deb.debian.org/debian sid main contrib non-free
+deb-src	http://deb.debian.org/debian sid main contrib non-free
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 04/14] meta: Add RISC-V architecture
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (2 preceding siblings ...)
  2020-01-29 10:29 ` [PATCH v3 03/14] meta: Add debian-sid-ports distro config Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 05/14] meta: Allow cross-compilation for RISC-V Jan Kiszka
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Set QEMU_ARCH and KERNEL_FILE for 64-bit RISC-V, add the architecture to
base-apt and isar-apt configurations.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/conf/bitbake.conf                                | 2 ++
 meta/recipes-devtools/base-apt/files/distributions.in | 2 +-
 meta/recipes-devtools/isar-apt/files/distributions.in | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 0eb3b544..ab954b1f 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -58,6 +58,7 @@ SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${DISTRO}-${DISTRO_ARCH}"
 CACHE = "${TMPDIR}/cache"
 KERNEL_FILE ?= "vmlinuz"
 KERNEL_FILE_mipsel ?= "vmlinux"
+KERNEL_FILE_riscv64 ?= "vmlinux"
 
 OVERRIDES = "${DISTRO_ARCH}:${MACHINE}:${DISTRO}:forcevariable"
 FILESOVERRIDES = "${DISTRO_ARCH}:${MACHINE}"
@@ -68,6 +69,7 @@ QEMU_ARCH_i386 = "i386"
 QEMU_ARCH_armhf = "arm"
 QEMU_ARCH_arm64 = "aarch64"
 QEMU_ARCH_mipsel = "mipsel"
+QEMU_ARCH_riscv64 = "riscv64"
 
 # Codename of the repository created by the caching class
 DEBDISTRONAME = "isar"
diff --git a/meta/recipes-devtools/base-apt/files/distributions.in b/meta/recipes-devtools/base-apt/files/distributions.in
index fd7de0b7..3cf7ea55 100644
--- a/meta/recipes-devtools/base-apt/files/distributions.in
+++ b/meta/recipes-devtools/base-apt/files/distributions.in
@@ -1,3 +1,3 @@
 Codename: {CODENAME}
-Architectures: i386 armhf arm64 amd64 mipsel source
+Architectures: i386 armhf arm64 amd64 mipsel riscv64 source
 Components: main
diff --git a/meta/recipes-devtools/isar-apt/files/distributions.in b/meta/recipes-devtools/isar-apt/files/distributions.in
index a24a7000..64717364 100644
--- a/meta/recipes-devtools/isar-apt/files/distributions.in
+++ b/meta/recipes-devtools/isar-apt/files/distributions.in
@@ -1,3 +1,3 @@
 Codename: {DISTRO_NAME}
-Architectures: i386 armhf arm64 amd64 mipsel source
+Architectures: i386 armhf arm64 amd64 mipsel riscv64 source
 Components: main
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 05/14] meta: Allow cross-compilation for RISC-V
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (3 preceding siblings ...)
  2020-01-29 10:29 ` [PATCH v3 04/14] meta: Add RISC-V architecture Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 06/14] start_vm: Add RISC-V 64-bit support Jan Kiszka
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

This arch still lacks crossbuild-essential-riscv64, so we need to stub
some pieces. Specifically, we have to create a dummy package of the same
name so that mk-build-deps works fine. For buildchroot-host, we replace
the package by open-coding its dependencies.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/classes/dpkg-base.bbclass                                |  2 ++
 meta/recipes-devtools/buildchroot/buildchroot-host.bb         |  7 +++++++
 .../crossbuild-essential-riscv64_0.1-isar.bb                  | 11 +++++++++++
 3 files changed, 20 insertions(+)
 create mode 100644 meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb

diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass
index af9c9840..1decf587 100644
--- a/meta/classes/dpkg-base.bbclass
+++ b/meta/classes/dpkg-base.bbclass
@@ -10,6 +10,8 @@ inherit terminal
 
 DEPENDS ?= ""
 
+DEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}"
+
 python do_adjust_git() {
     import subprocess
 
diff --git a/meta/recipes-devtools/buildchroot/buildchroot-host.bb b/meta/recipes-devtools/buildchroot/buildchroot-host.bb
index 408ad393..8e3a52cf 100644
--- a/meta/recipes-devtools/buildchroot/buildchroot-host.bb
+++ b/meta/recipes-devtools/buildchroot/buildchroot-host.bb
@@ -15,3 +15,10 @@ BUILDCHROOT_PREINSTALL ?= " \
     ${BUILDCHROOT_PREINSTALL_COMMON} \
     libc6:${DISTRO_ARCH} \
     crossbuild-essential-${DISTRO_ARCH}"
+
+BUILDCHROOT_PREINSTALL_riscv64 ?= " \
+    ${BUILDCHROOT_PREINSTALL_COMMON} \
+    libc6:${DISTRO_ARCH} \
+    gcc-riscv64-linux-gnu:native \
+    g++-riscv64-linux-gnu:native \
+    dpkg-cross:native"
diff --git a/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb b/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb
new file mode 100644
index 00000000..eeefba92
--- /dev/null
+++ b/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb
@@ -0,0 +1,11 @@
+# This software is a part of ISAR.
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+inherit dpkg-raw
+
+DPKG_ARCH = "all"
+
+ISAR_CROSS_BUILD = "0"
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 06/14] start_vm: Add RISC-V 64-bit support
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (4 preceding siblings ...)
  2020-01-29 10:29 ` [PATCH v3 05/14] meta: Allow cross-compilation for RISC-V Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:29 ` [PATCH v3 07/14] meta-isar: Add qemuriscv64 virtual target Jan Kiszka
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

This arch is still special in that QEMU does not support directly
booting the kernel via "-kernel". Rather, you need to install opensbi on
the host and load fw_jump.elf as kernel while the actual kernel goes at
a magic address via the loader device.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 scripts/start_vm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/start_vm b/scripts/start_vm
index 321a8c0c..eda49462 100755
--- a/scripts/start_vm
+++ b/scripts/start_vm
@@ -43,7 +43,7 @@ show_help() {
     echo
     echo "Parameters:"
     echo "    -a, --arch ARCH       set isar machine architecture."
-    echo "                          Supported: arm, i386, amd64, arm64, mipsel."
+    echo "                          Supported: arm, i386, amd64, arm64, mipsel, riscv64."
     echo "    -b, --build BUILD     set path to build directory."
     echo "    -d, --distro DISTRO   set isar Debian distribution."
     echo "                          Supported: stretch, buster"
@@ -119,6 +119,10 @@ case "$IMAGE_TYPE" in
     QKERNEL=$IMAGE_DIR/${KERNEL_IMAGE}
     QINITRD=/dev/null
     [ -n "$INITRD_IMAGE" ] && QINITRD=$IMAGE_DIR/${INITRD_IMAGE}
+    if [ "$ARCH" = "riscv64" ]; then
+        EXTRA_ARGS="$EXTRA_ARGS -device loader,file=$QKERNEL,addr=0x80200000"
+        QKERNEL="/usr/lib/riscv64-linux-gnu/opensbi/qemu/virt/fw_jump.elf"
+    fi
     EXTRA_ARGS="$EXTRA_ARGS \
 	-kernel $QKERNEL \
 	-initrd $QINITRD"
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 07/14] meta-isar: Add qemuriscv64 virtual target
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (5 preceding siblings ...)
  2020-01-29 10:29 ` [PATCH v3 06/14] start_vm: Add RISC-V 64-bit support Jan Kiszka
@ 2020-01-29 10:29 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 08/14] u-boot-script: Account for variations of kernel files and boot commands Jan Kiszka
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:29 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

This builds a QEMU image for the RISC-V 64-bit architecture from Debian
sid ports. Run with "start_vm -a riscv64 -d sid-ports".

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/conf/local.conf.sample                   |  1 +
 meta-isar/conf/machine/qemuriscv64.conf            | 25 ++++++++++++++++++++++
 .../conf/multiconfig/qemuriscv64-sid-ports.conf    |  8 +++++++
 .../example-module/example-module.bb               |  1 +
 4 files changed, 35 insertions(+)
 create mode 100644 meta-isar/conf/machine/qemuriscv64.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-sid-ports.conf

diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 280e0072..9a602bee 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -54,6 +54,7 @@ BBMULTICONFIG = " \
     qemumipsel-stretch \
     qemumipsel-buster \
     qemumipsel-bullseye \
+    qemuriscv64-sid-ports \
     bananapi-buster \
     de0-nano-soc-stretch \
     hikey-stretch \
diff --git a/meta-isar/conf/machine/qemuriscv64.conf b/meta-isar/conf/machine/qemuriscv64.conf
new file mode 100644
index 00000000..f4f5312a
--- /dev/null
+++ b/meta-isar/conf/machine/qemuriscv64.conf
@@ -0,0 +1,25 @@
+# This software is a part of ISAR.
+# Copyright (C) 2015-2017 ilbers GmbH
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+DISTRO_ARCH ?= "riscv64"
+
+KERNEL_NAME ?= "riscv64"
+
+IMAGE_TYPE ?= "ext4-img"
+
+QEMU_ROOTFS_DEV ?= "vda"
+
+QEMU_ARCH ?= "riscv64"
+QEMU_MACHINE ?= "virt"
+QEMU_CPU ?= "rv64gcsu-v1.10.0"
+# TODO: start_vm doesn't support multiline vars
+QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
+
+MACHINE_SERIAL ?= "ttyS0"
+BAUDRATE_TTY ?= "115200"
+
+# when enabled, rebuilding the initramfs fails with out-of-space error
+IMAGE_INSTALL_remove = "enable-fsck"
diff --git a/meta-isar/conf/multiconfig/qemuriscv64-sid-ports.conf b/meta-isar/conf/multiconfig/qemuriscv64-sid-ports.conf
new file mode 100644
index 00000000..2556cf7f
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuriscv64-sid-ports.conf
@@ -0,0 +1,8 @@
+# This software is a part of ISAR.
+# Copyright (C) 2017 ilbers GmbH
+# Copyright (c) Siemens AG, 2019-2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuriscv64"
+DISTRO ?= "debian-sid-ports"
diff --git a/meta-isar/recipes-kernel/example-module/example-module.bb b/meta-isar/recipes-kernel/example-module/example-module.bb
index 90db80e6..a72dd1b6 100644
--- a/meta-isar/recipes-kernel/example-module/example-module.bb
+++ b/meta-isar/recipes-kernel/example-module/example-module.bb
@@ -18,6 +18,7 @@ python() {
         'amd64',
         '686-pae',
         '4kc-malta',
+        'riscv64',
     ]:
         d.setVar('ISAR_CROSS_COMPILE', '0')
 }
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 08/14] u-boot-script: Account for variations of kernel files and boot commands
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (6 preceding siblings ...)
  2020-01-29 10:29 ` [PATCH v3 07/14] meta-isar: Add qemuriscv64 virtual target Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 09/14] linux-custom: Tune strip rule to cover vmlinux images as well Jan Kiszka
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

The addition RISC-V revealed that we already had an issue with mipsel
regarding vmlinuz vs. vmlinux, it was just not stressed so far.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../u-boot-script/files/update-u-boot-script       | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-bsp/u-boot-script/files/update-u-boot-script b/meta/recipes-bsp/u-boot-script/files/update-u-boot-script
index d006a23e..a18e59bc 100755
--- a/meta/recipes-bsp/u-boot-script/files/update-u-boot-script
+++ b/meta/recipes-bsp/u-boot-script/files/update-u-boot-script
@@ -17,6 +17,21 @@ BOOT_CMD=$(mktemp)
 
 KERNEL_VERSION=$(linux-version list | linux-version sort --reverse | head -1)
 
+case $(uname -m) in
+	aarch64)
+		KERNEL_FILE="vmlinuz"
+		BOOT="booti"
+		;;
+	mips|riscv64)
+		KERNEL_FILE="vmlinux"
+		BOOT="booti"
+		;;
+	*)
+		KERNEL_FILE="vmlinuz"
+		BOOT="bootz"
+		;;
+esac
+
 echo "${SCRIPT_PREPEND}" >> ${BOOT_CMD}
 
 echo "setenv bootargs ${KERNEL_ARGS}" >> ${BOOT_CMD}
@@ -24,7 +39,7 @@ echo "setenv bootargs ${KERNEL_ARGS}" >> ${BOOT_CMD}
 echo "load \${devtype} \${devnum}:${ROOT_PARTITION} \${fdt_addr_r}" \
      "/usr/lib/linux-image-${KERNEL_VERSION}/\${fdtfile}" >> ${BOOT_CMD}
 echo "load \${devtype} \${devnum}:\${distro_bootpart} \${kernel_addr_r}" \
-     "/boot/vmlinuz-${KERNEL_VERSION}" >> ${BOOT_CMD}
+     "/boot/${KERNEL_FILE}-${KERNEL_VERSION}" >> ${BOOT_CMD}
 
 case "${NO_INITRD}" in
 yes|1)
@@ -53,11 +68,6 @@ if [ -n "${OVERLAYS}" ]; then
 	done
 fi
 
-BOOT="bootz"
-if [ "$(uname -m)" = "aarch64" ]; then
-	BOOT="booti"
-fi
-
 echo "${BOOT} \${kernel_addr_r} ${INITRD_ADDR} \${fdt_addr_r}" >> ${BOOT_CMD}
 
 mkimage -T script -A invalid -C none -d ${BOOT_CMD} /boot/boot.scr > /dev/null
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 09/14] linux-custom: Tune strip rule to cover vmlinux images as well
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (7 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 08/14] u-boot-script: Account for variations of kernel files and boot commands Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 10/14] linux-custom: Add support for RISC-V Jan Kiszka
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Will be relevant for RISC-V, might be already for MIPS.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/recipes-kernel/linux/files/debian/rules.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux/files/debian/rules.tmpl b/meta/recipes-kernel/linux/files/debian/rules.tmpl
index bea21f98..46b56ec5 100755
--- a/meta/recipes-kernel/linux/files/debian/rules.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/rules.tmpl
@@ -36,4 +36,4 @@ override_dh_auto_test:
 
 PHONY: override_dh_strip
 override_dh_strip:
-	unset DEB_HOST_GNU_TYPE && dh_strip -Xvmlinux --no-automatic-dbgsym
+	unset DEB_HOST_GNU_TYPE && dh_strip -Xvmlinu --no-automatic-dbgsym
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 10/14] linux-custom: Add support for RISC-V
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (8 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 09/14] linux-custom: Tune strip rule to cover vmlinux images as well Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 11/14] linux-modules: " Jan Kiszka
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 10 +++++-----
 meta/recipes-kernel/linux/linux-custom.inc               |  2 ++
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
index 568fb815..8a8aa8f2 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -22,9 +22,9 @@ do_install() {
     kimage="$(${MAKE} O=${O} -s --no-print-directory image_name)"
     krel="$(${MAKE} O=${O} -s --no-print-directory kernelrelease)"
     case "${ARCH}" in
-        mips|powerpc) kimage_path="boot/vmlinux-${krel}"    ;;
-                  um) kimage_path="usr/bin/vmlinux-${krel}" ;;
-                   *) kimage_path="boot/vmlinuz-${krel}"    ;;
+        mips|powerpc|riscv) kimage_path="boot/vmlinux-${krel}"    ;;
+                        um) kimage_path="usr/bin/vmlinux-${krel}" ;;
+                         *) kimage_path="boot/vmlinuz-${krel}"    ;;
     esac
 
     print_settings
@@ -56,8 +56,8 @@ install_image() {
     install -m 755 -d ${deb_img_dir}/$(dirname ${kimage_path})
     cp ${O}/${kimage} ${deb_img_dir}/${kimage_path}
 
-    # Make sure arm64 kernels are decompressed
-    if [ "${ARCH}" = "arm64" ]; then
+    # Make sure arm64 and riscv kernels are decompressed
+    if [ "${ARCH}" = "arm64" -o "${ARCH}" = "riscv" ]; then
         mv ${deb_img_dir}/${kimage_path} ${deb_img_dir}/${kimage_path}.gz
         gunzip -f ${deb_img_dir}/${kimage_path}.gz
     fi
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index d31da3bb..753becff 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -97,6 +97,8 @@ def get_kernel_arch(d):
         kernel_arch = "arm"
     elif distro_arch == "mipsel":
         kernel_arch = "mips"
+    elif distro_arch == "riscv64":
+        kernel_arch = "riscv"
     else:
         kernel_arch = ""
     return kernel_arch
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 11/14] linux-modules: Add support for RISC-V
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (9 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 10/14] linux-custom: Add support for RISC-V Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 12/14] linux-mainline: Avoid failing UBIFS test when defconfig does not support it Jan Kiszka
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/recipes-kernel/linux-module/files/debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/recipes-kernel/linux-module/files/debian/rules b/meta/recipes-kernel/linux-module/files/debian/rules
index 7a89e412..c476bf32 100755
--- a/meta/recipes-kernel/linux-module/files/debian/rules
+++ b/meta/recipes-kernel/linux-module/files/debian/rules
@@ -17,6 +17,9 @@ endif
 ifeq ($(DEB_HOST_GNU_CPU), aarch64)
 export ARCH=arm64
 endif
+ifeq ($(DEB_HOST_GNU_CPU), riscv64)
+export ARCH=riscv
+endif
 ifneq (,$(findstring 86,$(DEB_HOST_GNU_CPU)))
 export ARCH=x86
 endif
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 12/14] linux-mainline: Avoid failing UBIFS test when defconfig does not support it
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (10 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 11/14] linux-modules: " Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 13/14] linux-mainline: Update to 5.4.10 Jan Kiszka
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Will be relevant for RISC-V.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb b/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb
index cb4d5e33..3c5335e8 100644
--- a/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb
+++ b/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb
@@ -28,8 +28,10 @@ LINUX_VERSION_EXTENSION = "-isar"
 
 # For testing purposes only
 dpkg_configure_kernel_append() {
-    grep "# CONFIG_UBIFS_FS is not set" ${S}/${KERNEL_BUILD_DIR}/.config || \
-        bbfatal "Self-check failed: CONFIG_UBIFS_FS still enabled"
+    if ! grep "# CONFIG_MTD is not set" ${S}/${KERNEL_BUILD_DIR}/.config; then
+        grep "# CONFIG_UBIFS_FS is not set" ${S}/${KERNEL_BUILD_DIR}/.config || \
+            bbfatal "Self-check failed: CONFIG_UBIFS_FS still enabled"
+    fi
     grep "CONFIG_ROOT_NFS=y" ${S}/${KERNEL_BUILD_DIR}/.config || \
         bbfatal "Self-check failed: CONFIG_ROOT_NFS not enabled"
 }
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 13/14] linux-mainline: Update to 5.4.10
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (11 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 12/14] linux-mainline: Avoid failing UBIFS test when defconfig does not support it Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-01-29 10:30 ` [PATCH v3 14/14] meta-isar: Add HiFive Unleashed board as physical RISC-V target Jan Kiszka
  2020-02-12 20:19 ` [PATCH v3 00/14] RISC-V support Baurzhan Ismagulov
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

Needed for the HiFive Unleashed board that does not boot with the
Debian kernel due to oversized initramfs and also does not work with
that 4.19 kernel.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 ...fpga-Rename-socfpga_cyclone5_de0_-sockit-.patch | 41 ----------------------
 ...ainline_4.19.88.bb => linux-mainline_5.4.10.bb} |  7 ++--
 2 files changed, 2 insertions(+), 46 deletions(-)
 delete mode 100644 meta-isar/recipes-kernel/linux/files/0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch
 rename meta-isar/recipes-kernel/linux/{linux-mainline_4.19.88.bb => linux-mainline_5.4.10.bb} (79%)

diff --git a/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch b/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch
deleted file mode 100644
index 8eb602d3..00000000
--- a/meta-isar/recipes-kernel/linux/files/0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 202eb5481421040e115526b75317b5ca72584806 Mon Sep 17 00:00:00 2001
-From: Marek Vasut <marex@denx.de>
-Date: Wed, 29 Aug 2018 17:15:04 +0200
-Subject: [PATCH] ARM: dts: socfpga: Rename
- socfpga_cyclone5_de0_{sockit,nano_soc}
-
-Rename DT source for DE0 Nano SoC . The board name is really DE0-Nano-SoC
-or Atlas SoC, and it is not to be confused with SoCkit board, which is a
-different one. Rename the DT source file to match the board name and to
-avoid this possible mixup with another different board.
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Cc: Dinh Nguyen <dinguyen@kernel.org>
-Cc: Jan Kiszka <jan.kiszka@siemens.com>
-Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
----
- arch/arm/boot/dts/Makefile                                              | 2 +-
- ...ocfpga_cyclone5_de0_sockit.dts => socfpga_cyclone5_de0_nano_soc.dts} | 0
- 2 files changed, 1 insertion(+), 1 deletion(-)
- rename arch/arm/boot/dts/{socfpga_cyclone5_de0_sockit.dts => socfpga_cyclone5_de0_nano_soc.dts} (100%)
-
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index b5bd3de87c33..1036d396da83 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -892,7 +892,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \
- 	socfpga_arria10_socdk_sdmmc.dtb \
- 	socfpga_cyclone5_mcvevk.dtb \
- 	socfpga_cyclone5_socdk.dtb \
--	socfpga_cyclone5_de0_sockit.dtb \
-+	socfpga_cyclone5_de0_nano_soc.dtb \
- 	socfpga_cyclone5_sockit.dtb \
- 	socfpga_cyclone5_socrates.dtb \
- 	socfpga_cyclone5_sodia.dtb \
-diff --git a/arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dts b/arch/arm/boot/dts/socfpga_cyclone5_de0_nano_soc.dts
-similarity index 100%
-rename from arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dts
-rename to arch/arm/boot/dts/socfpga_cyclone5_de0_nano_soc.dts
--- 
-2.16.4
-
diff --git a/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.10.bb
similarity index 79%
rename from meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb
rename to meta-isar/recipes-kernel/linux/linux-mainline_5.4.10.bb
index 3c5335e8..8ec577cf 100644
--- a/meta-isar/recipes-kernel/linux/linux-mainline_4.19.88.bb
+++ b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.10.bb
@@ -10,15 +10,12 @@ require recipes-kernel/linux/linux-custom.inc
 ARCHIVE_VERSION = "${@ d.getVar('PV')[:-2] if d.getVar('PV').endswith('.0') else d.getVar('PV') }"
 
 SRC_URI += " \
-    https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${ARCHIVE_VERSION}.tar.xz \
+    https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${ARCHIVE_VERSION}.tar.xz \
     file://x86_64_defconfig \
     file://no-ubifs-fs.cfg \
     file://no-root-nfs.cfg;apply=no"
 
-SRC_URI[sha256sum] = "c1923b6bd166e6dd07be860c15f59e8273aaa8692bc2a1fce1d31b826b9b3fbe"
-
-SRC_URI_append_de0-nano-soc = " \
-    file://0001-ARM-dts-socfpga-Rename-socfpga_cyclone5_de0_-sockit-.patch"
+SRC_URI[sha256sum] = "f23c0218a5e3b363bb5a880972f507bb4dc4a290a787a7da08be07ea12042edd"
 
 S = "${WORKDIR}/linux-${ARCHIVE_VERSION}"
 
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3 14/14] meta-isar: Add HiFive Unleashed board as physical RISC-V target
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (12 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 13/14] linux-mainline: Update to 5.4.10 Jan Kiszka
@ 2020-01-29 10:30 ` Jan Kiszka
  2020-02-12 20:19 ` [PATCH v3 00/14] RISC-V support Baurzhan Ismagulov
  14 siblings, 0 replies; 16+ messages in thread
From: Jan Kiszka @ 2020-01-29 10:30 UTC (permalink / raw)
  To: isar-users

From: Jan Kiszka <jan.kiszka@siemens.com>

The Unleashed board (https://www.sifive.com/boards/hifive-unleashed) was
the first one running regular Linux. This target generates a Debian
sid image that starts fine from an SD-card in default boot mode.

The Debian kernel does not work, though, because of an excessive
initramfs being generated (45MB) that gets stuck. As the MMC driver is
in that image, we also cannot disable the initramfs. So build the
mainline kernel which is starts also faster.

We can use the binary U-Boot from Debian sid, though.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/conf/local.conf.sample                   |  1 +
 meta-isar/conf/machine/sifive-fu540.conf           | 15 ++++++++++++++
 .../conf/multiconfig/sifive-fu540-sid-ports.conf   |  7 +++++++
 .../recipes-bsp/opensbi/files/sifive-fu540-rules   | 13 ++++++++++++
 .../opensbi/opensbi-sifive-fu540_0.5.bb            | 23 ++++++++++++++++++++++
 .../scripts/lib/wic/canned-wks/sifive-fu540.wks    | 10 ++++++++++
 6 files changed, 69 insertions(+)
 create mode 100644 meta-isar/conf/machine/sifive-fu540.conf
 create mode 100644 meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
 create mode 100644 meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules
 create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb
 create mode 100644 meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks

diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 9a602bee..eeea867f 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -60,6 +60,7 @@ BBMULTICONFIG = " \
     hikey-stretch \
     nand-ubi-demo-buster \
     rpi-stretch \
+    sifive-fu540-sid-ports \
 "
 
 #
diff --git a/meta-isar/conf/machine/sifive-fu540.conf b/meta-isar/conf/machine/sifive-fu540.conf
new file mode 100644
index 00000000..c815f4a8
--- /dev/null
+++ b/meta-isar/conf/machine/sifive-fu540.conf
@@ -0,0 +1,15 @@
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+DISTRO_ARCH = "riscv64"
+
+KERNEL_NAME ?= "mainline"
+
+IMAGE_TYPE ?= "wic-img"
+WKS_FILE ?= "sifive-fu540"
+IMAGER_INSTALL += "opensbi-sifive-fu540"
+IMAGER_BUILD_DEPS += "opensbi-sifive-fu540"
+
+IMAGE_INSTALL += "u-boot-script"
diff --git a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
new file mode 100644
index 00000000..e4e0248c
--- /dev/null
+++ b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
@@ -0,0 +1,7 @@
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE = "sifive-fu540"
+DISTRO = "debian-sid-ports"
diff --git a/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules
new file mode 100644
index 00000000..c8feb715
--- /dev/null
+++ b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+
+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)-
+endif
+
+PARALLEL_BUILD=-j $(shell echo $$(($$(nproc) * 2)))
+
+override_dh_auto_build:
+	CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_BUILD) PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=/usr/lib/u-boot/sifive_fu540/u-boot.bin
+
+%:
+	dh $@
diff --git a/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb
new file mode 100644
index 00000000..b9d0c3e1
--- /dev/null
+++ b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb
@@ -0,0 +1,23 @@
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+inherit dpkg
+
+SRC_URI = " \
+    https://github.com/riscv/opensbi/archive/v${PV}.tar.gz;downloadfilename=opensbi-${PV}.tar.gz \
+    file://sifive-fu540-rules"
+SRC_URI[sha256sum] = "bc82f1e63663cafb7976b324d8a01263510cfd816063dc89e0ccffb9763fb1dd"
+
+S = "${WORKDIR}/opensbi-${PV}"
+
+do_prepare_build[cleandirs] += "${S}/debian"
+do_prepare_build() {
+    cp ${WORKDIR}/sifive-fu540-rules ${WORKDIR}/rules
+    deb_debianize
+
+    sed -i 's/\(Build-Depends:.*\)/\1, u-boot-sifive/' ${S}/debian/control
+
+    echo "build/platform/sifive/fu540/firmware/fw_payload.bin /usr/lib/opensbi/sifive-fu540/" > ${S}/debian/install
+}
diff --git a/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks b/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks
new file mode 100644
index 00000000..445b9d02
--- /dev/null
+++ b/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks
@@ -0,0 +1,10 @@
+#
+# Copyright (c) Siemens AG, 2020
+#
+# SPDX-License-Identifier: MIT
+
+part --source rawcopy --sourceparams "file=/usr/lib/opensbi/sifive-fu540/fw_payload.bin" --ondisk mmcblk0 --fixed-size 8M --align 1 --part-type 2e54b353-1271-4842-806f-e436d6af6985
+
+part / --source rootfs-u-boot --ondisk mmcblk0 --fstype ext4 --label platform --active --align 1024 --sourceparams "no_initrd=yes,script_prepend=setenv fdtfile sifive/hifive-unleashed-a00.dtb"
+
+bootloader --ptable gpt --append "rootwait"
-- 
2.16.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3 00/14] RISC-V support
  2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
                   ` (13 preceding siblings ...)
  2020-01-29 10:30 ` [PATCH v3 14/14] meta-isar: Add HiFive Unleashed board as physical RISC-V target Jan Kiszka
@ 2020-02-12 20:19 ` Baurzhan Ismagulov
  14 siblings, 0 replies; 16+ messages in thread
From: Baurzhan Ismagulov @ 2020-02-12 20:19 UTC (permalink / raw)
  To: isar-users

On Wed, Jan 29, 2020 at 11:29:52AM +0100, Jan Kiszka wrote:
> Changes since v2:
>  - move qemu multiconfigs refactoring to the front
>  - fix start_vm regression caused by multiconfigs refactoring
>  - fix kernel image copy-out
>  - update help output of start_vm
>  - add missing BBMULTICONFIG entries to local.conf.sample
>  - add missing QEMU_ARCH to qemuriscv64.conf

Applied to next, thanks.

With kind regards,
Baurzhan.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-02-12 20:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-29 10:29 [PATCH v3 00/14] RISC-V support Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 01/14] meta-isar: Clean up qemu multiconfigs Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 02/14] meta: Decouple kernel copy-out from KERNEL_FILE Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 03/14] meta: Add debian-sid-ports distro config Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 04/14] meta: Add RISC-V architecture Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 05/14] meta: Allow cross-compilation for RISC-V Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 06/14] start_vm: Add RISC-V 64-bit support Jan Kiszka
2020-01-29 10:29 ` [PATCH v3 07/14] meta-isar: Add qemuriscv64 virtual target Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 08/14] u-boot-script: Account for variations of kernel files and boot commands Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 09/14] linux-custom: Tune strip rule to cover vmlinux images as well Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 10/14] linux-custom: Add support for RISC-V Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 11/14] linux-modules: " Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 12/14] linux-mainline: Avoid failing UBIFS test when defconfig does not support it Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 13/14] linux-mainline: Update to 5.4.10 Jan Kiszka
2020-01-29 10:30 ` [PATCH v3 14/14] meta-isar: Add HiFive Unleashed board as physical RISC-V target Jan Kiszka
2020-02-12 20:19 ` [PATCH v3 00/14] RISC-V support Baurzhan Ismagulov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox