[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] Revert "xen/riscv: introduce decode_cause() stuff"
commit 290959692726bed9a9404fbb151767dba9928c5b Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Mon Aug 14 12:27:43 2023 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Mon Aug 14 12:27:43 2023 +0200 Revert "xen/riscv: introduce decode_cause() stuff" This reverts commit 22e71609ad49797b2da141394d07ab5b1c326d54, which breaks both release and randconfig builds. --- xen/arch/riscv/traps.c | 84 +------------------------------------------------- 1 file changed, 1 insertion(+), 83 deletions(-) diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c index a2b63d579b..ccd3593f5a 100644 --- a/xen/arch/riscv/traps.c +++ b/xen/arch/riscv/traps.c @@ -4,92 +4,10 @@ * * RISC-V Trap handlers */ - -#include <xen/lib.h> - -#include <asm/csr.h> -#include <asm/early_printk.h> #include <asm/processor.h> #include <asm/traps.h> -static const char *decode_trap_cause(unsigned long cause) -{ - static const char *const trap_causes[] = { - [CAUSE_MISALIGNED_FETCH] = "Instruction Address Misaligned", - [CAUSE_FETCH_ACCESS] = "Instruction Access Fault", - [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction", - [CAUSE_BREAKPOINT] = "Breakpoint", - [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned", - [CAUSE_LOAD_ACCESS] = "Load Access Fault", - [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned", - [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault", - [CAUSE_USER_ECALL] = "Environment Call from U-Mode", - [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode", - [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode", - [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault", - [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault", - [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault", - [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page Fault", - [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault", - [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction Fault", - [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page Fault", - }; - - if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] ) - return trap_causes[cause]; - return "UNKNOWN"; -} - -static const char *decode_reserved_interrupt_cause(unsigned long irq_cause) -{ - switch ( irq_cause ) - { - case IRQ_M_SOFT: - return "M-mode Software Interrupt"; - case IRQ_M_TIMER: - return "M-mode Timer Interrupt"; - case IRQ_M_EXT: - return "M-mode External Interrupt"; - default: - return "UNKNOWN IRQ type"; - } -} - -static const char *decode_interrupt_cause(unsigned long cause) -{ - unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG; - - switch ( irq_cause ) - { - case IRQ_S_SOFT: - return "Supervisor Software Interrupt"; - case IRQ_S_TIMER: - return "Supervisor Timer Interrupt"; - case IRQ_S_EXT: - return "Supervisor External Interrupt"; - default: - return decode_reserved_interrupt_cause(irq_cause); - } -} - -static const char *decode_cause(unsigned long cause) -{ - if ( cause & CAUSE_IRQ_FLAG ) - return decode_interrupt_cause(cause); - - return decode_trap_cause(cause); -} - -static void do_unexpected_trap(const struct cpu_user_regs *regs) -{ - unsigned long cause = csr_read(CSR_SCAUSE); - - printk("Unhandled exception: %s\n", decode_cause(cause)); - - die(); -} - void do_trap(struct cpu_user_regs *cpu_regs) { - do_unexpected_trap(cpu_regs); + die(); } -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |