Commit Graph

34 Commits

Author SHA1 Message Date
Joel Sherrill
7741d7c8cc 2008-11-20 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1339/Ada
	* rtems.adb, rtems.ads: Re-add IO Manager to Ada binding.
2008-11-20 15:13:56 +00:00
Joel Sherrill
0442eed68c 2008-05-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Fix prototype.
2008-05-06 23:17:28 +00:00
Joel Sherrill
a2f56a44eb 2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Refactored rtems_clock_get into 5 methods
	which are single purpose and more strongly typed.  They are:
	    rtems_clock_get_tod - Get TOD in Classic API structure
	    rtems_clock_get_tod_timeval - Get TOD in struct timeval
	    rtems_clock_get_seconds_since_epoch - Get TOD as seconds since 1988
	    rtems_clock_get_ticks_since_boot - Get ticks since boot
	    rtems_clock_get_ticks_per_second - Get ticks per second
	Also switch from using 'Unchecked_Access to 'Access.
	Added pragma Convention C as required by gcc > 4.3.
	Changed style of parenthese on subprogram calls to match GNAT.
2008-03-11 20:12:09 +00:00
Joel Sherrill
209f190f90 2008-02-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Correct binding to Object_Get_Name. Now works.
2008-02-04 17:18:23 +00:00
Joel Sherrill
207b35efef 2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Object_Get_Name now has a proper implementation
	thanks to a binding tip from Laurent Guerby.
2008-02-01 22:48:17 +00:00
Joel Sherrill
8407b5e4af 2008-02-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Add Ada binding for Object Services.
2008-02-01 21:24:18 +00:00
Joel Sherrill
5ca28f6ae6 2007-12-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb: Add missing semicolon.
2007-12-04 22:16:17 +00:00
Glenn Humphrey
615563906a 2007-11-27 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* rtems.adb, rtems.ads: Fixed errors in the barrier binding.
2007-11-27 21:22:44 +00:00
Glenn Humphrey
d45b4a9802 2007-10-25 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* rtems.adb, rtems.ads: Added some more missing bindings.
2007-10-25 20:44:31 +00:00
Glenn Humphrey
29948d482f 2007-10-18 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* rtems.adb, rtems.ads: Added a missing binding.
2007-10-18 21:26:23 +00:00
Glenn Humphrey
d14963bf94 2007-10-10 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* rtems.adb, rtems.ads: Cleaned up binding and removed bindings for
	things that are not reasonable to do in Ada.
2007-10-10 20:46:33 +00:00
Joel Sherrill
f10fe70731 2007-10-01 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems.adb, rtems.ads: Most of single processor Ada tests now build.
	Some run.
2007-10-01 22:57:52 +00:00
Joel Sherrill
b26e1db6d7 2007-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb: Fix warnings.
2007-09-05 20:42:46 +00:00
Joel Sherrill
a6ec372127 2007-04-02 Jennifer Averett <jennifer.averrett@oarcorp.com>
* rtems.adb, rtems.ads: Update.
2007-04-02 20:53:05 +00:00
Joel Sherrill
cb19f3f8b2 2005-11-17 Joel Sherrill <joel@OARcorp.com>
* rtems.adb, rtems.ads: Remove initialization directives as
	rtems_initialize_executive is obsolete and the other initialization
	services should not be called from Ada anyway.
2005-11-17 14:29:23 +00:00
Joel Sherrill
cc1aee94cd 2005-05-23 Joel Sherrill <joel@OARcorp.com>
* rtems.adb: Fix variable name.
2005-05-23 17:15:26 +00:00
Joel Sherrill
80f2885b70 2005-05-14 Sergei Organov <osv@topconrd.ru>
PR 746/rtems
	Optimize realloc(). The problem is that realloc() can neither grow
	nor shrink efficiently the current memory region without support
	from underlying heap/region modules. The patch introduces one new
	routine for each of heap and region modules, _Heap_Resize_block(),
	and rtems_region_resize_segment(), respectively, and uses the
	latter to optimize realloc().

	The implementation of _Heap_Resize_block() lead to changing of the
	heap allocation strategy: now the heap manager, when splits larger
	free block into used and new free parts, makes the first part of
	the block used, not the last one as it was before. Due to this new
	strategy, _Heap_Resize_block() never needs to change the user
	pointer.

	Caveat: unlike previous heap implementation, first few bytes of
	the contents of the memory allocated from the heap are now almost
	never all zero. This can trigger bugs in client code that have not
	been visible before this patch.

	* libcsupport/src/malloc.c (realloc): try to resize segment in
	place using new rtems_region_resize_segment() routine before
	falling back to the malloc()/free() method.
	* score/src/heap.c:
	(_Heap_Initialize): change initial heap layout to reflect new
	allocation strategy of using of the lower part of a previously
	free block when splitting it for the purpose of allocation.
	(_Heap_Block_allocate): when split, make the lower part used, and
	leave the upper part free. Return type changed from Heap_Block* to
	uint32_t.
	* score/include/rtems/score/heap.h:
	(Heap_Statistics): added 'resizes' field.
	(Heap_Resize_status): new enum.
	(_Heap_Resize_block): new routine.
	(_Heap_Block_allocate): return type changed from Heap_Block* to
	uint32_t.
	* score/src/heapwalk.c: reflect new heap layout in checks.
	* score/src/heapsizeofuserarea.c: more assertions added.
	* score/src/heapresizeblock.c: new file.
	(_Heap_Resize_block): new routine.
	* score/src/heapfree.c: reverse the checks _Heap_Is_block_in() and
	_Heap_Is_prev_used() on entry to be in this order.
	* score/src/heapallocate.c, score/src/heapallocatealigned.c:
	ignore return value of _Heap_Block_allocate().
	* score/Makefile.am (HEAP_C_FILES): added src/heapresizeblock.c.
	* rtems/include/rtems/rtems/region.h:
	(rtems_region_resize_segment): new interface routine.
	(_Region_Process_queue): new internal routine called from
	rtems_region_resize_segment() and rtems_region_return_segment().
	* rtems/src/regionreturnsegment.c: move queue management code into
	the new internal routine _Region_Process_queue() and call it.

	* rtems/src/regionresizesegment.c: new file.
	(rtems_region_resize_segment): new interface routine.
	* rtems/src/regionprocessqueue.c: new file.
	(_Region_Process_queue): new internal routine containing queue
	management code factored out from 'regionreturnsegment.c'.
	* rtems/Makefile.am (REGION_C_FILES): Added
	src/regionresizesegment.c, and src/regionprocessqueue.c.
	* ada/rtems.adb, ada/rtems.ads: Added Region_Resize_Segment.
