| 211 | |
| 212 | |
| 213 | static void |
| 214 | external_abort(struct thread *td, struct trapframe *frame, uint64_t esr, |
| 215 | uint64_t far, int lower) |
| 216 | { |
| 217 | |
| 218 | /* |
| 219 | * Try to handle synchronous external aborts caused by |
| 220 | * bus_space_peek() and/or bus_space_poke() functions. |
| 221 | */ |
| 222 | if (!lower && test_bs_fault((void *)frame->tf_elr)) { |
| 223 | frame->tf_elr = (uint64_t)generic_bs_fault; |
| 224 | return; |
| 225 | } |
| 226 | |
| 227 | print_registers(frame); |
| 228 | printf(" far: %16lx\n", far); |
| 229 | panic("Unhandled EL%d external data abort", lower ? 0: 1); |
| 230 | } |
| 231 | |
| 232 | static void |
| 233 | data_abort(struct thread *td, struct trapframe *frame, uint64_t esr, |
nothing calls this directly
no test coverage detected