Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
 1#ifndef _ASM_POWERPC_ISERIES_EXCEPTION_H
 2#define _ASM_POWERPC_ISERIES_EXCEPTION_H
 3/*
 4 * Extracted from head_64.S
 5 *
 6 *  PowerPC version
 7 *    Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
 8 *
 9 *  Rewritten by Cort Dougan (cort@cs.nmt.edu) for PReP
10 *    Copyright (C) 1996 Cort Dougan <cort@cs.nmt.edu>
11 *  Adapted for Power Macintosh by Paul Mackerras.
12 *  Low-level exception handlers and MMU support
13 *  rewritten by Paul Mackerras.
14 *    Copyright (C) 1996 Paul Mackerras.
15 *
16 *  Adapted for 64bit PowerPC by Dave Engebretsen, Peter Bergner, and
17 *    Mike Corrigan {engebret|bergner|mikejc}@us.ibm.com
18 *
19 *  This file contains the low-level support and setup for the
20 *  PowerPC-64 platform, including trap and interrupt dispatch.
21 *
22 *  This program is free software; you can redistribute it and/or
23 *  modify it under the terms of the GNU General Public License
24 *  as published by the Free Software Foundation; either version
25 *  2 of the License, or (at your option) any later version.
26 */
27#include <asm/exception-64s.h>
28
29#define EXCEPTION_PROLOG_ISERIES_1					\
30	mfmsr	r10;							\
31	ld	r12,PACALPPACAPTR(r13);					\
32	ld	r11,LPPACASRR0(r12);					\
33	ld	r12,LPPACASRR1(r12);					\
34	ori	r10,r10,MSR_RI;						\
35	mtmsrd	r10,1
36
37#define STD_EXCEPTION_ISERIES(label, area)				\
38	.globl label##_iSeries;						\
39label##_iSeries:							\
40	HMT_MEDIUM;							\
41	mtspr	SPRN_SPRG_SCRATCH0,r13;	/* save r13 */			\
42	EXCEPTION_PROLOG_1(area, NOTEST, 0);				\
43	EXCEPTION_PROLOG_ISERIES_1;					\
44	b	label##_common
45
46#define MASKABLE_EXCEPTION_ISERIES(label)				\
47	.globl label##_iSeries;						\
48label##_iSeries:							\
49	HMT_MEDIUM;							\
50	mtspr	SPRN_SPRG_SCRATCH0,r13;	/* save r13 */			\
51	EXCEPTION_PROLOG_1(PACA_EXGEN, NOTEST, 0);			\
52	lbz	r10,PACASOFTIRQEN(r13);					\
53	cmpwi	0,r10,0;						\
54	beq-	label##_iSeries_masked;					\
55	EXCEPTION_PROLOG_ISERIES_1;					\
56	b	label##_common;						\
57
58#endif	/* _ASM_POWERPC_ISERIES_EXCEPTION_H */