2005-05-20 19:15:41 +00:00
Joel Sherrill
901eef9a79 2005-05-03 Joel Sherrill <joel@OARcorp.com>
* rtems.adb: Remove gcc 4.x warnings.
2005-05-03 20:36:03 +00:00
Ralf Corsepius
6221625379 2005-05-02 Ralf Corsepius <ralf.corsepius@rtems.org>
PR 782/rtems
	* rtems.ads: Remove stray ';'.
	* rtems.adb: Stub Task_Variable_Add, Task_Variable_Get,
	Task_Variable_Delete.
2005-05-02 14:33:06 +00:00
Joel Sherrill
dcdb62d96c 2003-09-04 Joel Sherrill <joel@OARcorp.com>
* rtems-multiprocessing.adb, rtems-multiprocessing.ads, rtems.adb,
	rtems.ads: URL for license changed.
2003-09-04 18:53:57 +00:00
Joel Sherrill
47f6eea940 2003-07-08 Joel Sherrill <joel@OARcorp.com>
PR 418/ada
	* rtems.adb: Add missing all keyword to derefence pointer.
2003-07-08 16:38:33 +00:00
Joel Sherrill
81968b9a6e 2003-02-03 Joel Sherrill <joel@OARcorp.com>
PR 338/filesystem
	* rtems.adb, rtems.ads: Side-effect of fixing reentrancy problem with
	rtems_io_lookup_name() (API change).
2003-02-03 23:57:10 +00:00
Joel Sherrill
182e9f8e3d 2002-08-30 Joel Sherrill <joel@OARcorp.com>
* rtems.adb (IO_Initialize): Make this match the C prototype.
2002-08-30 12:07:54 +00:00
Joel Sherrill
7003847359 2001-02-01 Joel Sherrill <joel@OARcorp.com>
* rtems.ads, rtems.adb: Formatting cleaned up.  Task based timer
	directives added.  This is Timer_Initiate_Server,
	Timer_Server_Fire_After, and Timer_Server_Fire_When.
2002-02-01 18:58:21 +00:00
Joel Sherrill
8f2cf93145 Added Semaphore_Flush. 1999-10-21 14:49:24 +00:00
Joel Sherrill
1e3e81fdb6 Added Is_Suspended method. 1999-10-07 16:17:41 +00:00
Joel Sherrill
63cebf6ce8 Fixed typos. 1997-09-30 14:44:28 +00:00
Joel Sherrill
ad9250cfe3 Fixed IO Manager calls to remove an argument which was used in 3.2.1
but not in newer RTEMS.
1997-08-28 22:23:10 +00:00
Joel Sherrill
0b172df9f0 fixed milliseconds and microseconds to tick conversion routines. 1997-07-10 20:23:27 +00:00
Joel Sherrill
6666ea8875 Added True and False constants for RTEMS.Boolean types. This necessitated
making sure every True/False reference was fully qualified.
1997-06-03 18:07:30 +00:00
Joel Sherrill
d348ad96d5 added more constants and fixed numer 1997-06-03 15:11:39 +00:00
Joel Sherrill
a6b44a8a63 added Signal constants, Is_Status_Successful, and Attribute constants. 1997-06-03 00:55:42 +00:00
Joel Sherrill
7e3dcbc175 added rtems_interrupt_level_attribute routien to return a properly
shifted interrupt_level attribute field and RTEMS_INTERRUPT_MASK.
1997-06-03 00:33:48 +00:00
Joel Sherrill
f3f06f79c3 added new files from test area.
This code has successfully been used to run sp01.
1997-06-02 20:52:48 +00:00