Skip to content

Commit eb86794

Browse files
author
Charles Mirabile
committed
Initial bringup of riscv64 for centos
JIRA: https://issues.redhat.com/browse/RHEL-101827 Upstream Status: RHEL only A block for RISC-V is added to priority.rhel in order to start generating configs for riscv64 and kernel.spec.template is upated to add the arch. I then repeatedly ran `make -C redhat/ rh-configs` and fixed the errors from the process_configs.sh script due to unset or contradictory config options by specifying their values. The initial target is only the QEMU `virt` machine so CONFIG_ARCH_VIRT is the only CONFIG_ARCH_* config that I set. In general while picking values, I looked at the current setting for fedora in ark on riscv64, and on other arches for cs10 erring on the side of turning things off for the time being. Where the config matched what was already in fedora for ark, I put it in the generic/riscv/riscv64 folder, and where a cs10 specific deviation was needed (either because I wanted a different value, or because in ark / fedora, a default was set for all arches while in the rhel flavor there was no such default) I put the config in rhel/generic/riscv/riscv64. The only configs I needed to specifically go back and enable in order to get a kernel usable for basic testing with QEMU were CONFIG_VIRTIO_MMIO in order to detect the virtio network devices and CONFIG_PCI_HOST_GENERIC to enable the pci controller used by qemu. Upstream-status: RHEL-only Co-developed-by: Jennifer Berringer <jberring@redhat.com> Signed-off-by: Jennifer Berringer <jberring@redhat.com> Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
1 parent 79e6ea8 commit eb86794

File tree

109 files changed

+119
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+119
-14
lines changed

redhat/Makefile.cross

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,16 @@ dist-cross-s390x-rpms: dist-cross-setup dist-sources
4444
$(REDHAT)/scripts/cross-compile/generate-cross-report.sh "s390x"
4545

4646
dist-cross-riscv64-rpms: dist-cross-setup dist-sources
47-
@if [ "$(DISTRO)" = "fedora" ]; then \
48-
$(REDHAT)/scripts/cross-compile/x86_rngd.sh; \
49-
$(CROSS_RPMFLAGS) --target riscv64 --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE); \
50-
$(REDHAT)/scripts/cross-compile/generate-cross-report.sh "riscv64" ; \
51-
else \
52-
echo "INFO: RISC-V builds are only supported on Fedora."; \
53-
fi;
47+
$(REDHAT)/scripts/cross-compile/x86_rngd.sh
48+
$(CROSS_RPMFLAGS) --target riscv64 --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE)
49+
$(REDHAT)/scripts/cross-compile/generate-cross-report.sh "riscv64"
5450

5551
dist-cross-all-rpms: dist-cross-setup dist-sources
5652
$(REDHAT)/scripts/cross-compile/x86_rngd.sh
5753
$(CROSS_RPMFLAGS) --target aarch64 --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE)
5854
$(CROSS_RPMFLAGS) --target ppc64le --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE)
5955
$(CROSS_RPMFLAGS) --target s390x --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE)
60-
@if [ "$(DISTRO)" = "fedora" ]; then \
61-
$(CROSS_RPMFLAGS) --target riscv64 --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE); \
62-
else \
63-
echo "INFO: RISC-V builds are only supported on Fedora."; \
64-
fi;
56+
$(CROSS_RPMFLAGS) --target riscv64 --with cross $(CROSS_DISABLED_SUBPACKAGES) -ba $(RPM)/SOURCES/$(SPECFILE)
6557
$(CROSS_RPMFLAGS) -ba $(RPM)/SOURCES/$(SPECFILE)
6658
$(REDHAT)/scripts/cross-compile/generate-cross-report.sh "aarch64 ppc64 s390x x86_64 riscv64"
6759

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# CONFIG_BINFMT_FLAT is not set
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ACPI=y
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ACPI_CPPC_CPUFREQ=m
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# CONFIG_ACPI_DOCK is not set
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# CONFIG_ARCH_RENESAS is not set
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ARCH_RV64I=y
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_ARCH_VIRT=y
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# CONFIG_AX45MP_L2_CACHE is not set
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFIG_CMDLINE=""

0 commit comments

Comments
 (0)