blob: d7474812aff4ae2d1bdc61cdc04ff7d1b2d63ebe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/* Copyright 2018 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* abort() handler
*/
#include "config.h"
#define PSW_INTL_SHIFT 1 /* Interrupt Stack Level */
#define PSW_INTL_MASK (0x3 << PSW_INTL_SHIFT)
.text
.global abort
abort:
movi55 $r6, 3 // assert
movi55 $r7, 0 // no info. doubles for the equality test below
// in interrupt context -> $r5 != 0
mfsr $r5, $PSW
andi $r5, $r5, PSW_INTL_MASK
beq $r5, $r7, .L1
j excep_handler
.L1:
break 0
|