From ee92c0fe5c1b9d59508273916e2c9a75b68dbc13 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 21 Apr 2016 01:25:29 +0200 Subject: nds32: add support for new architecture Add support for Andes Technology NDS32 architecture. See here http://www.andestech.com/en/index/index.htm for more informaton. Verification of the port from an older uClibc port was done on a sponsored AG101p board. The testsuite only has 5 errors, three are related to an existing bug in dlclose() with LT.old, also happening on cris32 and m68k. Failures to fallocate/posix_fallocate are unresolved. Thanks to Andes Technology sponsoring the hardware and being very helpful while doing the uClibc-ng porting. Signed-off-by: Waldemar Brodkorb --- libc/sysdeps/linux/nds32/bits/sigcontext.h | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 libc/sysdeps/linux/nds32/bits/sigcontext.h (limited to 'libc/sysdeps/linux/nds32/bits/sigcontext.h') diff --git a/libc/sysdeps/linux/nds32/bits/sigcontext.h b/libc/sysdeps/linux/nds32/bits/sigcontext.h new file mode 100644 index 000000000..759b85df1 --- /dev/null +++ b/libc/sysdeps/linux/nds32/bits/sigcontext.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2016 Andes Technology, Inc. + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#ifndef sigcontext_struct +#define sigcontext_struct sigcontext + +struct sigcontext{ + unsigned long trap_no; + unsigned long error_code; + unsigned long oldmask; + unsigned long nds32_r0; + unsigned long nds32_r1; + unsigned long nds32_r2; + unsigned long nds32_r3; + unsigned long nds32_r4; + unsigned long nds32_r5; + unsigned long nds32_r6; + unsigned long nds32_r7; + unsigned long nds32_r8; + unsigned long nds32_r9; + unsigned long nds32_r10; + unsigned long nds32_r11; + unsigned long nds32_r12; + unsigned long nds32_r13; + unsigned long nds32_r14; + unsigned long nds32_r15; + unsigned long nds32_r16; + unsigned long nds32_r17; + unsigned long nds32_r18; + unsigned long nds32_r19; + unsigned long nds32_r20; + unsigned long nds32_r21; + unsigned long nds32_r22; + unsigned long nds32_r23; + unsigned long nds32_r24; + unsigned long nds32_r25; + unsigned long nds32_fp; //r28 + unsigned long nds32_gp; //r29 + unsigned long nds32_lr; //r30 + unsigned long nds32_sp; //r31 + unsigned long nds32_d1lo; + unsigned long nds32_d1hi; + unsigned long nds32_d0lo; + unsigned long nds32_d0hi; + unsigned long nds32_ipsw; + unsigned long nds32_ipc; + unsigned long fault_address; +}; + +#define sc_pc nds32_ipc /* For sysdeps/generic/profil-counter.h. */ + +#endif /* sigcontext_struct */ + +#endif /* _BITS_SIGCONTEXT_H */ -- cgit v1.2.3