forked from Imagelibrary/rtems
Compare commits
15 Commits
4.5.1-pre2
...
4.5.1-pre3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b5b5deffe | ||
|
|
636ef9a103 | ||
|
|
b09580859c | ||
|
|
09b3a2facd | ||
|
|
f3dc8e62bc | ||
|
|
21766bd609 | ||
|
|
1fd366130f | ||
|
|
a637c087f4 | ||
|
|
3fe8f44b92 | ||
|
|
ec1e4f4f87 | ||
|
|
f883132802 | ||
|
|
410b18c1f3 | ||
|
|
7d573e9e15 | ||
|
|
e7585ed517 | ||
|
|
2b1d6de02c |
@@ -109,7 +109,7 @@ typedef Objects_Control ITRON_Objects_Control;
|
||||
*/
|
||||
|
||||
#define _ITRON_Objects_Get( _the_information, _id, _the_object ) \
|
||||
_Objects_Get( (_the_information), (_id), (_the_object) )
|
||||
_Objects_Get_by_index( (_the_information), (_id), (_the_object) )
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -67,39 +67,49 @@
|
||||
.set GP_PC, (GP_CR + 4)
|
||||
.set GP_MSR, (GP_PC + 4)
|
||||
|
||||
#if (PPC_HAS_DOUBLE==1)
|
||||
.set FP_SIZE, 8
|
||||
#define LDF lfd
|
||||
#define STF stfd
|
||||
#else
|
||||
.set FP_SIZE, 4
|
||||
#define LDF lfs
|
||||
#define STF stfs
|
||||
#endif
|
||||
|
||||
.set FP_0, 0
|
||||
.set FP_1, (FP_0 + 4)
|
||||
.set FP_2, (FP_1 + 4)
|
||||
.set FP_3, (FP_2 + 4)
|
||||
.set FP_4, (FP_3 + 4)
|
||||
.set FP_5, (FP_4 + 4)
|
||||
.set FP_6, (FP_5 + 4)
|
||||
.set FP_7, (FP_6 + 4)
|
||||
.set FP_8, (FP_7 + 4)
|
||||
.set FP_9, (FP_8 + 4)
|
||||
.set FP_10, (FP_9 + 4)
|
||||
.set FP_11, (FP_10 + 4)
|
||||
.set FP_12, (FP_11 + 4)
|
||||
.set FP_13, (FP_12 + 4)
|
||||
.set FP_14, (FP_13 + 4)
|
||||
.set FP_15, (FP_14 + 4)
|
||||
.set FP_16, (FP_15 + 4)
|
||||
.set FP_17, (FP_16 + 4)
|
||||
.set FP_18, (FP_17 + 4)
|
||||
.set FP_19, (FP_18 + 4)
|
||||
.set FP_20, (FP_19 + 4)
|
||||
.set FP_21, (FP_20 + 4)
|
||||
.set FP_22, (FP_21 + 4)
|
||||
.set FP_23, (FP_22 + 4)
|
||||
.set FP_24, (FP_23 + 4)
|
||||
.set FP_25, (FP_24 + 4)
|
||||
.set FP_26, (FP_25 + 4)
|
||||
.set FP_27, (FP_26 + 4)
|
||||
.set FP_28, (FP_27 + 4)
|
||||
.set FP_29, (FP_28 + 4)
|
||||
.set FP_30, (FP_29 + 4)
|
||||
.set FP_31, (FP_30 + 4)
|
||||
.set FP_FPSCR, (FP_31 + 4)
|
||||
.set FP_1, (FP_0 + FP_SIZE)
|
||||
.set FP_2, (FP_1 + FP_SIZE)
|
||||
.set FP_3, (FP_2 + FP_SIZE)
|
||||
.set FP_4, (FP_3 + FP_SIZE)
|
||||
.set FP_5, (FP_4 + FP_SIZE)
|
||||
.set FP_6, (FP_5 + FP_SIZE)
|
||||
.set FP_7, (FP_6 + FP_SIZE)
|
||||
.set FP_8, (FP_7 + FP_SIZE)
|
||||
.set FP_9, (FP_8 + FP_SIZE)
|
||||
.set FP_10, (FP_9 + FP_SIZE)
|
||||
.set FP_11, (FP_10 + FP_SIZE)
|
||||
.set FP_12, (FP_11 + FP_SIZE)
|
||||
.set FP_13, (FP_12 + FP_SIZE)
|
||||
.set FP_14, (FP_13 + FP_SIZE)
|
||||
.set FP_15, (FP_14 + FP_SIZE)
|
||||
.set FP_16, (FP_15 + FP_SIZE)
|
||||
.set FP_17, (FP_16 + FP_SIZE)
|
||||
.set FP_18, (FP_17 + FP_SIZE)
|
||||
.set FP_19, (FP_18 + FP_SIZE)
|
||||
.set FP_20, (FP_19 + FP_SIZE)
|
||||
.set FP_21, (FP_20 + FP_SIZE)
|
||||
.set FP_22, (FP_21 + FP_SIZE)
|
||||
.set FP_23, (FP_22 + FP_SIZE)
|
||||
.set FP_24, (FP_23 + FP_SIZE)
|
||||
.set FP_25, (FP_24 + FP_SIZE)
|
||||
.set FP_26, (FP_25 + FP_SIZE)
|
||||
.set FP_27, (FP_26 + FP_SIZE)
|
||||
.set FP_28, (FP_27 + FP_SIZE)
|
||||
.set FP_29, (FP_28 + FP_SIZE)
|
||||
.set FP_30, (FP_29 + FP_SIZE)
|
||||
.set FP_31, (FP_30 + FP_SIZE)
|
||||
.set FP_FPSCR, (FP_31 + FP_SIZE)
|
||||
|
||||
.set IP_LINK, 0
|
||||
.set IP_0, (IP_LINK + 8)
|
||||
@@ -152,40 +162,40 @@
|
||||
PROC (_CPU_Context_save_fp):
|
||||
#if (PPC_HAS_FPU == 1)
|
||||
lwz r3, 0(r3)
|
||||
stfs f0, FP_0(r3)
|
||||
stfs f1, FP_1(r3)
|
||||
stfs f2, FP_2(r3)
|
||||
stfs f3, FP_3(r3)
|
||||
stfs f4, FP_4(r3)
|
||||
stfs f5, FP_5(r3)
|
||||
stfs f6, FP_6(r3)
|
||||
stfs f7, FP_7(r3)
|
||||
stfs f8, FP_8(r3)
|
||||
stfs f9, FP_9(r3)
|
||||
stfs f10, FP_10(r3)
|
||||
stfs f11, FP_11(r3)
|
||||
stfs f12, FP_12(r3)
|
||||
stfs f13, FP_13(r3)
|
||||
stfs f14, FP_14(r3)
|
||||
stfs f15, FP_15(r3)
|
||||
stfs f16, FP_16(r3)
|
||||
stfs f17, FP_17(r3)
|
||||
stfs f18, FP_18(r3)
|
||||
stfs f19, FP_19(r3)
|
||||
stfs f20, FP_20(r3)
|
||||
stfs f21, FP_21(r3)
|
||||
stfs f22, FP_22(r3)
|
||||
stfs f23, FP_23(r3)
|
||||
stfs f24, FP_24(r3)
|
||||
stfs f25, FP_25(r3)
|
||||
stfs f26, FP_26(r3)
|
||||
stfs f27, FP_27(r3)
|
||||
stfs f28, FP_28(r3)
|
||||
stfs f29, FP_29(r3)
|
||||
stfs f30, FP_30(r3)
|
||||
stfs f31, FP_31(r3)
|
||||
STF f0, FP_0(r3)
|
||||
STF f1, FP_1(r3)
|
||||
STF f2, FP_2(r3)
|
||||
STF f3, FP_3(r3)
|
||||
STF f4, FP_4(r3)
|
||||
STF f5, FP_5(r3)
|
||||
STF f6, FP_6(r3)
|
||||
STF f7, FP_7(r3)
|
||||
STF f8, FP_8(r3)
|
||||
STF f9, FP_9(r3)
|
||||
STF f10, FP_10(r3)
|
||||
STF f11, FP_11(r3)
|
||||
STF f12, FP_12(r3)
|
||||
STF f13, FP_13(r3)
|
||||
STF f14, FP_14(r3)
|
||||
STF f15, FP_15(r3)
|
||||
STF f16, FP_16(r3)
|
||||
STF f17, FP_17(r3)
|
||||
STF f18, FP_18(r3)
|
||||
STF f19, FP_19(r3)
|
||||
STF f20, FP_20(r3)
|
||||
STF f21, FP_21(r3)
|
||||
STF f22, FP_22(r3)
|
||||
STF f23, FP_23(r3)
|
||||
STF f24, FP_24(r3)
|
||||
STF f25, FP_25(r3)
|
||||
STF f26, FP_26(r3)
|
||||
STF f27, FP_27(r3)
|
||||
STF f28, FP_28(r3)
|
||||
STF f29, FP_29(r3)
|
||||
STF f30, FP_30(r3)
|
||||
STF f31, FP_31(r3)
|
||||
mffs f2
|
||||
stfs f2, FP_FPSCR(r3)
|
||||
STF f2, FP_FPSCR(r3)
|
||||
#endif
|
||||
blr
|
||||
|
||||
@@ -207,40 +217,40 @@ PROC (_CPU_Context_save_fp):
|
||||
PROC (_CPU_Context_restore_fp):
|
||||
#if (PPC_HAS_FPU == 1)
|
||||
lwz r3, 0(r3)
|
||||
lfs f2, FP_FPSCR(r3)
|
||||
LDF f2, FP_FPSCR(r3)
|
||||
mtfsf 255, f2
|
||||
lfs f0, FP_0(r3)
|
||||
lfs f1, FP_1(r3)
|
||||
lfs f2, FP_2(r3)
|
||||
lfs f3, FP_3(r3)
|
||||
lfs f4, FP_4(r3)
|
||||
lfs f5, FP_5(r3)
|
||||
lfs f6, FP_6(r3)
|
||||
lfs f7, FP_7(r3)
|
||||
lfs f8, FP_8(r3)
|
||||
lfs f9, FP_9(r3)
|
||||
lfs f10, FP_10(r3)
|
||||
lfs f11, FP_11(r3)
|
||||
lfs f12, FP_12(r3)
|
||||
lfs f13, FP_13(r3)
|
||||
lfs f14, FP_14(r3)
|
||||
lfs f15, FP_15(r3)
|
||||
lfs f16, FP_16(r3)
|
||||
lfs f17, FP_17(r3)
|
||||
lfs f18, FP_18(r3)
|
||||
lfs f19, FP_19(r3)
|
||||
lfs f20, FP_20(r3)
|
||||
lfs f21, FP_21(r3)
|
||||
lfs f22, FP_22(r3)
|
||||
lfs f23, FP_23(r3)
|
||||
lfs f24, FP_24(r3)
|
||||
lfs f25, FP_25(r3)
|
||||
lfs f26, FP_26(r3)
|
||||
lfs f27, FP_27(r3)
|
||||
lfs f28, FP_28(r3)
|
||||
lfs f29, FP_29(r3)
|
||||
lfs f30, FP_30(r3)
|
||||
lfs f31, FP_31(r3)
|
||||
LDF f0, FP_0(r3)
|
||||
LDF f1, FP_1(r3)
|
||||
LDF f2, FP_2(r3)
|
||||
LDF f3, FP_3(r3)
|
||||
LDF f4, FP_4(r3)
|
||||
LDF f5, FP_5(r3)
|
||||
LDF f6, FP_6(r3)
|
||||
LDF f7, FP_7(r3)
|
||||
LDF f8, FP_8(r3)
|
||||
LDF f9, FP_9(r3)
|
||||
LDF f10, FP_10(r3)
|
||||
LDF f11, FP_11(r3)
|
||||
LDF f12, FP_12(r3)
|
||||
LDF f13, FP_13(r3)
|
||||
LDF f14, FP_14(r3)
|
||||
LDF f15, FP_15(r3)
|
||||
LDF f16, FP_16(r3)
|
||||
LDF f17, FP_17(r3)
|
||||
LDF f18, FP_18(r3)
|
||||
LDF f19, FP_19(r3)
|
||||
LDF f20, FP_20(r3)
|
||||
LDF f21, FP_21(r3)
|
||||
LDF f22, FP_22(r3)
|
||||
LDF f23, FP_23(r3)
|
||||
LDF f24, FP_24(r3)
|
||||
LDF f25, FP_25(r3)
|
||||
LDF f26, FP_26(r3)
|
||||
LDF f27, FP_27(r3)
|
||||
LDF f28, FP_28(r3)
|
||||
LDF f29, FP_29(r3)
|
||||
LDF f30, FP_30(r3)
|
||||
LDF f31, FP_31(r3)
|
||||
#endif
|
||||
blr
|
||||
|
||||
|
||||
@@ -443,6 +443,12 @@ Objects_Control *_Objects_Get (
|
||||
Objects_Locations *location
|
||||
);
|
||||
|
||||
Objects_Control *_Objects_Get_by_index (
|
||||
Objects_Information *information,
|
||||
Objects_Id id,
|
||||
Objects_Locations *location
|
||||
);
|
||||
|
||||
/*
|
||||
* _Objects_Get_next
|
||||
*
|
||||
|
||||
@@ -111,8 +111,10 @@ RTEMS_INLINE_ROUTINE void _Thread_Unblock (
|
||||
|
||||
RTEMS_INLINE_ROUTINE void _Thread_Restart_self( void )
|
||||
{
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
if ( _Thread_Executing->fp_context != NULL )
|
||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||
#endif
|
||||
|
||||
_CPU_Context_Restart_self( &_Thread_Executing->Registers );
|
||||
}
|
||||
@@ -144,12 +146,14 @@ RTEMS_INLINE_ROUTINE void _Thread_Calculate_heir( void )
|
||||
* FALSE otherwise.
|
||||
*/
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
RTEMS_INLINE_ROUTINE boolean _Thread_Is_allocated_fp (
|
||||
Thread_Control *the_thread
|
||||
)
|
||||
{
|
||||
return ( the_thread == _Thread_Allocated_fp );
|
||||
}
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
@@ -161,10 +165,12 @@ RTEMS_INLINE_ROUTINE boolean _Thread_Is_allocated_fp (
|
||||
* point context is now longer associated with an active thread.
|
||||
*/
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
|
||||
{
|
||||
_Thread_Allocated_fp = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
#define _Thread_Restart_self() \
|
||||
{ \
|
||||
if ( _Thread_Executing->fp_context != NULL ) \
|
||||
@@ -74,6 +75,12 @@
|
||||
\
|
||||
_CPU_Context_Restart_self( &_Thread_Executing->Registers ); \
|
||||
}
|
||||
#else
|
||||
#define _Thread_Restart_self() \
|
||||
{ \
|
||||
_CPU_Context_Restart_self( &_Thread_Executing->Registers ); \
|
||||
}
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
@@ -96,8 +103,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
#define _Thread_Is_allocated_fp( _the_thread ) \
|
||||
( (_the_thread) == _Thread_Allocated_fp )
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
@@ -105,8 +114,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
#define _Thread_Deallocate_fp() \
|
||||
_Thread_Allocated_fp = NULL
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
|
||||
@@ -53,11 +53,18 @@ Objects_Control *_Objects_Get(
|
||||
Objects_Control *the_object;
|
||||
unsigned32 index;
|
||||
|
||||
index = _Objects_Get_index( id );
|
||||
#if defined(RTEMS_MULTIPROCESSING)
|
||||
index = id - information->minimum_id + 1;
|
||||
#else
|
||||
/* index = _Objects_Get_index( id ); */
|
||||
index = id & 0x0000ffff;
|
||||
/* This should work but doesn't always :( */
|
||||
/* index = (unsigned16) id; */
|
||||
#endif
|
||||
|
||||
if ( information->maximum >= index ) {
|
||||
_Thread_Disable_dispatch();
|
||||
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
|
||||
if ( (the_object = information->local_table[ index ]) != NULL ) {
|
||||
*location = OBJECTS_LOCAL;
|
||||
return( the_object );
|
||||
}
|
||||
@@ -67,12 +74,7 @@ Objects_Control *_Objects_Get(
|
||||
}
|
||||
*location = OBJECTS_ERROR;
|
||||
#if defined(RTEMS_MULTIPROCESSING)
|
||||
_Objects_MP_Is_remote(
|
||||
information,
|
||||
_Objects_Build_id( information->the_class, _Objects_Local_node, index ),
|
||||
location,
|
||||
&the_object
|
||||
);
|
||||
_Objects_MP_Is_remote( information, id, location, &the_object );
|
||||
return the_object;
|
||||
#else
|
||||
return NULL;
|
||||
|
||||
@@ -53,6 +53,7 @@ void _Thread_Close(
|
||||
|
||||
_User_extensions_Thread_delete( the_thread );
|
||||
|
||||
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
|
||||
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
|
||||
if ( _Thread_Is_allocated_fp( the_thread ) )
|
||||
_Thread_Deallocate_fp();
|
||||
@@ -60,7 +61,8 @@ void _Thread_Close(
|
||||
the_thread->fp_context = NULL;
|
||||
|
||||
if ( the_thread->Start.fp_context )
|
||||
(void) _Workspace_Free( the_thread->Start.fp_context );
|
||||
(void) _Workspace_Free( the_thread->Start.fp_context );
|
||||
#endif
|
||||
|
||||
_Thread_Stack_Free( the_thread );
|
||||
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __SIS_h
|
||||
#define __SIS_h
|
||||
#ifndef __ERC32_BSP_h
|
||||
#define __ERC32_BSP_h
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -90,16 +91,19 @@ extern "C" {
|
||||
#else /* use a regular asynchronous trap */
|
||||
|
||||
#define TEST_INTERRUPT_SOURCE ERC32_INTERRUPT_EXTERNAL_1
|
||||
#define TEST_INTERRUPT_SOURCE2 (ERC32_INTERRUPT_EXTERNAL_1+1)
|
||||
#define TEST_VECTOR ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
|
||||
#define TEST_VECTOR2 ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
#define Install_tm27_vector( handler ) \
|
||||
set_vector( (handler), TEST_VECTOR, 1 );
|
||||
set_vector( (handler), TEST_VECTOR, 1 ); \
|
||||
set_vector( (handler), TEST_VECTOR2, 1 );
|
||||
|
||||
#define Cause_tm27_intr() \
|
||||
do { \
|
||||
ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
|
||||
ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
|
||||
nop(); \
|
||||
nop(); \
|
||||
nop(); \
|
||||
|
||||
@@ -29,7 +29,8 @@ int chdir(
|
||||
* Get the node where we wish to go.
|
||||
*/
|
||||
|
||||
result = rtems_filesystem_evaluate_path( pathname, 0, &loc, TRUE );
|
||||
result = rtems_filesystem_evaluate_path(
|
||||
pathname, RTEMS_LIBIO_PERMS_SEARCH, &loc, TRUE );
|
||||
if ( result != 0 )
|
||||
return -1;
|
||||
|
||||
|
||||
@@ -175,19 +175,11 @@ int imfs_dir_lseek(
|
||||
int whence
|
||||
)
|
||||
{
|
||||
off_t normal_offset;
|
||||
|
||||
normal_offset = (offset/sizeof(struct dirent)) * sizeof(struct dirent);
|
||||
|
||||
|
||||
switch( whence )
|
||||
{
|
||||
case SEEK_SET: /* absolute move from the start of the file */
|
||||
iop->offset = normal_offset;
|
||||
break;
|
||||
|
||||
case SEEK_CUR: /* relative move */
|
||||
iop->offset = iop->offset + normal_offset;
|
||||
iop->offset = (offset/sizeof(struct dirent)) * sizeof(struct dirent);
|
||||
break;
|
||||
|
||||
case SEEK_END: /* Movement past the end of the directory via lseek */
|
||||
|
||||
@@ -324,30 +324,19 @@ rtems_termios_close (void *arg)
|
||||
drainOutput (tty);
|
||||
if (tty->device.lastClose)
|
||||
(*tty->device.lastClose)(tty->major, tty->minor, arg);
|
||||
if (tty->forw == NULL) {
|
||||
if (tty->forw == NULL)
|
||||
rtems_termios_ttyTail = tty->back;
|
||||
if ( rtems_termios_ttyTail != NULL ) {
|
||||
rtems_termios_ttyTail->forw = NULL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else
|
||||
tty->forw->back = tty->back;
|
||||
}
|
||||
if (tty->back == NULL) {
|
||||
if (tty->back == NULL)
|
||||
rtems_termios_ttyHead = tty->forw;
|
||||
if ( rtems_termios_ttyHead != NULL ) {
|
||||
rtems_termios_ttyHead->back = NULL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else
|
||||
tty->back->forw = tty->forw;
|
||||
}
|
||||
rtems_semaphore_delete (tty->isem);
|
||||
rtems_semaphore_delete (tty->osem);
|
||||
rtems_semaphore_delete (tty->rawOutBufSemaphore);
|
||||
if (!tty->device.pollRead)
|
||||
rtems_semaphore_delete (tty->rawInBufSemaphore);
|
||||
free (tty->cbuf);
|
||||
free (tty);
|
||||
}
|
||||
rtems_semaphore_release (rtems_termios_ttyMutex);
|
||||
|
||||
@@ -32,8 +32,9 @@ include $(top_srcdir)/libtests.am
|
||||
# (OPTIONAL) Add local stuff here using +=
|
||||
#
|
||||
|
||||
LD_LIBS += -lrtems++$(LIB_VARIANT)
|
||||
|
||||
if HAS_CXX
|
||||
LD_LIBS += -lrtems++
|
||||
|
||||
${PGM}: $(OBJS) $(LINK_FILES)
|
||||
$(make-cxx-exe)
|
||||
|
||||
@@ -26,5 +26,5 @@ rtems_timer_service_routine Delayed_send_event(
|
||||
rtems_status_code status;
|
||||
|
||||
status = rtems_event_send( Task_id[ 1 ], RTEMS_EVENT_16 );
|
||||
directive_failed( status, "rtems_event_send" );
|
||||
directive_failed_with_level( status, "rtems_event_send", 1 );
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ rtems_task Test_task2(
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TASKS 3
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
|
||||
@@ -29,5 +29,5 @@ rtems_timer_service_routine Delayed_send_event(
|
||||
Task_id[ rtems_get_index( timer_id ) ],
|
||||
RTEMS_EVENT_16
|
||||
);
|
||||
directive_failed( status, "rtems_event_send" );
|
||||
fatal_directive_check_status_only( status, RTEMS_SUCCESSFUL, "rtems_event_send" );
|
||||
}
|
||||
|
||||
@@ -481,9 +481,12 @@ void Cause_faults()
|
||||
assert( errno == EPERM );
|
||||
|
||||
/*
|
||||
* Try to chdir to a file.
|
||||
* Change file to executable then try to chdir to it.
|
||||
*/
|
||||
|
||||
status = chmod( Files[0], S_IXUSR );
|
||||
assert( status != -1 );
|
||||
|
||||
printf("chdir to a file should fail with ENOTDIR\n");
|
||||
status = chdir( Files[0] );
|
||||
assert( status == -1 );
|
||||
|
||||
@@ -30,6 +30,7 @@ void task1(void);
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 5
|
||||
#define CONFIGURE_MAXIMUM_REGIONS 1
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS (RTEMS_MINIMUM_STACK_SIZE * 4)
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
|
||||
@@ -62,15 +62,20 @@ extern "C" {
|
||||
#define fatal_directive_status( _stat, _desired, _msg ) \
|
||||
fatal_directive_status_with_level( _stat, _desired, _msg, 0 )
|
||||
|
||||
#define fatal_directive_status_with_level( _stat, _desired, _msg, _level ) \
|
||||
#define fatal_directive_check_status_only( _stat, _desired, _msg ) \
|
||||
do { \
|
||||
check_dispatch_disable_level( _level ); \
|
||||
if ( (_stat) != (_desired) ) { \
|
||||
printf( "\n%s FAILED -- expected (%s) got (%s)\n", \
|
||||
(_msg), rtems_status_text(_desired), rtems_status_text(_stat) ); \
|
||||
fflush(stdout); \
|
||||
exit( _stat ); \
|
||||
} \
|
||||
} while ( 0 )
|
||||
|
||||
#define fatal_directive_status_with_level( _stat, _desired, _msg, _level ) \
|
||||
do { \
|
||||
check_dispatch_disable_level( _level ); \
|
||||
fatal_directive_check_status_only( _stat, _desired, _msg ); \
|
||||
} while ( 0 )
|
||||
|
||||
/*
|
||||
|
||||
@@ -34,6 +34,7 @@ volatile rtems_unsigned32 Interrupt_occurred;
|
||||
volatile rtems_unsigned32 Interrupt_enter_time, Interrupt_enter_nested_time;
|
||||
volatile rtems_unsigned32 Interrupt_return_time, Interrupt_return_nested_time;
|
||||
rtems_unsigned32 Interrupt_nest;
|
||||
rtems_unsigned32 timer_overhead;
|
||||
|
||||
rtems_isr Isr_handler(
|
||||
rtems_vector_number vector
|
||||
@@ -75,6 +76,11 @@ rtems_task Init(
|
||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
||||
directive_failed( status, "rtems_task_start of Task_2" );
|
||||
|
||||
Timer_initialize();
|
||||
Read_timer();
|
||||
Timer_initialize();
|
||||
timer_overhead = Read_timer();
|
||||
|
||||
status = rtems_task_delete( RTEMS_SELF );
|
||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
||||
}
|
||||
@@ -94,8 +100,9 @@ rtems_task Task_1(
|
||||
_Thread_Dispatch_disable_level = 0;
|
||||
|
||||
Interrupt_occurred = 0;
|
||||
|
||||
Timer_initialize();
|
||||
Cause_tm27_intr();
|
||||
Cause_tm27_intr();
|
||||
/* goes to Isr_handler */
|
||||
|
||||
#if (MUST_WAIT_FOR_INTERRUPT == 1)
|
||||
@@ -108,7 +115,7 @@ rtems_task Task_1(
|
||||
Interrupt_enter_time,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
timer_overhead
|
||||
);
|
||||
|
||||
put_time(
|
||||
@@ -116,7 +123,7 @@ rtems_task Task_1(
|
||||
Interrupt_return_time,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
timer_overhead
|
||||
);
|
||||
|
||||
/*
|
||||
@@ -129,7 +136,7 @@ rtems_task Task_1(
|
||||
|
||||
Interrupt_occurred = 0;
|
||||
Timer_initialize();
|
||||
Cause_tm27_intr();
|
||||
Cause_tm27_intr();
|
||||
/* goes to Isr_handler */
|
||||
|
||||
#if (MUST_WAIT_FOR_INTERRUPT == 1)
|
||||
@@ -165,7 +172,7 @@ rtems_task Task_1(
|
||||
|
||||
Interrupt_occurred = 0;
|
||||
Timer_initialize();
|
||||
Cause_tm27_intr();
|
||||
Cause_tm27_intr();
|
||||
|
||||
/*
|
||||
* goes to Isr_handler and then returns
|
||||
@@ -197,7 +204,7 @@ rtems_task Task_2(
|
||||
Interrupt_enter_time,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
timer_overhead
|
||||
);
|
||||
|
||||
put_time(
|
||||
@@ -256,7 +263,7 @@ void Isr_handler_inner( void )
|
||||
Interrupt_occurred = 0;
|
||||
Lower_tm27_intr();
|
||||
Timer_initialize();
|
||||
Cause_tm27_intr();
|
||||
Cause_tm27_intr();
|
||||
/* goes to a nested copy of Isr_handler */
|
||||
#if (MUST_WAIT_FOR_INTERRUPT == 1)
|
||||
while ( Interrupt_occurred == 0 );
|
||||
|
||||
@@ -1,2 +1,16 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.*
|
||||
configure
|
||||
depcomp
|
||||
index.html
|
||||
install-sh
|
||||
mdate-sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
rtems_footer.html
|
||||
rtems_header.html
|
||||
rtems_support.html
|
||||
texinfo.tex
|
||||
|
||||
9
doc/Makefile.am
Normal file
9
doc/Makefile.am
Normal file
@@ -0,0 +1,9 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
## NOTE: This is just a stub.
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
include $(top_srcdir)/automake/host.am
|
||||
Reference in New Issue
Block a user