mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
![James Hogan](/assets/img/avatar_default.png)
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>
21 lines
726 B
C
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 */
|