blob: c73c5400cfb506966a9903fe3d74ad395d1c0672 [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001From 2571df0e30b4976d7a12dbc6fbec4f1c4027924d Mon Sep 17 00:00:00 2001
2From: Marek Vasut <marex@denx.de>
3Date: Thu, 28 Jan 2016 04:13:13 +0100
4Subject: [PATCH] Altera NIOS2 support
5
6Add simple nios2 configuration support.
7
8* include/private/gcconfig.h (NIOS2): New macro.
9* include/private/gcconfig.h (mach_type_known, CPP_WORDSZ, MACH_TYPE,
10OS_TYPE, DYNAMIC_LOADING, _end, __data_start, DATASTART, DATAEND,
11ALIGNMENT, HBLKSIZE, HBLKSIZE, LINUX_STACKBOTTOM, NO_GETCONTEXT):
12Define for NIOS2.
13
14Signed-off-by: Marek Vasut <marex@denx.de>
15Upstream-Status: Backport [ https://github.com/ivmai/bdwgc.git 2571df0e30b4976d7a12dbc6fbec4f1c4027924d ]
16---
17 include/private/gcconfig.h | 24 +++++++++++++++++++++++-
18 1 file changed, 23 insertions(+), 1 deletion(-)
19
20diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
21index c467c26..92d4727 100644
22--- a/include/private/gcconfig.h
23+++ b/include/private/gcconfig.h
24@@ -181,6 +181,10 @@
25 # endif
26 # define mach_type_known
27 # endif
28+# if defined(__NIOS2__) || defined(__NIOS2) || defined(__nios2__)
29+# define NIOS2 /* Altera NIOS2 */
30+# define mach_type_known
31+# endif
32 # if defined(DGUX) && (defined(i386) || defined(__i386__))
33 # define I386
34 # ifndef _USING_DGUX
35@@ -1658,6 +1662,24 @@
36 # endif
37 # endif
38
39+# ifdef NIOS2
40+# define CPP_WORDSZ 32
41+# define MACH_TYPE "NIOS2"
42+# ifdef LINUX
43+# define OS_TYPE "LINUX"
44+# define DYNAMIC_LOADING
45+ extern int _end[];
46+ extern int __data_start[];
47+# define DATASTART ((ptr_t)(__data_start))
48+# define DATAEND ((ptr_t)(_end))
49+# define ALIGNMENT 4
50+# ifndef HBLKSIZE
51+# define HBLKSIZE 4096
52+# endif
53+# define LINUX_STACKBOTTOM
54+# endif /* Linux */
55+# endif
56+
57 # ifdef HP_PA
58 # define MACH_TYPE "HP_PA"
59 # ifdef __LP64__
60@@ -2622,6 +2644,7 @@
61 #if ((defined(UNIX_LIKE) && (defined(DARWIN) || defined(HURD) \
62 || defined(OPENBSD) || defined(ARM32) \
63- || defined(MIPS) || defined(AVR32))) \
64+ || defined(MIPS) || defined(AVR32) \
65+ || defined(NIOS2))) \
66 || (defined(LINUX) && (defined(SPARC) || defined(M68K))) \
67 || ((defined(RTEMS) || defined(PLATFORM_ANDROID)) && defined(I386))) \
68 && !defined(NO_GETCONTEXT)
69--
702.7.0
71