RISC-V: Add kexec/kdump support
Subsystems (3)
cover RISC-V: Add kexec/kdump support
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
http://riscv.ics.forth.gr/kexec-tools.patch
Nick Kossifidis (3):
RISC-V: Add kexec support
RISC-V: Add kdump support
RISC-V: Add crash kernel support
arch/riscv/Kconfig | 24 +++ arch/riscv/include/asm/kexec.h | 54 +++++++ arch/riscv/include/uapi/asm/elf.h | 6 + arch/riscv/kernel/Makefile | 3 +- arch/riscv/kernel/crash_dump.c | 46 ++++++ arch/riscv/kernel/crash_save_regs.S | 56 +++++++ arch/riscv/kernel/kexec_relocate.S | 217 ++++++++++++++++++++++++++++ arch/riscv/kernel/machine_kexec.c | 193 +++++++++++++++++++++++++ arch/riscv/kernel/setup.c | 63 ++++++++ arch/riscv/mm/init.c | 173 ++++++++++++++++++++++ include/uapi/linux/kexec.h | 1 + 11 files changed, 835 insertions(+), 1 deletion(-) create mode 100644 arch/riscv/include/asm/kexec.h create mode 100644 arch/riscv/kernel/crash_dump.c create mode 100644 arch/riscv/kernel/crash_save_regs.S create mode 100644 arch/riscv/kernel/kexec_relocate.S create mode 100644 arch/riscv/kernel/machine_kexec.c
Signature · 1 line
2.24.1
PATCH 1/3 RISC-V: Add kexec support
This patch adds support for kexec on RISC-V. On SMP systems it depends on HOTPLUG_CPU in order to be able to bring up all harts after kexec. It also needs a recent OpenSBI version that supports the HSM extension. I tested it on riscv64 QEMU on both an smp and a non-smp system.
Note that on my tests although all harts seem to go down properly, when using more than 2 harts on qemu, they don't seem to come back as expected.
The older version of this patch can be found at:
https://patchwork.kernel.org/patch/11486653/
v3:
* Use the new smp_shutdown_nonboot_cpus() call.
* Move riscv_kexec_relocate to .rodata
v2:
* Pass needed parameters as arguments to riscv_kexec_relocate instead of using global variables.
* Use kimage_arch to hold the fdt address of the included fdt.
* Use SYM_* macros on kexec_relocate.S.
* Compatibility with STRICT_KERNEL_RWX.
* Compatibility with HOTPLUG_CPU for SMP
* Small cleanups
--- arch/riscv/Kconfig | 14 +++ arch/riscv/include/asm/kexec.h | 47 ++++++++ arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/kexec_relocate.S | 158 ++++++++++++++++++++++++ arch/riscv/kernel/machine_kexec.c | 188 +++++++++++++++++++++++++++++ include/uapi/linux/kexec.h | 1 + 6 files changed, 409 insertions(+) create mode 100644 arch/riscv/include/asm/kexec.h create mode 100644 arch/riscv/kernel/kexec_relocate.S create mode 100644 arch/riscv/kernel/machine_kexec.c
arch/riscv/Kconfig +14 -0
@@ -331,6 +331,20 @@ config RISCV_SBI_V01 help This config allows kernel to use SBI v0.1 APIs. This will be deprecated in future once legacy M-mode software are no longer in use. + +config KEXEC + bool "Kexec system call" + select KEXEC_CORE + select HOTPLUG_CPU if SMP + help + kexec is a system call that implements the ability to shutdown your + current kernel, and to start another kernel. It is like a reboot + but it is independent of the system firmware. And like a reboot + you can start any kernel with it, not just Linux. + + The name comes from the similarity to the exec system call. + + endmenu menu "Boot options"
arch/riscv/include/asm/kexec.h new file +47 -0
47 lines not on this page · raw message
arch/riscv/kernel/Makefile +1 -0
@@ -51,5 +51,6 @@ ifeq ($(CONFIG_RISCV_SBI), y) obj-$(CONFIG_SMP) += cpu_ops_sbi.o endif obj-$(CONFIG_HOTPLUG_CPU) += cpu-hotplug.o +obj-${CONFIG_KEXEC} += kexec_relocate.o machine_kexec.o clean:
arch/riscv/kernel/kexec_relocate.S new file +158 -0
158 lines not on this page · raw message
arch/riscv/kernel/machine_kexec.c new file +188 -0
188 lines not on this page · raw message
include/uapi/linux/kexec.h +1 -0
@@ -42,6 +42,7 @@#define KEXEC_ARCH_MIPS_LE (10 << 16)#define KEXEC_ARCH_MIPS ( 8 << 16)#define KEXEC_ARCH_AARCH64 (183 << 16) +#define KEXEC_ARCH_RISCV (243 << 16)/* The artificial cap on the number of segments passed to kexec_load. */ #define KEXEC_SEGMENT_MAX 16
Signature · 1 line
2.24.1
PATCH 2/3 RISC-V: Add kdump support
In reply to Nick KossifidisThis patch adds support for kdump, the kernel will reserve a region for the crash kernel and jump there on panic. In order for userspace tools (kexec-tools) to prepare the crash kernel kexec image, we also need to expose some information on /proc/iomem for the memory regions used by the kernel and for the region reserved for crash kernel. Note that on userspace the device tree is used to determine the system's memory layout so the "System RAM" on /proc/iomem is ignored. I just put it there for compatibility with other archs.
I tested this on riscv64 qemu and works as expected, you may test it by triggering a crash through /proc/sysrq_trigger:
echo c > /proc/sysrq_trigger
--- arch/riscv/include/asm/kexec.h | 19 ++++--- arch/riscv/include/uapi/asm/elf.h | 6 +++ arch/riscv/kernel/Makefile | 2 +- arch/riscv/kernel/crash_save_regs.S | 56 +++++++++++++++++++++ arch/riscv/kernel/kexec_relocate.S | 61 +++++++++++++++++++++- arch/riscv/kernel/machine_kexec.c | 31 +++++++----- arch/riscv/kernel/setup.c | 50 ++++++++++++++++++ arch/riscv/mm/init.c | 78 +++++++++++++++++++++++++++++ 8 files changed, 282 insertions(+), 21 deletions(-) create mode 100644 arch/riscv/kernel/crash_save_regs.S
arch/riscv/include/asm/kexec.h +13 -6
@@ -21,11 +21,16 @@#define KEXEC_ARCH KEXEC_ARCH_RISCV +extern void riscv_crash_save_regs (struct pt_regs *newregs); +static inline void crash_setup_regs (struct pt_regs *newregs,struct pt_regs *oldregs) { -/* Dummy implementation for now */ +if (oldregs) +memcpy (newregs, oldregs,sizeof (struct pt_regs )); +else +riscv_crash_save_regs (newregs); }
@@ -38,10 +43,12 @@ struct kimage_arch {const extern unsigned char riscv_kexec_relocate[];const extern unsigned int riscv_kexec_relocate_size; -typedef void (*riscv_kexec_do_relocate )(unsigned long first_ind_entry, -unsigned long jump_addr, -unsigned long fdt_addr, -unsigned long hartid, -unsigned long va_pa_off); +typedef void (*riscv_kexec_method )(unsigned long first_ind_entry, +unsigned long jump_addr, +unsigned long fdt_addr, +unsigned long hartid, +unsigned long va_pa_off); + +extern riscv_kexec_method riscv_kexec_norelocate;#endif
arch/riscv/include/uapi/asm/elf.h +6 -0
@@ -19,6 +19,12 @@ typedef unsigned long elf_greg_t;typedef struct user_regs_struct elf_gregset_t ;#define ELF_NGREG (sizeof(elf_gregset_t) / sizeof(elf_greg_t)) +#define ELF_CORE_COPY_REGS (dest, regs) \ +do { \ + *(struct user_regs_struct *)&(dest) = \ + *(struct user_regs_struct *)regs; \ +} while (0); +/* We don't support f without d, or q. */ typedef __u64 elf_fpreg_t ;typedef union __riscv_fp_state elf_fpregset_t ;
arch/riscv/kernel/Makefile +1 -1
@@ -51,6 +51,6 @@ ifeq ($(CONFIG_RISCV_SBI), y) obj-$(CONFIG_SMP) += cpu_ops_sbi.o endif obj-$(CONFIG_HOTPLUG_CPU) += cpu-hotplug.o -obj-${CONFIG_KEXEC} += kexec_relocate.o machine_kexec.o +obj-${CONFIG_KEXEC} += kexec_relocate.o crash_save_regs.o machine_kexec.o clean:
arch/riscv/kernel/crash_save_regs.S new file +56 -0
56 lines not on this page · raw message
arch/riscv/kernel/kexec_relocate.S +60 -1
67 lines not on this page · raw message
arch/riscv/kernel/machine_kexec.c +18 -13
@@ -58,11 +58,6 @@ machine_kexec_prepare(struct kimage *image)kexec_image_info (image); -if (image->type ==KEXEC_TYPE_CRASH ) { -pr_warn ("Loading a crash kernel is unsupported for now.\n" ); -return -EINVAL ; - } -/* Find the Flattened Device Tree and save its physical address */ for (i =0 ; i < image->nr_segments; i++) {if (image->segment[i].memsz <=sizeof (fdt))
@@ -84,12 +79,14 @@ machine_kexec_prepare(struct kimage *image) }/* Copy the assembler code for relocation to the control page */ - control_code_buffer =page_address (image->control_code_page); -memcpy (control_code_buffer, riscv_kexec_relocate, - riscv_kexec_relocate_size); +if (image->type !=KEXEC_TYPE_CRASH ) { + control_code_buffer =page_address (image->control_code_page); +memcpy (control_code_buffer, riscv_kexec_relocate, + riscv_kexec_relocate_size); -/* Mark the control page executable */ -set_memory_x ((unsigned long ) control_code_buffer,1 ); +/* Mark the control page executable */ +set_memory_x ((unsigned long ) control_code_buffer,1 ); + }#ifdef CONFIG_SMP /*
@@ -149,6 +146,9 @@ void machine_shutdown(void)void machine_crash_shutdown (struct pt_regs *regs) { +machine_shutdown (); +crash_save_cpu (regs,smp_processor_id ()); +pr_info ("Starting crashdump kernel...\n" ); }/**
@@ -171,7 +171,12 @@ machine_kexec(struct kimage *image)unsigned long this_hart_id =raw_smp_processor_id ();unsigned long fdt_addr = internal->fdt_addr;void *control_code_buffer =page_address (image->control_code_page); -riscv_kexec_do_relocate do_relocate = control_code_buffer; +riscv_kexec_method kexec_method =NULL ; + +if (image->type !=KEXEC_TYPE_CRASH ) + kexec_method = control_code_buffer; +else + kexec_method = (riscv_kexec_method) &riscv_kexec_norelocate;pr_notice ("Will call new kernel at %08lx from hart id %lx\n" , jump_addr, this_hart_id);
@@ -182,7 +187,7 @@ machine_kexec(struct kimage *image)/* Jump to the relocation code */ pr_notice ("Bye...\n" ); -do_relocate (first_ind_entry, jump_addr, fdt_addr, - this_hart_id, va_pa_offset); +kexec_method (first_ind_entry, jump_addr, fdt_addr, + this_hart_id, va_pa_offset);unreachable (); }
arch/riscv/kernel/setup.c +50 -0
74 lines not on this page · raw message
arch/riscv/mm/init.c +78 -0
102 lines not on this page · raw message
Signature · 1 line
2.24.1
PATCH 3/3 RISC-V: Add crash kernel support
In reply to Nick KossifidisThis patch allows Linux to act as a crash kernel for use with kdump. Userspace will let the crash kernel know about the memory region it can use through linux,usable-memory-range property, and about the memory region where the elf core header of the previous kernel is saved, through the linux,elfcorehdr property (both on /chosen). These dtb bindings are also used on arm64.
I tested this on riscv64 qemu and it works as expected, you may test it by retrieving the dmesg of the previous kernel through /proc/vmcore, using the vmcore-dmesg utility from kexec-tools.
--- arch/riscv/Kconfig | 10 ++++ arch/riscv/kernel/Makefile | 4 +- arch/riscv/kernel/crash_dump.c | 46 ++++++++++++++++ arch/riscv/kernel/setup.c | 13 +++++ arch/riscv/mm/init.c | 97 +++++++++++++++++++++++++++++++++- 5 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 arch/riscv/kernel/crash_dump.c
arch/riscv/Kconfig +10 -0
@@ -344,6 +344,16 @@ config KEXEC The name comes from the similarity to the exec system call. +config CRASH_DUMP + bool "Build kdump crash kernel" + help + Generate crash dump after being started by kexec. This should + be normally only set in special crash dump kernels which are + loaded in the main kernel with kexec-tools into a specially + reserved region and then later executed after a crash by + kdump/kexec. + + For more details see Documentation/admin-guide/kdump/kdump.rst endmenu
arch/riscv/kernel/Makefile +2 -2
@@ -51,6 +51,6 @@ ifeq ($(CONFIG_RISCV_SBI), y) obj-$(CONFIG_SMP) += cpu_ops_sbi.o endif obj-$(CONFIG_HOTPLUG_CPU) += cpu-hotplug.o -obj-${CONFIG_KEXEC} += kexec_relocate.o crash_save_regs.o machine_kexec.o - +obj-$(CONFIG_KEXEC) += kexec_relocate.o crash_save_regs.o machine_kexec.o +obj-$(CONFIG_CRASH_DUMP) += crash_dump.o clean:
arch/riscv/kernel/crash_dump.c new file +46 -0
46 lines not on this page · raw message
arch/riscv/kernel/setup.c +13 -0
@@ -64,6 +64,9 @@ static struct resource code_res = { .name = "Kernel code", };static struct resource data_res = { .name ="Kernel data" , };static struct resource rodata_res = { .name ="Kernel rodata" , };static struct resource bss_res = { .name ="Kernel bss" , }; +#ifdef CONFIG_CRASH_DUMP +static struct resource elfcorehdr_res = { .name ="ELF Core hdr" , }; +#endif static void __init kdump_resource_init (void ) {
@@ -97,6 +100,16 @@ static void __init kdump_resource_init(void)if (crashk_res.end > crashk_res.start)insert_resource (&sysram_res, &crashk_res);#endif + +#ifdef CONFIG_CRASH_DUMP +if (elfcorehdr_size) { + elfcorehdr_res.start = elfcorehdr_addr; + elfcorehdr_res.end = elfcorehdr_addr + elfcorehdr_size; + elfcorehdr_res.flags =IORESOURCE_BUSY |IORESOURCE_SYSTEM_RAM ; +insert_resource (&sysram_res, &elfcorehdr_res); + } +#endif + }void __init parse_dtb (void )
arch/riscv/mm/init.c +96 -1
123 lines not on this page · raw message
Signature · 1 line
2.24.1
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Any comments / feedback on this ? Should we get it in ?
Regards,
Nick
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 6 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 5 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Quoted 7 lines
Quoted 2 lines
Any comments / feedback on this ? Should we get it in ?
Regards,
Nick
Anyone ?
Palmer Dabbelt
maintainerQuoted 10 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 9 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Quoted 6 lines
Quoted 4 lines
Any comments / feedback on this ? Should we get it in ?
Regards,
NickAnyone ?
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I decided I need to get a pre-merge test for all these new features, and I haven't gotten around to actually doing so yet. The merge window is closing right now, so with any luck I'll have some time to get around to my patch backlog -- first I need to go spin up some better testing, though.
Στις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 16 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 15 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 13 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Any comments / feedback on this ? Should we get it in ?
Regards,
Nick
Quoted 7 lines
Quoted 1 line
Anyone ?
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I decided I need to get a pre-merge test for all these new features, and I haven't gotten around to actually doing so yet. The merge window is closing right now, so with any luck I'll have some time to get around to my patch backlog -- first I need to go spin up some better testing, though.
Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
Quoted 39 lines
-----Original Message-----
From: linux-riscv <[email protected]> On Behalf Of Nick Kossifidis
Sent: 13 June 2020 12:54
To: Palmer Dabbelt <[email protected]>
Cc: [email protected]; [email protected]; Atish Patra <[email protected]>; [email protected]; Paul Walmsley <[email protected]>; [email protected]; linux- [email protected]
Subject: Re: [PATCH 0/3] RISC-V: Add kexec/kdump supportΣτις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 16 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 15 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 13 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Any comments / feedback on this ? Should we get it in ?
Regards,
NickQuoted 8 lines
Quoted 1 line
Anyone ?
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I decided I need to get a pre-merge test for all these new features, and I haven't gotten around to actually doing so yet. The merge window is closing right now, so with any luck I'll have some time to get around to my patch backlog -- first I need to go spin up some better testing, though.
Quoted 3 lines
Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
I had send-out a fix for CPU hotplug which can be taken for any of the Linux-5.8-rcX.
These patches should be based upon the CPU hotplug fix.
Regards,
Anup
Στις 2020-06-13 11:17, Anup Patel έγραψε:
Quoted 41 lines
Quoted 37 lines
-----Original Message-----
From: linux-riscv <[email protected]> On Behalf Of Nick Kossifidis
Sent: 13 June 2020 12:54
To: Palmer Dabbelt <[email protected]>
Cc: [email protected]; [email protected]; Atish Patra <[email protected]>; [email protected]; Paul Walmsley <[email protected]>; [email protected]; linux- [email protected]
Subject: Re: [PATCH 0/3] RISC-V: Add kexec/kdump supportΣτις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 16 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 15 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 13 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Any comments / feedback on this ? Should we get it in ?
Regards,
NickQuoted 8 lines
Quoted 1 line
Anyone ?
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I decided I need to get a pre-merge test for all these new features, and I haven't gotten around to actually doing so yet. The merge window is closing right now, so with any luck I'll have some time to get around to my patch backlog -- first I need to go spin up some better testing, though.
Quoted 3 lines
Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
Quoted 7 lines
I had send-out a fix for CPU hotplug which can be taken for any of the Linux-5.8-rcX.
These patches should be based upon the CPU hotplug fix.
Regards,
Anup
I only call smp_shutdown_nonboot_cpus(), the patches shouldn't need any updates but I'll do a re-check just in case.
Palmer Dabbelt
maintainerQuoted 29 lines · On Sat, 13 Jun 2020 00:24:01 PDT (-0700), [email protected] wrote:
Στις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 18 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 10 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 9 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Quoted 6 lines
Quoted 4 lines
Any comments / feedback on this ? Should we get it in ?
Regards,
NickAnyone ?
Quoted 9 lines
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I
decided I need to get a pre-merge test for all these new features, and I
haven't gotten around to actually doing so yet. The merge window is closing
right now, so with any luck I'll have some time to get around to my patch
backlog -- first I need to go spin up some better testing, though.
Quoted 3 lines
Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
Well, getting CI up and running would be great -- specifically, running stress tests on real hardware is something we're missing.
Στις 2020-06-19 02:06, Palmer Dabbelt έγραψε:
Quoted 30 lines · On Sat, 13 Jun 2020 00:24:01 PDT (-0700), [email protected] wrote:
Quoted 29 lines
Στις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 27 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 10 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 9 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Quoted 6 lines
Quoted 4 lines
Any comments / feedback on this ? Should we get it in ?
Regards,
NickAnyone ?
Sorry, I dropped the ball on this one. After the CPU hotplug breakage I
decided I need to get a pre-merge test for all these new features, and I
haven't gotten around to actually doing so yet. The merge window is closing
right now, so with any luck I'll have some time to get around to my patch
backlog -- first I need to go spin up some better testing, though.
Quoted 6 lines
Quoted 3 lines
Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
Well, getting CI up and running would be great -- specifically, running stress tests on real hardware is something we're missing.
Any particular tests / test suites in mind ?
Quoted 38 lines · Nick Kossifidis
Στις 2020-06-19 02:06, Palmer Dabbelt έγραψε:
Quoted 36 lines · On Sat, 13 Jun 2020 00:24:01 PDT (-0700), [email protected] wrote:
Quoted 34 lines
Στις 2020-06-11 22:39, Palmer Dabbelt έγραψε:
Quoted 18 lines · On Thu, 11 Jun 2020 12:09:08 PDT (-0700), [email protected] wrote:
Quoted 10 lines
Στις 2020-05-21 21:42, Nick Kossifidis έγραψε:
Quoted 9 lines
Στις 2020-04-24 20:12, Nick Kossifidis έγραψε:
Quoted 7 lines
This patch series adds kexec/kdump and crash kernel support on RISC-V. For testing the patches a patched version of kexec-tools is needed. The patch is still a work in progress but a draft version can be found at:
Quoted 6 lines
Quoted 4 lines
Any comments / feedback on this ? Should we get it in ?
Regards,
NickAnyone ?
Quoted 11 lines
Sorry, I dropped the ball on this one. After the CPU hotplug breakage
I
decided I need to get a pre-merge test for all these new features, and
I
haven't gotten around to actually doing so yet. The merge window is closing
right now, so with any luck I'll have some time to get around to my patch
backlog -- first I need to go spin up some better testing, though.Anything I can do to help ? I have a bunch of hw available (unleashed, genesys2 and nexys 2 ddr for Ariane / LowRISC SoC) and I'll probably also need to have a CI flow for the stuff I do internally.
Quoted 6 lines
Quoted 3 lines
Well, getting CI up and running would be great -- specifically, running stress
tests on real hardware is something we're missing.Any particular tests / test suites in mind ?
I quickly checked kerneci project. They regularly build and does a boot test on HiFive unleashed. Here is the log for the last successful boot test on 5.8-rc1.
https://kernelci.org/test/case/id/5ee3959b44cd149f2b97bf1b/
Can we leverage the same setup locally ?
+kevin
Is there any way to add more tests (lkp test may be ?) for riscv to kernelci infrastructure ?
Signature · 2 lines
Regards, Atish