summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2012-04-28 13:06:44 +1000
committerChris Johns <chrisj@rtems.org>2012-04-28 13:06:44 +1000
commitbb43b51e66e5ec8667eb6fddee970b2944a1ad09 (patch)
treecbf163f74205fbe44df319b7cc792d003d5bae70
parentIMFS: Update IMS_assert check when RTEMS_DEBUG is enabled. (diff)
parentUpdate config.guess and config.sub (diff)
downloadrtems-bb43b51e66e5ec8667eb6fddee970b2944a1ad09.tar.bz2
Merge branch 'master' of ssh://rgit/data/git/rtems
-rw-r--r--c/src/lib/libbsp/shared/include/stackalloc.h11
-rw-r--r--c/src/lib/libbsp/shared/src/stackalloc.c28
-rwxr-xr-xconfig.guess16
-rwxr-xr-xconfig.sub19
4 files changed, 48 insertions, 26 deletions
diff --git a/c/src/lib/libbsp/shared/include/stackalloc.h b/c/src/lib/libbsp/shared/include/stackalloc.h
index b8516ef85f..6ed898fa65 100644
--- a/c/src/lib/libbsp/shared/include/stackalloc.h
+++ b/c/src/lib/libbsp/shared/include/stackalloc.h
@@ -52,6 +52,12 @@ extern "C" {
*/
/**
+ * @brief Task stack allocator initialization for
+ * @ref CONFIGURE_TASK_STACK_ALLOCATOR_INIT.
+ */
+void bsp_stack_allocate_init(size_t stack_space_size);
+
+/**
* @brief Task stack allocator for @ref CONFIGURE_TASK_STACK_ALLOCATOR.
*
* In case the designated task stack space from bsp_stack_initialize() is
@@ -65,6 +71,11 @@ void *bsp_stack_allocate(size_t size);
void bsp_stack_free(void *stack);
/**
+ * @brief Task stack allocator initialization configuration option.
+ */
+#define CONFIGURE_TASK_STACK_ALLOCATOR_INIT bsp_stack_allocate_init
+
+/**
* @brief Task stack allocator configuration option.
*/
#define CONFIGURE_TASK_STACK_ALLOCATOR bsp_stack_allocate
diff --git a/c/src/lib/libbsp/shared/src/stackalloc.c b/c/src/lib/libbsp/shared/src/stackalloc.c
index be84057aae..b8d7b9cc2c 100644
--- a/c/src/lib/libbsp/shared/src/stackalloc.c
+++ b/c/src/lib/libbsp/shared/src/stackalloc.c
@@ -27,30 +27,26 @@
#include <bsp/linker-symbols.h>
-#define BSP_STACK_MAGIC 0xdeadbeef
+static Heap_Control bsp_stack_heap;
-static Heap_Control bsp_stack_heap = {
- .page_size = BSP_STACK_MAGIC
-};
+void bsp_stack_allocate_init(size_t stack_space_size)
+{
+ _Heap_Initialize(
+ &bsp_stack_heap,
+ bsp_section_stack_begin,
+ (uintptr_t) bsp_section_stack_size,
+ CPU_STACK_ALIGNMENT
+ );
+}
void *bsp_stack_allocate(size_t size)
{
void *stack = NULL;
- if (bsp_stack_heap.page_size == BSP_STACK_MAGIC) {
- uintptr_t rv = _Heap_Initialize(
- &bsp_stack_heap,
- bsp_section_stack_begin,
- (uintptr_t) bsp_section_stack_size,
- CPU_STACK_ALIGNMENT
- );
- if (rv == 0) {
- return NULL;
- }
+ if (bsp_stack_heap.area_begin != 0) {
+ stack = _Heap_Allocate(&bsp_stack_heap, size);
}
- stack = _Heap_Allocate(&bsp_stack_heap, size);
-
if (stack == NULL) {
stack = _Workspace_Allocate(size);
}
diff --git a/config.guess b/config.guess
index 49ba16f15c..d622a44e55 100755
--- a/config.guess
+++ b/config.guess
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2012-01-01'
+timestamp='2012-02-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2012-01-01'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -863,6 +861,13 @@ EOF
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -1320,6 +1325,9 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/config.sub b/config.sub
index d6b6b3c768..c894da4550 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2012-01-01'
+timestamp='2012-02-10'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2012-01-01'
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -132,6 +130,10 @@ case $maybe_os in
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -247,6 +249,7 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -319,7 +322,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -332,7 +335,10 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
-
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -355,6 +361,7 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \