csky: Exception handling and mm-fault

This patch adds exception handling code, cpuinfo and mm-fault code.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Guo Ren
2018-09-05 14:25:08 +08:00
parent 9143a9359d
commit 081860b970
9 changed files with 1546 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
/* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
#ifndef __ASM_CSKY_TRAPS_H
#define __ASM_CSKY_TRAPS_H
#define VEC_RESET 0
#define VEC_ALIGN 1
#define VEC_ACCESS 2
#define VEC_ZERODIV 3
#define VEC_ILLEGAL 4
#define VEC_PRIV 5
#define VEC_TRACE 6
#define VEC_BREAKPOINT 7
#define VEC_UNRECOVER 8
#define VEC_SOFTRESET 9
#define VEC_AUTOVEC 10
#define VEC_FAUTOVEC 11
#define VEC_HWACCEL 12
#define VEC_TLBMISS 14
#define VEC_TLBMODIFIED 15
#define VEC_TRAP0 16
#define VEC_TRAP1 17
#define VEC_TRAP2 18
#define VEC_TRAP3 19
#define VEC_TLBINVALIDL 20
#define VEC_TLBINVALIDS 21
#define VEC_PRFL 29
#define VEC_FPE 30
extern void *vec_base[];
#define VEC_INIT(i, func) \
do { \
vec_base[i] = (void *)func; \
} while (0)
void csky_alignment(struct pt_regs *regs);
#endif /* __ASM_CSKY_TRAPS_H */

View File

@@ -0,0 +1,4 @@
/* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
#include <uapi/asm/unistd.h>