Commit Graph

28037 Commits

Author SHA1 Message Date
Sebastian Huber
f60b4f9344 dosfs: Fix warning fix 2015-04-27 09:10:49 +02:00
Hesham ALMatary
3dead51edd Fix or1k C++ build failure
Closes #2329
2015-04-26 12:44:12 -05:00
Sebastian Huber
d83127e9bd posix: Use right thread dispatch disable function 2015-04-24 08:36:52 +02:00
Sebastian Huber
f32935335a score: Fix POSIX thread join
A thread join is twofold.  There is one thread that exists and an
arbitrary number of threads that wait for the thread exit (one-to-many
relation).  The exiting thread may want to wait for a thread that wants
to join its exit (STATES_WAITING_FOR_JOIN_AT_EXIT in
_POSIX_Thread_Exit()).  On the other side we need a thread queue for all
the threads that wait for the exit of one particular thread
(STATES_WAITING_FOR_JOIN in pthread_join()).

Update #2035.
2015-04-23 21:42:13 +02:00
Joel Sherrill
694f155589 sp13/system.h: Account for all message buffers
There may be a way to reduce the memory requirements but it
will require time to ensure the math is right and it passes
on all targets. At the current time, it fails on 22 BSPs which
run on simulators.
2015-04-23 12:48:04 -05:00
Joel Sherrill
5a8cd17d3c simsh*.tcfg: Add iostream 2015-04-23 12:48:04 -05:00
Joel Sherrill
d9ef7ebe11 gensh2-testsuite.tcfg: Add iostream 2015-04-23 12:48:04 -05:00
Joel Sherrill
07d9954b61 gensh1-testsuite.tcfg: Add iostream 2015-04-23 12:48:03 -05:00
Joel Sherrill
ba885bde9f mbx8xx/include/bsp.h: Add include of <rtems/irq.h> 2015-04-23 12:48:03 -05:00
Joel Sherrill
9a9614e5c9 ods68302-testsuite.tcfg: Add iosteam 2015-04-23 12:48:03 -05:00
Joel Sherrill
f620ac7a0e mrm332-testsuite.tcfg: Add iostream and sptls02 2015-04-23 12:48:03 -05:00
Joel Sherrill
0c87234fa9 mcf5225x-testsuite.tcfg: Add iostream 2015-04-23 12:48:02 -05:00
Joel Sherrill
e38fdc22e8 lpc1768_mbed_ahb_ram_eth-testsuite.tcfg: Add sptls02 2015-04-23 12:48:02 -05:00
Joel Sherrill
2e9baac047 lm3s3749-testsuite.tcfg: Add cdtest 2015-04-23 12:48:02 -05:00
Sebastian Huber
9cac9c5105 score: Delete _Thread_queue_Dequeue_priority() 2015-04-23 13:09:56 +02:00
Sebastian Huber
be6c4611ac score: _CORE_mutex_Seize_interrupt_blocking()
Move some code into _CORE_mutex_Seize_interrupt_blocking() so that the
thread queue handling is in one place.
2015-04-23 10:28:52 +02:00
Sebastian Huber
9f10911d2b score: Delete Thread_queue_Control::state
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
2015-04-23 08:55:43 +02:00
Sebastian Huber
d349e8a439 score: Fix priority message queue insert
Move the linear search into a critical section to avoid corruption due
to higher priority interrupts.  The interrupt disable time depends now
on the count of pending messages.

Close #2328.
2015-04-23 08:54:09 +02:00
Sebastian Huber
b0686b473d score: Delete _CORE_RWLock_Timeout()
This function was identical to _Thread_queue_Timeout().  This makes
_Thread_queue_Enqueue_with_handler() obsolete.
2015-04-22 13:58:32 +02:00
Sebastian Huber
49d436497e score: Delete bogus THREAD_QUEUE_WAIT_FOREVER
It makes no sense to use this indirection since the type for timeout
values is Watchdog_Interval.
2015-04-22 11:38:57 +02:00
Daniel Cederman
3641320161 smptests/smpcache01: Enable interrupts before waiting for other CPUs
Otherwise there is a risk that a CPU misses a cache manager message
from another CPU and the test hangs.
2015-04-22 09:29:56 +02:00
Sebastian Huber
d3802bb5d7 score: Delete object control block ISR lock
The Objects_Control::Lock was a software layer violation.  It worked
only for the threads since they are somewhat special.

