MCPcopy Create free account
hub / github.com/coreboot/coreboot / exception_dispatch

Function exception_dispatch

payloads/libpayload/arch/arm/exception.c:83–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81}
82
83void exception_dispatch(u32 idx)
84{
85 die_if(idx >= EXC_COUNT || !names[idx], "Bad exception index %u!", idx);
86
87 if (hook && hook(idx))
88 return;
89
90 printf("%s Exception\n", names[idx]);
91 print_regs();
92 switch (idx) {
93 case EXC_PABORT:
94 printf("IFAR = %#.8x\n", read_ifar());
95 printf("IFSR = %#.8x\n", read_ifsr());
96 printf("AIFSR = %#.8x\n", read_aifsr());
97 break;
98 case EXC_DABORT:
99 printf("DFAR = %#.8x\n", read_dfar());
100 printf("DFSR = %#.8x\n", read_dfsr());
101 printf("ADFSR = %#.8x\n", read_adfsr());
102 break;
103 };
104 dump_stack(exception_state.regs[13], 512);
105 halt();
106}
107
108void exception_init(void)
109{

Callers

nothing calls this directly

Calls 10

printfFunction · 0.85
print_regsFunction · 0.70
dump_stackFunction · 0.70
read_ifarFunction · 0.50
read_ifsrFunction · 0.50
read_aifsrFunction · 0.50
read_dfarFunction · 0.50
read_dfsrFunction · 0.50
read_adfsrFunction · 0.50
haltFunction · 0.50

Tested by

no test coverage detected