![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <arch/encoding.h>
#include <arch/exception.h>
#include <console/console.h>
#include <vm.h>
#include <mcall.h>
#include <sbi.h>
#include <types.h>
Go to the source code of this file.
Functions | |
static const char * | mstatus_to_previous_mode (uintptr_t ms) |
static void | print_trap_information (const trapframe *tf) |
static void | interrupt_handler (trapframe *tf) |
void | trap_handler (trapframe *tf) |
void | redirect_trap (void) |
Variables | |
static const char *const | exception_names [] |
Definition at line 71 of file trap_handler.c.
References BIOS_EMERG, trapframe::cause, HLS, IPI_FENCE_I, IPI_SFENCE_VMA, IPI_SFENCE_VMA_ASID, IPI_SHUTDOWN, IPI_SOFT, IRQ_M_SOFT, IRQ_M_TIMER, MIP_MTIP, MIP_SSIP, MIP_STIP, print_trap_information(), and printk.
Referenced by trap_handler().
|
static |
Definition at line 33 of file trap_handler.c.
References MSTATUS_MPP.
Referenced by print_trap_information().
Definition at line 45 of file trap_handler.c.
References ARRAY_SIZE, trapframe::badvaddr, BIOS_DEBUG, trapframe::cause, trapframe::epc, exception_names, trapframe::gpr, MSTATUS_MPRV, mstatus_to_previous_mode(), printk, and trapframe::status.
Referenced by interrupt_handler(), and trap_handler().
Definition at line 151 of file trap_handler.c.
References EXTRACT_FIELD, INSERT_FIELD, MSTATUS_MPP, and MSTATUS_SPP.
Referenced by handle_misaligned().
Definition at line 111 of file trap_handler.c.
References BIOS_EMERG, trapframe::cause, CAUSE_BREAKPOINT, CAUSE_FETCH_ACCESS, CAUSE_HYPERVISOR_ECALL, CAUSE_ILLEGAL_INSTRUCTION, CAUSE_LOAD_ACCESS, CAUSE_MACHINE_ECALL, CAUSE_MISALIGNED_FETCH, CAUSE_MISALIGNED_LOAD, CAUSE_MISALIGNED_STORE, CAUSE_STORE_ACCESS, CAUSE_SUPERVISOR_ECALL, CAUSE_USER_ECALL, die(), handle_misaligned(), handle_sbi(), interrupt_handler(), print_trap_information(), and printk.
|
static |
Definition at line 14 of file trap_handler.c.
Referenced by print_trap_information().