linux-stable/arch/metag/include/asm/switch.h
James Hogan ac919f0883 metag: Traps
Add trap code for metag. At the lowest level Meta traps (and return from
interrupt instruction - RTI) simply swap the PC and PCX registers and
optionally toggle the interrupt status bit (ISTAT). Low level TBX code
in tbipcx.S handles the core context save, determine the TBX signal
number based on the core trigger that fired (using the TXSTATI status
register), and call TBX signal handlers (mostly in traps.c) via a vector
table.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
2013-03-02 20:09:45 +00:00

21 lines
726 B
C

/*
* Copyright (C) 2012 Imagination Technologies Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef _ASM_METAG_SWITCH_H
#define _ASM_METAG_SWITCH_H
/* metag SWITCH codes */
#define __METAG_SW_PERM_BREAK 0x400002 /* compiled in breakpoint */
#define __METAG_SW_SYS_LEGACY 0x440000 /* legacy system calls */
#define __METAG_SW_SYS 0x440001 /* system calls */
/* metag SWITCH instruction encoding */
#define __METAG_SW_ENCODING(TYPE) (0xaf000000 | (__METAG_SW_##TYPE))
#endif /* _ASM_METAG_SWITCH_H */