mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-28 02:58:40 +08:00
Merge branch 'master' of ssh://rgit/data/git/rtems
This commit is contained in:
@@ -51,6 +51,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.
|
||||
*
|
||||
@@ -64,6 +70,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.
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Vendored
+12
-4
@@ -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
|
||||
|
||||
Vendored
+13
-6
@@ -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-* \
|
||||
|
||||
Reference in New Issue
Block a user