GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Andes Technology Corporation
|
||||
* Copyright (C) 2010 Shawn Lin (nobuhiro@andestech.com)
|
||||
* Copyright (C) 2011 Macpaul Lin (macpaul@andestech.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __ASM_NDS_PTRACE_H
|
||||
#define __ASM_NDS_PTRACE_H
|
||||
|
||||
#define USR_MODE 0x00
|
||||
#define SU_MODE 0x01
|
||||
#define HV_MODE 0x10
|
||||
#define MODE_MASK (0x03<<3)
|
||||
#define GIE_BIT 0x01
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/* this struct defines the way the registers are stored on the
|
||||
stack during a system call. */
|
||||
|
||||
#define NDS32_REG long
|
||||
|
||||
struct pt_regs {
|
||||
NDS32_REG ir0;
|
||||
NDS32_REG ipsw;
|
||||
NDS32_REG ipc;
|
||||
NDS32_REG sp;
|
||||
NDS32_REG orig_r0;
|
||||
NDS32_REG pipsw;
|
||||
NDS32_REG pipc;
|
||||
NDS32_REG pp0;
|
||||
NDS32_REG pp1;
|
||||
NDS32_REG d0hi;
|
||||
NDS32_REG d0lo;
|
||||
NDS32_REG d1hi;
|
||||
NDS32_REG d1lo;
|
||||
NDS32_REG r[26]; /* r0 - r25 */
|
||||
NDS32_REG p0; /* r26 - used by OS */
|
||||
NDS32_REG p1; /* r27 - used by OS */
|
||||
NDS32_REG fp; /* r28 */
|
||||
NDS32_REG gp; /* r29 */
|
||||
NDS32_REG lp; /* r30 */
|
||||
NDS32_REG fucop_ctl;
|
||||
NDS32_REG osp;
|
||||
};
|
||||
|
||||
#define processor_mode(regs) \
|
||||
(((regs)->ipsw & MODE_MASK) >> 3)
|
||||
|
||||
#define interrupts_enabled(regs) \
|
||||
((regs)->ipsw & GIE_BIT)
|
||||
|
||||
/*
|
||||
* Offsets used by 'ptrace' system call interface.
|
||||
* These can't be changed without breaking binary compatibility
|
||||
* with MkLinux, etc.
|
||||
*/
|
||||
#define PT_R0 0
|
||||
#define PT_R1 1
|
||||
#define PT_R2 2
|
||||
#define PT_R3 3
|
||||
#define PT_R4 4
|
||||
#define PT_R5 5
|
||||
#define PT_R6 6
|
||||
#define PT_R7 7
|
||||
#define PT_R8 8
|
||||
#define PT_R9 9
|
||||
#define PT_R10 10
|
||||
#define PT_R11 11
|
||||
#define PT_R12 12
|
||||
#define PT_R13 13
|
||||
#define PT_R14 14
|
||||
#define PT_R15 15
|
||||
#define PT_R16 16
|
||||
#define PT_R17 17
|
||||
#define PT_R18 18
|
||||
#define PT_R19 19
|
||||
#define PT_R20 20
|
||||
#define PT_R21 21
|
||||
#define PT_R22 22
|
||||
#define PT_R23 23
|
||||
#define PT_R24 24
|
||||
#define PT_R25 25
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* __ASM_NDS_PTRACE_H */
|
||||
Reference in New Issue
Block a user