Update #2273.
2015-04-21 08:25:32 +02:00
Sebastian Huber
1041de1ab0 score: Add _Thread_Get_interrupt_disable()
Remove _Thread_Acquire() and _Thread_Acquire_for_executing().  Add
utility functions for the default thread lock.   Use the default thread
lock for the RTEMS events.  There is no need to disable thread
dispatching and a Giant acquire in _Event_Timeout() since this was
already done by the caller.

Update #2273.
2015-04-21 08:25:32 +02:00
Sebastian Huber
413b9e286d score: Modify _Thread_Dispatch_disable_critical()
Return the current processor to be in line with
_Thread_Disable_dispatch().
2015-04-21 08:25:31 +02:00
Sebastian Huber
3bf4a9fac4 score: _Objects_Get_isr_disable()
Do not disable thread dispatching and do not acquire the Giant lock.
This makes it possible to use this object get variant for fine grained
locking.

Update #2273.
2015-04-21 08:25:31 +02:00
Sebastian Huber
4db0ae8e07 score: _Objects_Get_isr_disable()
Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for
low-level locking.

Update #2273.
2015-04-21 08:25:31 +02:00
Sebastian Huber
1981b4697e score: Add _ISR_lock_ISR_disable/enable() 2015-04-20 08:23:26 +02:00
Sebastian Huber
26c142e5ad score: Refactor SMP cache manager support 2015-04-20 08:23:25 +02:00
Hesham ALMatary
3d597c04ed Rename or1ksim BSP to generic_or1k
or1ksim BSP was initially named after or1ksim simulator, and it was
intented to only run there. But now it can also run on QEMU, jor1k and
real FPGA boards without modifications. It makes more sense to give
it a new generic name like generic_or1k.
2015-04-19 06:26:36 -04:00
Joel Sherrill
491434cd7c sp13: Document message buffer usage and adjust configuration 2015-04-17 09:49:45 -05:00
Joel Sherrill
3985e75803 user/libpci.t: Make it build and clean up 2015-04-17 09:46:08 -05:00
Joel Sherrill
c5d86ec0c9 or1k-utility.h: Add missing end of C++ header pattern
closes 2326.
2015-04-17 09:45:05 -05:00
Martin Galvan
41b37e0073 score: Improve assert
While cpu_self->thread_dispatch_disable_level shouldn't ever be zero, it
would be better to check it before doing the decrement.
2015-04-17 11:03:02 +02:00
Sebastian Huber
b8cdc38b2f sptests/sp52: Reduce clock tick interval
This helps on slow simulators.
2015-04-17 10:47:21 +02:00
Sebastian Huber
c7a65085d2 Fix build for non-SPARC targets 2015-04-17 09:19:03 +02:00
Sebastian Huber
8d6fd40592 sapi: Avoid declaration in source, fix type 2015-04-17 08:46:33 +02:00
Sebastian Huber
a211a732fd score: Fix _TOD_Set_with_timestamp()
Update the current time before the watchdog adjust so that timer
routines observe the new time.
2015-04-17 08:38:09 +02:00
Daniel Hellstrom
c77e3cb1b0 LEON3: gptimer drvmgr init simplified wrt boot 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
9fe249d032 LEON3: move timer variable to where initialized 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
efd43ad162 LEON3: simplify amba initialization 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
628e739368 LEON3: clock irq always same as timer instance
The leon.h already contains the definition of LEON3_CLOCK_INDEX
and irq must always follow that when separate IRQ is supported by
the HW. The definitions are resued from leon.h.
2015-04-17 01:10:30 +02:00
Daniel Hellstrom
291c53917d DRVMGR: remove struct driver registration func 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
4c9c46df76 DRVMGR: clean-up DRV_OPS_NUM 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
bef5e23ef6 DRVMGR: renamed RES_EMPTY to DRVMGR_RES_EMPTY 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
4d3e70f4a6 DRVMGR: KEY_TYPE now a enum drvmgr_kt 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
14d55debf1 DRVMGR: renamed info_dev to get_info_dev 2015-04-17 01:10:30 +02:00
Daniel Hellstrom
246fe225f1 DRVMGR: change name of freq_get to get_freq 2015-04-17 01:10:29 +02:00
Daniel Hellstrom
bb2f2200aa DRVMGR: renamed private drv_mgr and its struct name 2015-04-17 01:10:29 +02:00
Daniel Hellstrom
bf2c3f8baf DRVMGR: updated README 2015-04-17 01:10:29 +02:00
Daniel Hellstrom
4f0906080d DRVMGR: only build on SPARC platform 2015-04-17 01:10:28 +02:00