Gregory Nutt
076f382f79
Module: Remove some unused members of a structure
2015-12-13 06:48:30 -06:00
Gregory Nutt
917dbc8540
modules: Add more information to registry just for procfs
2015-12-12 18:56:32 -06:00
Gregory Nutt
795ddd7e80
OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod
2015-12-12 17:42:25 -06:00
Gregory Nutt
a908a61c5a
Various module-related cosmetic changes
2015-12-12 12:55:50 -06:00
Gregory Nutt
303123deb9
Add syscall support for insmod and rmmod
2015-12-12 11:11:09 -06:00
Gregory Nutt
040835de00
Add an implementation of rmmod
2015-12-12 10:51:54 -06:00
Gregory Nutt
9ef33d8ebc
Merge remote-tracking branch 'origin/master' into module
2015-12-12 09:38:44 -06:00
Gregory Nutt
0efcb5445b
Fix compile error when cache coherency logic is enabled
2015-12-12 09:38:06 -06:00
Gregory Nutt
49554fe4fc
Move module support from binfmt/ to sched/ so that it can be configured and built independently from binfmt features
2015-12-12 07:09:17 -06:00
Gregory Nutt
f45e2a247e
Cosmetic fix to comment
2015-12-11 10:06:40 -06:00
Gregory Nutt
c9925305b5
Same important bug as c623af03a0ee8ac041fc22051781047d6cb9cc75, but in a different location
2015-12-09 10:17:33 -06:00
Gregory Nutt
c16648b3fd
Most cosmetic but also includes a fix for a compile problem from Ken Pettit
2015-12-01 12:54:57 -06:00
Gregory Nutt
48da5aa496
sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication that of the type of a pthread. Hence, it could be confused as a task. Found because this was causing a crash when /proc/nnn/cmdline was printed.
2015-11-28 10:05:36 -06:00
Gregory Nutt
4b29bcee7f
Rename up_rtcinitialize to up_rtc_initialize so that it looks like other RTC interfaces
2015-11-20 08:27:52 -06:00
Gregory Nutt
892ba4f26a
DS1307: Change year bias to 1968 which is a leap year juse like 2000
2015-11-19 15:12:40 -06:00
Gregory Nutt
c34b5108a7
RTC: Fix system time initialization when using an exernal RTC. Fix some bugs in the DS1307/DS3231 RTC driver
2015-11-19 14:54:30 -06:00
Lok
da8950fe5b
Fix an error in clock_timespec_subtract
2015-11-03 07:28:46 -06:00
Gregory Nutt
78ae661223
One more trivial spacing issue
2015-10-07 20:13:49 -06:00
Gregory Nutt
79d554939e
sched/: Fix some spacing issues
2015-10-07 19:59:14 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
16b32bbadd
Standardize the width of all comment boxes in C files
2015-10-03 07:25:53 -06:00
Gregory Nutt
0f90500f72
Standardize the width of all comment boxes in header files
2015-10-02 17:48:24 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
a813baef0a
User workqueue, cosmetic changes
2015-09-30 14:03:55 -06:00
Gregory Nutt
4cd57e1e4e
Work queues: Logic that sets the queued indication and the logic that does the actual queuing must be atomic
2015-09-30 11:04:29 -06:00
Paul A. Patience
9f108b7b63
Fix issues detected by clang
2015-09-10 20:59:43 -04:00
Gregory Nutt
cb2f84e288
Loosen up restriction a little in sched_ufree()
2015-09-07 15:28:58 -06:00
Gregory Nutt
d78d3ef4ab
Logic for delayed memory garbage collection for the case of user space memory will not work as implemented for the case of the kernel build. That is because the correct context is in place in order to free the user memory when sched_kufree is called, but will not be in place later when the memory garbage collection runs. If this feature is really needed, then some more substantial redesign is required
2015-09-07 14:40:18 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Gregory Nutt
0b2fbd7a2c
Fix a DEBUGASSERTion
2015-08-21 12:33:14 -06:00
Gregory Nutt
89b5ef8d35
wdogs: Fix counting of free, pre-allocated wdog timers. The could could get decremented below zero in some situations
2015-08-21 11:30:22 -06:00
Gregory Nutt
51f386d08a
Fix more common typos
2015-08-16 11:07:23 -06:00
Gregory Nutt
768d892188
Add si_errno to siginfo_t
2015-08-14 10:10:32 -06:00
Sebastien Lorquet
89c81f6c08
FIX typo in DEBUASSERTion
2015-08-03 09:14:15 -06:00
Gregory Nutt
15db2a45a4
drivers/net/slip.c: Fix another compilation error
2015-08-02 07:20:36 -06:00
Gregory Nutt
3a109315ed
Fix a logic error in last change to sem_tickwait()
2015-08-01 16:00:23 -06:00
Gregory Nutt
ffec6124f2
Add a start time to sem_tickwait() to account for any elapsed time before the timer is actually started
2015-08-01 14:57:31 -06:00
Gregory Nutt
030573ba5c
More improvements to the sporadic scheduler
2015-08-01 09:08:48 -06:00
Gregory Nutt
12cbe147a0
Forget to add files before last commit
2015-08-01 07:34:27 -06:00
Gregory Nutt
2c66e0eb2a
sem_tickwait(): Add a new, non-standard function to perform timed semaphore waits. It is functionally equialent to the standard sem_timedwait(), but more efficient for use in higher performance device drivers. Requested by Max Neklyudov
2015-08-01 07:31:09 -06:00
Gregory Nutt
5772813d29
Change the name of the local variable sigset to set to prevent name collisions with the function of the same name
2015-07-31 13:32:10 -06:00
Anton D. Kachalov
4a16bc6924
[sched/pthread/pthread_kill] Add missed header for enabled CONFIG_SCHED_HAVE_PARENT
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-07-30 18:51:37 +03:00
Gregory Nutt
3a93be8902
Add strictly limit check: The current sporadic scheduler cannot handler duties > 50%
2015-07-30 07:36:01 -06:00
Gregory Nutt
a6ccb7f308
Sporadic scheduler: Third design. Now it looks closer to what I want
2015-07-28 14:26:31 -06:00
Gregory Nutt
dd5b065753
Sporadic: This interim version works pretty well, but the things that I had to do were nasty and mean that -- sigh -- there will be another redesign coming
2015-07-28 08:03:40 -06:00
Gregory Nutt
95ca3a1d1e
Fixes several more sporadic scheduler bugs
2015-07-27 18:08:21 -06:00
Gregory Nutt
a7322f5a6d
Sporadic scheduler: Fix how suspension time is calculated
2015-07-27 15:54:19 -06:00
Gregory Nutt
e33c727520
Sporadic scheduler: Move pending time into each timer instance
2015-07-27 14:48:21 -06:00
Gregory Nutt
e66e2f5c0f
Use the last budgeted time from the last timer started
2015-07-27 13:13:30 -06:00
Gregory Nutt
8c754ccd4f
Sporadic scheduler: misc bug fixes
2015-07-27 11:55:52 -06:00
Gregory Nutt
cc1c7731da
Sporadic scheduler: Fix budget computations when replenishment intervals are nested
2015-07-27 09:35:52 -06:00
Gregory Nutt
484f148001
Sporadic scheduler: Add instrumentation hooks to support GPIO outputs
2015-07-27 08:37:25 -06:00
Gregory Nutt
7c04ad8209
Sporadic scheduler: Cosmetic change to debug output and to comments
2015-07-26 15:33:27 -06:00
Gregory Nutt
99664b7811
Sporadic scheduler: Add logic to collection the partial timer expiration when a sporadic thread is suspended in tickless mode
2015-07-26 15:03:47 -06:00
Gregory Nutt
4bdbc387f5
Update TODO list; Fix a few errors introduced withe the last changes to the sporadic scheduler
2015-07-26 10:51:04 -06:00
Gregory Nutt
3e88b77540
Sporadic scheduler: Handle a case when the scheduler is resumed before it has even had a chance to run
2015-07-26 08:08:45 -06:00
Gregory Nutt
26fd7a7ccf
The redesigned sporadic scheduler now seems to be functional
2015-07-25 13:22:46 -06:00
Gregory Nutt
27e21710fd
This is basically a complete redesign of the sporadic scheduling logic due to limitations in the initial design
2015-07-25 12:50:53 -06:00
Gregory Nutt
a1031417e8
Comment out part of sporadic scheduler logic: Part of replenishment logic is bogus
2015-07-24 18:18:58 -06:00
Gregory Nutt
1d88dc1fb6
Fix some compilation error when both TICKLESS mode and the SPORADIC scheduler are enabled
2015-07-24 14:35:07 -06:00
Gregory Nutt
ed031388ad
sched/Kconfig: The sporadic scheduler option is no longer EXPERIMENTAL
2015-07-24 14:19:18 -06:00
Gregory Nutt
411941d8cd
Fix an syntax error in a debug asserion
2015-07-24 13:02:19 -06:00
Gregory Nutt
12cdd2a8fe
Fix some bad conditional compilation
2015-07-24 12:27:15 -06:00
Gregory Nutt
0d71260bf2
sched/: Separate the round-robin logic into a separate file so that it is symmetric with the sporadic stuff. Integrate the sporadic scheduler into the time tick interrupt handling and into the tickless operation.
2015-07-24 11:49:28 -06:00
Gregory Nutt
c6c424583d
Fix a test for valid scheduling policies
2015-07-24 10:20:22 -06:00
Gregory Nutt
4490744def
Add logic to reset the replenish the sporadic scheduler when a task is resumed
2015-07-24 09:55:02 -06:00
Gregory Nutt
ea7dbc984b
Add basic sporadic schedule state machine
2015-07-24 09:03:21 -06:00
Gregory Nutt
3b1306078b
Sporadic Scheduler: Ensure that the replenishment period is greater than or equal to the budget period
2015-07-23 15:08:41 -06:00
Gregory Nutt
5baa738019
Most cosmetic, but includes some fixes to some range checking
2015-07-23 14:36:49 -06:00
Gregory Nutt
53a17bfd99
Fix a newly introduced compilation error when round roben scheduling is disabled
2015-07-23 13:35:48 -06:00
Gregory Nutt
9095e8eab4
include/, sched/, and libc/: Add support for sporadic scheduling parameters in struct sched_param, posix_spawnattr_t, and pthread_attr_t. Update all user interfaces to pass sporadic scheduling parameters. Feature is dependent on EXPERIMENTAL and no changes have yet been made to core scheduling logic.
2015-07-23 13:16:32 -06:00
Gregory Nutt
13e837b957
Merge remote-tracking branch 'origin/master' into sporadic
2015-07-23 11:25:52 -06:00
Gregory Nutt
aa90da2bc8
pthread_create: Fix an (unlikely) error in fallback value in the event of a failure (which should never occur)
2015-07-23 11:25:25 -06:00
Gregory Nutt
2b3aae0ddc
Add basic configuration options for SCHED_SPORADIC
2015-07-23 10:33:30 -06:00
Gregory Nutt
146bdc3c93
TCB: Increase the size of the scheduling policy field from 1 to 2 bits to allow additional, planned scheduling policies
2015-07-23 10:15:07 -06:00
Gregory Nutt
e69d14d89b
Fix some warnings/errors detected by nuttx/tools/testbuilds.sh
2015-07-10 18:41:26 -06:00
Max Neklyudov
14e742b108
Implement WNOHANG for waitpid() only and for the case of CONFIG_SCHED_HAVE_PARENT not selected. From Max Neklyudov.
2015-07-02 09:34:58 -06:00
Jussi Kivilinna
13d9383679
Group binding needs to be cleared before sched_releasetcb(), as otherwise group_leave() will be called and group->tg_nmembers decremented or group being released. group_leave() should be called only after group_join() is called, not after group_bind(). From Jussi Kivilinna.
2015-07-01 06:24:34 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Max Neklyudov
61af0d511f
Use up_timer_gettime for CLOCK_MONOTONIC in tickless mode. From Max Neklyudov.
2015-06-22 06:37:26 -06:00
Juha Niskanen
e1846dff82
sched/pthread: Implement pthread_mutex_trylock() for recursive mutexes
2015-06-16 08:32:20 -06:00
Juha Niskanen
d16053c33c
sched/pthread: Use -1 instead of 0 as PID for unclaimed mutexes
2015-06-16 08:27:38 -06:00
Gregory Nutt
d8db596b3b
POSIX message queues: Move mq_setattr() and mq_getattr() from nuttx/libc/mqueue to nuttx/sched/mqueue. Also add sysyscall support for mq_setattr() and mq_getattr(). This is necessary in protected and kernel builds because in those cases the message queue structure is protect and cannot be accessed directly from user mode code. Noted by Jouko Holopainen.
2015-06-03 09:24:17 -06:00
Gregory Nutt
84f0303fc0
mq_timedreceive() move the location where the errno value is set; the TIMEDOUT errno setting was being overwritten by subsequent actions before returning. Noted by Freddie Chopin.
2015-06-03 07:24:50 -06:00
Gregory Nutt
4adda9d428
Fix numerous typos in configuration variable names. Tracked down by Alan Carvalho de Assis
2015-05-23 17:08:35 -06:00
Gregory Nutt
3adcae8ffb
Update the type passed to watchdog timer handlers. Using uint32_t is a problem for 64-bit machines.
2015-05-18 08:53:42 -06:00
Gregory Nutt
16276a4793
Change the order of some operations to prevent a debug assertion from firing.
2015-05-18 06:34:54 -06:00
Gregory Nutt
cc77a28f40
If HAVE_GROUP_MEMBERS is not defined, then pthread_kill() really is the same as kill()
2015-05-13 20:34:21 -06:00
Gregory Nutt
4417728955
Re-implemened pthread_kill(). It as just a simple wrapper around kill() but since the correct dispatching of singles for multi-threaded task groups has been implemented, calling kill() does no work. The corrected implementation of pthread_kill() will direct the signal specifically to the specific pthread and no other.
2015-05-13 14:43:43 -06:00
Gregory Nutt
8cb4e78a1a
Complete implementation of the IPv6 routing logic. From Max Neklyudov.
2015-05-13 07:22:02 -06:00
Gregory Nutt
071658bb6d
Another missing semicolon
2015-04-23 07:18:59 -06:00
Gregory Nutt
093a144934
sem_wait(): Missing comma on debug statement caused compile error with DEBUG on. Why hasn't that been noted before?
2015-04-23 07:15:55 -06:00
Gregory Nutt
f161a1d0f7
atexit: Fix reference to undefined variable in certain configurations. From Juha Niskanen
2015-04-14 07:31:35 -06:00
Gregory Nutt
b4423c1eed
Make some file section headers more consistent with standard
2015-04-08 06:47:36 -06:00
Gregory Nutt
af6d9e2684
sched: Do not use uninitialized boolean in waitpid(). From Juha Niskanen
2015-03-12 07:45:10 -06:00
Gregory Nutt
caea44a624
Fix a case in mq_timedsend() where the return errno value was being overwritten
2015-03-10 12:05:33 -06:00
Gregory Nutt
7d46801f46
Reorder some operations to minimize a race condition
2015-03-10 10:41:21 -06:00
Gregory Nutt
4c6057eca1
mq_timedsend(): Do check for time errors if the message queue is not full. Noted by Freddie Chopin
2015-03-10 09:42:35 -06:00
Gregory Nutt
12d61531aa
Move board_ prototypes from arch.h to board.h
2015-02-27 20:02:03 -06:00
Gregory Nutt
127951e029
Fix places where the errno value was being overwritten by subsequent actions so that the returned errno value was incorrect. From Max Neklyudov.
2015-02-25 07:45:04 -06:00
Gregory Nutt
c99d927527
When an RTC is used, clock_systimespec() must subtract the basetime from the RTC time
2015-02-25 07:24:03 -06:00
Gregory Nutt
cded7ea682
Fix some time value changes; mostly changing greater than 1000000000 to greater than or equal to 1000000000. From Juha Niskanen
2015-02-20 07:07:36 -06:00
Gregory Nutt
8840102554
Networking: Divide net_intiialize() into net_setup() and net_initialize() to solve a chicken-and-egg problem. net_setup() must be caleld before up_initialize() is called so that networking data structures are ready to register new network devices.
...
net_initialize() now does only timer related operations and is called AFTER up_initialize() where the timers are configured. This is really.
2015-02-14 06:36:53 -06:00
Gregory Nutt
a1d3faaa8a
Update ChangeLog
2015-02-13 18:39:43 -06:00
Gregory Nutt
bc273596bb
Back out commit d998cbdfa6c10dbd8074dd43c39c23a006505987
2015-02-13 18:32:15 -06:00
Gregory Nutt
0fcd620404
Move the initialization of the networking subsystem to AFTER up_initialize is called. Fromo Macs Neklyudov.
2015-02-13 13:41:21 -06:00
Gregory Nutt
3724a5e98e
RTC: Remove all backdoor interfaces from rtc.h
2015-02-13 08:41:34 -06:00
Gregory Nutt
d9f960e97b
Fix a problem in clock_systimer64 that occurs when (1) the 64-bit system time is enabled, and (2) the value of CONFIG_USEC_PER_TICK is less than 1 millisconds (such as when using the tickless mode of operation). In that case, the convertion of time to 64-bit millisecond value in clock_systmer64() causes some bad times to be returned. Time was converted to milliseconds, then to configured ticks. Precision was lost in the millisecond convertion.
...
The fix is to first convert time to a 64-bit microsecond value, then to the configured tick value.
Noted by David Sidrane.
2015-02-13 06:13:47 -06:00
Gregory Nutt
147042218b
gettimeofday() and settimeofday(): Move gittimeofdady() from sched/clock to libc/time. All remove gettimeofday() from NuttX system calls. It is only a wrapper around clock_settime() and does not need a trap. gettimeofday() is no longer tried as a core OS interface.
...
gettimeofday has been decremented in POSIX 2008. settimeofday() was never part of POSIX, but I decided to add it to libc as well just for symmetry.
2015-02-12 11:10:46 -06:00
Gregory Nutt
1d534ff896
Convert the 64-bit usec limit to a 32-bit tick limit
2015-02-03 07:18:17 -06:00
Gregory Nutt
c5ab7c39d3
Eliminates a warning. From Macs N
2015-02-03 06:44:59 -06:00
Gregory Nutt
a448e0f69f
On my platform I have just 16-bit timer clocked at 32kHz. As result oneshot timer max delay is 2s. The patch adds limit of maximum ticks in sched_timer_start (nuttx/sched/sched/sched_timerexpiration.c). From Macs N.
2015-02-03 06:25:19 -06:00
Gregory Nutt
e69003cbf7
clock_systimespec(): Fixes for compilation errors in certain configurations. From Macs N.
2015-01-30 08:19:40 -06:00
Gregory Nutt
6bc9a0c9c6
Fix backward calculation in the work queue timing. From Liio Chen via the PX4 repository
2015-01-27 06:17:02 -06:00
Gregory Nutt
826f5516ff
Semaphores: sem_waitirq.c must be built when signals are disabled. That is because not handles not only the case of semaphore wait being awakened by a signal, but also the case with sem_timedwait.c when the semaphore wait is awakened by a timeout.
2014-12-28 15:03:12 -06:00
Gregory Nutt
78b755961f
Semahores: Remove a warning with SIGNALS are disabled
2014-12-28 14:54:40 -06:00
Gregory Nutt
937f9f23f1
strncpy will not copy the terminating \0 into the destination if the source is larger than the size of the destination. Ensure that the last byte is always zero and let strncpy only copy CONFIG_TASK_NAME_SIZE bytes. The issue of unterminated names can be observed in ps when creating a pthread while CONFIG_TASK_NAME_SIZE is set to 8.
2014-12-17 12:24:02 -06:00
Gregory Nutt
b3a1939020
Sempahores: Add logic to clean up after task_delete() or pthread_cancel() if the task happens to be waiting on a semaphore when it is cancelled
2014-12-13 12:02:25 -06:00
Gregory Nutt
1003ee3e9a
Costmetic change to a comment
2014-12-13 10:41:57 -06:00
Gregory Nutt
ff87e2e02a
In message queue created return ENOSPC error if size exceeds the configured size of pre-allocatd messages; Use ENOSPC vs ENOMEM per OpenGroup.org. From Pierre-Noel Bouteville
2014-12-06 07:18:48 -06:00
Gregory Nutt
ad05793c0f
msg type should be char * not void * in mq_send, mq_timedsend, mq_receive, and mq_timedreceive. Noted by Pierre-Noel Bouteville
2014-12-05 19:16:14 -06:00
Gregory Nutt
2ab604f74f
Fix more issues detected by cppcheck
2014-11-25 14:25:02 -06:00
Gregory Nutt
1aa528a572
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
2014-11-25 14:10:35 -06:00
Gregory Nutt
6f94e5e4be
Cosmetic chnages to comments
2014-11-20 07:10:48 -06:00
Gregory Nutt
8c28718bcb
alling mq_timedreceived with immediate timeout was getting stuck and not
...
timeout. Immediate timeout is achieved by setting absolute timeout value to
past time, for example abstime={ .tv_sec=0, .tv_nsec=0 }. However absolute
time was converted to relative time using unsigned integer arithmetic and
resulted large ticks count by clock_abstime2ticks, instead of expected negative
ticks value.
Patch corrects clock_abstime2ticks to return negative ticks, if absolute time
is in the past.
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>
2014-11-19 09:25:00 -06:00
Gregory Nutt
9e290c10b5
Fix some compile issues introduces with removal of CONFIG_MAX_TASK_ARGS
2014-11-14 09:53:11 -06:00
Gregory Nutt
838f2053e4
Fix some compile errors introduce in last commits
2014-11-13 07:44:45 -06:00
Gregory Nutt
bc265d74e7
task_create: Don't even try if the accumulated size of the argument list is larger than the stack
2014-11-13 06:44:15 -06:00
Gregory Nutt
bb9b0f572d
vfork no longer depends on CONFIG_MAX_TASK_ARGS
2014-11-12 19:01:29 -06:00
Gregory Nutt
4638a97f97
task_start() no longer depends on CONFIG_MAX_TASK_ARGS
2014-11-12 18:54:35 -06:00
Gregory Nutt
ffbd6cf10a
task_setup() no longer depends on CONFIG_MAX_TASK_ARGS
2014-11-12 18:49:58 -06:00
Gregory Nutt
fcffafee30
Remove CONFIG_MAX_TASK_ARGS from all Kconfigs and defconfigs
2014-11-12 18:02:19 -06:00
Gregory Nutt
2caeead612
Fix an important bug in the watchdog creation logic
2014-11-10 18:15:26 -06:00
Gregory Nutt
fcc2a1bb4b
Fix incorrect comment
2014-11-07 15:54:24 -06:00
Gregory Nutt
2da26f7884
More fixes to tickless operation, alarm/mode code. From Brandon Warhurst
2014-10-23 07:13:57 -06:00
Gregory Nutt
a7a5c8cff3
Fixes to tickless operation code. From Brandon Warhurst
2014-10-23 06:41:31 -06:00
Gregory Nutt
928b0bda3d
Default for CONFIG_SCHED_HPWORK should be no
2014-10-14 16:56:37 -06:00
Gregory Nutt
179fabb019
Add description of work queues to the porting guide. Update comments
2014-10-14 10:21:18 -06:00
Gregory Nutt
c9563da832
Missing workqueue logic
2014-10-12 17:19:51 -06:00
Gregory Nutt
e702d9396b
Fix one missed name change from last big commit
2014-10-12 07:09:57 -06:00
Gregory Nutt
c9d7472d68
Change naming of HP work queue configuration varaibles to be symmetric with LP work queue naming
2014-10-11 17:03:44 -06:00
Gregory Nutt
1a27a4d4c0
Eliminate warnings
2014-10-11 17:02:35 -06:00
Gregory Nutt
b78fe7c270
Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK
2014-10-11 15:59:40 -06:00
Gregory Nutt
9292e3d9de
Decouple the user-space work queue from the kernel space work queues
2014-10-11 15:50:22 -06:00
Gregory Nutt
bb1d91bd83
Make building of low-priority work queue independent of also building the high-priority work queue
2014-10-11 14:43:24 -06:00
Gregory Nutt
c0b703ac73
Fix some missing conditional compilation that caused build failures in some configurations
2014-10-11 08:50:00 -06:00
Gregory Nutt
d2424ac65c
Fix a couple of problems introduced in the last commmits
2014-10-11 08:29:26 -06:00
Gregory Nutt
0218f01f12
If there mutliple low-priority worker threads, only one needs to perform garbage collection
2014-10-11 07:09:21 -06:00
Gregory Nutt
234f73cb09
Add logic for priority inheritance with multiple worker threads. How should this work? Tentatively, the all get reprioritized together. It would be best to just reprioritize the single thread doing the high priority work, but we don't know which that will be in advance
2014-10-10 17:47:39 -06:00
Gregory Nutt
4a4b3ac537
Add support for multiple low-priority worker threads
2014-10-10 16:24:50 -06:00
Gregory Nutt
438e3e1a90
Fix a few bugs introduced in the last checkin
2014-10-10 15:06:13 -06:00
Gregory Nutt
cf59a195ba
User-mode work queue logic should not disable interrupts
2014-10-10 14:52:04 -06:00
Gregory Nutt
16a3e83258
Add support for delays of different durations in work queue processing
2014-10-10 13:21:37 -06:00
Gregory Nutt
75e7a4dbfc
Minor changes to work queue timing logic
2014-10-10 12:27:11 -06:00
Gregory Nutt
b2cebaa9d4
Modularize starting of worker threads to better isolate individual initialization characteristics
2014-10-10 09:38:28 -06:00
Gregory Nutt
2015fd76e2
Fix some conditional logic in last work queue repartitioning change
2014-10-10 08:47:41 -06:00
Gregory Nutt
1afc9773ac
Decoupling work queue data structures. This is part of the preparation to support multiple low-priority worker threads
2014-10-10 08:35:58 -06:00
Gregory Nutt
6220256a09
Repartition work queue code. Move kernel-specific parts from libc/wqueue to sched/wqueue
2014-10-10 06:22:51 -06:00
Gregory Nutt
7f36c4e97b
Update some Kconfig comments; Add a upper limit on the lower priority worker thread for priority inheritance
2014-10-07 17:11:26 -06:00
Gregory Nutt
322f9f401c
Simplify how C source files are selected in the build
2014-10-07 07:42:36 -06:00
Gregory Nutt
d7843c8e24
Add support for priority inheritance on the low priority worker queue
2014-10-07 07:41:52 -06:00
Gregory Nutt
38ddbc774f
Cosmetic change to comments
2014-10-06 18:03:01 -06:00
Gregory Nutt
37cf4135c4
fs_initialize() is no longer weak
2014-10-06 11:45:35 -06:00
Gregory Nutt
d914f3ceec
Major structure of file system functions to better support asynchronous I/O. Respository should not be trusted until I have a chance to verify everything
2014-10-06 10:53:25 -06:00
Gregory Nutt
87eb1d47ed
Fix some recently introduced typos, build problems, and warnings
2014-10-05 16:58:52 -06:00
Gregory Nutt
652d3ed29d
Rename CONFIG_LIBC_AIO to CONFIG_FS_AIO since it is now an OS property
2014-10-05 15:44:43 -06:00
Gregory Nutt
31cdcde73a
Add definitions for SIGPOLL
2014-10-05 06:02:37 -06:00
Gregory Nutt
da29907ac9
Update TODO list + cosmetic changes to clock_systimer.c
2014-10-03 11:21:35 -06:00
Gregory Nutt
8d43a6bdcd
Fix build error with CONFIG_SYSTEM_TIME64
2014-10-03 10:20:46 -06:00
Gregory Nutt
71b574f26c
Repartition some message queue logic: sched/mqueue should have all mqueue knowledge; fs/mqueue should deal only with inodes
2014-09-30 08:03:39 -06:00
Gregory Nutt
fcfe877e96
Cosmetic update to comments
2014-09-29 16:22:21 -06:00
Gregory Nutt
1f2cc9f4fe
Complete re-implementation of mq_close
2014-09-29 15:33:34 -06:00
Gregory Nutt
584d0fe4ad
Complete re-implementation of mq_open()
2014-09-29 14:59:31 -06:00
Gregory Nutt
9e975a217d
Separate mqueue allocation logic from mq_open() and put it in sched/mqueue/mq_msgqalloc.c
2014-09-29 14:09:31 -06:00
Gregory Nutt
b0f80cc8db
Move mq_open.c, mq_close.c, and mq_unlink.c from sched/mqueue to fs/mqueue
2014-09-29 13:35:32 -06:00
Gregory Nutt
e3fa34681b
Convert mqueue structure for use in VFS as inode data; rename mqueue_inode_s; remove links, reference counts and name from mqueue structure. These will be replaced by VFS data. Remove g_msgqueues and mq_findnamed.c; these will be replace with VFS logic
2014-09-29 13:19:11 -06:00
Gregory Nutt
542e706d7d
Fix a perverse case where vfork() is called from a pthread. Still not recommended
2014-09-29 12:21:34 -06:00
Gregory Nutt
1dc9768c1a
Fix vfork(). Now that arguments are kept on the stack, the way that arguments are passed from parent to child in vfork() must change. This bug has always been present, but was not visible with the old strdup() way of passing arguments
2014-09-29 10:45:44 -06:00
Gregory Nutt
9a3f18db37
Fix missing header file for bug introduced yesterday
2014-09-29 07:48:45 -06:00
Gregory Nutt
8c958be5ab
Semaphore initialization is now only required if priority inheritance is initialized
2014-09-29 06:50:48 -06:00
Gregory Nutt
650a0d0615
Completes VFS-based named semaphore implemetation. Still a little buggy
2014-09-28 15:58:56 -06:00
Gregory Nutt
30694f064c
Add VFS-based sem_open() implementation
2014-09-28 14:35:17 -06:00
Gregory Nutt
a41c1de32c
Add basic data structures that will allow us to move named semaphore support out of the OS and into the VFS (not complete).
2014-09-28 10:15:33 -06:00
Gregory Nutt
b33c2d9cef
Move include/nuttx/mm.h to include/nuttx/mm/mm.h
2014-09-24 07:29:09 -06:00
Gregory Nutt
1863370672
Move include/nuttx/shm.h to include/nuttx/mm/shm.h
2014-09-24 07:05:02 -06:00
Gregory Nutt
835c91b03a
Add support for a per-process virtual page allocator. This is a new member of the task_group_s structure. The allocaor must be initialized when a new user process is started and uninitialize when the process group is finally destroyed. It is used by shmat() and shmdt() to pick the virtual address onto which to map the shared physical memory.
2014-09-23 16:04:39 -06:00
Gregory Nutt
e326fcfef3
Fix some inconsistent field name in struct task_group_s: addrenv should be tg_addrenv.
2014-09-23 16:01:44 -06:00
Gregory Nutt
a73a3ef99f
Add shared memory initializatin logic
2014-09-23 08:46:31 -06:00
Gregory Nutt
5d9276ed71
More changes so that the KNSH build survives the changes needed for the ELF build
2014-09-16 15:55:21 -06:00
Gregory Nutt
1ef758d67f
A couple more changes for clean ELF build
2014-09-16 15:40:48 -06:00
Gregory Nutt
925fc9ad81
First round of changes to get the ELF configuration building again
2014-09-16 15:37:05 -06:00
Gregory Nutt
701719b2ca
Don't release user stack in kernel build. Already destroyed with all of the address environment
2014-09-15 12:45:41 -06:00
Gregory Nutt
a5e30ac4a1
execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic
2014-09-15 10:16:20 -06:00
Gregory Nutt
da7a440b35
execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic
2014-09-15 10:15:19 -06:00
Gregory Nutt
3649dab9bd
Initial integration of kernel stack (does not work)
2014-09-14 11:19:34 -06:00
Gregory Nutt
e12213592b
Don't build task_create() or task_spawn() interfaces if there is an addres environment
2014-09-14 08:22:21 -06:00
Gregory Nutt
eae146d641
Kernel proxy thread should be a kernel thread, not a user task
2014-09-14 08:20:40 -06:00
Gregory Nutt
ba7d5acf94
Fix a couple more places where the wrong allocator is being used
2014-09-11 15:56:04 -06:00
Gregory Nutt
fc35e35165
When a privileged thread exits, we have to use the kernel alloctor to free memory; when an unprivileged thread exits, we don't have to do anything... heap memory will be cleaned up when the address environment is torn down
2014-09-11 09:00:10 -06:00
Gregory Nutt
44499ed46c
Rename some functions and reshuffling some paramters
2014-09-11 08:37:06 -06:00
Gregory Nutt
81a4de4a4d
Kconfig choice value needs a prompt
2014-09-11 07:18:33 -06:00
Gregory Nutt
4a20cd65c5
clock_gettime.c: Fix a cornercase bug in clock_gettime()
2014-09-10 17:10:54 -06:00
Gregory Nutt
c19659d7d2
Fixes to clock bias logic. Remove vestiges of g_tickbias; apply bias instead to g_basetime
2014-09-10 16:36:25 -06:00
Gregory Nutt
e953fb11cd
A const storage class to to phthread parameters. From Freddie Chopin
2014-09-08 06:21:48 -06:00
Gregory Nutt
1822b86373
Fix some conditional compilation in kernel build mode. And, while we are touching this logic, make g_default_pthread_attr const.
2014-09-07 10:46:58 -06:00
Gregory Nutt
47d55c28dc
Mostly cosmetic changes
2014-09-04 10:28:38 -06:00
Gregory Nutt
e958040269
Add capability to perform initial board initialization on a separate worker thread.
2014-09-03 18:36:43 -06:00
Gregory Nutt
b2a94b6f2b
Fix more places where the user-mode allocator is used to allocate kernel thread resources -- before the user-mode allocator even exists
2014-09-03 14:58:24 -06:00
Gregory Nutt
fd6205b62a
Group creation logic must use new group flag when allocating resources so that the privileges on the resource are set correctly
2014-09-03 13:49:35 -06:00
Gregory Nutt
c81093913a
IDLE TCB setup needs to indicate the the IDLE thread is a privileged, kernel thread
2014-09-03 13:47:11 -06:00
Gregory Nutt
b4438e44c5
Restructuring of build to allow use of use-space allocators by kernel logic in the kernel build.
2014-09-02 11:22:09 -06:00
Gregory Nutt
a5af2568eb
sbrk() need to initialized the memory manager on the first call
2014-09-02 08:05:11 -06:00
Gregory Nutt
0e3c182e3b
Fix error in initialize of IDLE TCB due to last change. The argument list is no long in the TCB, but in the stack. But not for the IDLE task. It needs its own mini-argv[] list so that it looks more like other threads.
2014-09-01 16:49:42 -06:00
Gregory Nutt
64ab35b399
There used to be two ways to pass parameters to new tasks, depending upon the configuration: Either (1) argv[] as created as an array with each string strdup'ed. Or (1) argv[] array and strings were created on the stack before the new task was started. Now, there is only one way, way (1). Way (2) might be slightly more compact, but this is not worth carry the complexity of two different ways of doing the same thing.
2014-09-01 15:39:34 -06:00
Gregory Nutt
23147c40a5
Remove final traces of the 8015 from the NuttX source tree
2014-09-01 13:21:15 -06:00
Gregory Nutt
205260d5e2
Reanem kzalloc to kmm_zalloc for consistency
2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59
Rename kfree to kmm_free for consistency with other naming conventions
2014-08-31 17:04:02 -06:00
Gregory Nutt
9aca0c1c84
Rename kumalloc to kumm_malloc and kuzalloc to kumm_zalloc for consistency with other naming
2014-08-31 16:24:24 -06:00
Gregory Nutt
9ad7dae4c1
Rename kufree to kumm_free for consistency with other naming
2014-08-31 16:15:11 -06:00
Gregory Nutt
9cd1ddada4
Rename kmemalign to kmm_memalign and krealloc to kmm_realooc for consistency with other naming
2014-08-31 15:27:37 -06:00
Gregory Nutt
2904fb0420
Clean up some kernel build heap allocation issues. The Cortex-A kernel build now compiles without errors (but cannot link until brk() and sbrk() are implemented).
2014-08-31 12:50:05 -06:00
Gregory Nutt
67a54fd52e
ARMv7-A: A little more logic and a few more fixes for Cortex-A kernel build
2014-08-31 07:15:46 -06:00
Gregory Nutt
fc7bd31e07
last change alters semantics of __HAVE_KERNEL_GLOBALS
2014-08-30 14:44:48 -06:00
Gregory Nutt
2029236ed0
Back out and replace recent kludges for errno and clock_systimer. There is a cleaner way
2014-08-30 14:26:56 -06:00
Gregory Nutt
34ff07008a
Add configuration options to start the system from a program on a file system
2014-08-30 13:27:23 -06:00
Gregory Nutt
2906ff6a4a
Cosmetic: Fix all comments, defaults, etc. that references the defunct name user_start
2014-08-30 11:14:51 -06:00
Gregory Nutt
e3ff0689bb
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
2014-08-29 14:47:22 -06:00
Gregory Nutt
0ab1b0de25
nuttx/sched: Remove explicit references to errno. That is a problem from within the kernel for certain configurations
2014-08-28 17:00:24 -06:00
Gregory Nutt
9ab67dce75
In some configurations, g_system_tmer must be extern'ed as a private variable
2014-08-28 17:00:03 -06:00
Gregory Nutt
45f3328247
Fix an error introduced into ALL implmentations of interrupt dispatch logic
2014-08-28 08:41:57 -06:00
Gregory Nutt
d35723749b
Minor address environment clean-up. Cannot generate debug contexts in certain contexts
2014-08-27 14:22:00 -06:00
Gregory Nutt
ad53cabf34
ADDRENV: Use a group flag to determine if there is an address environment (instead of the thread type)
2014-08-27 09:37:28 -06:00
Gregory Nutt
582800a04d
Add group_addrenv() which will be called during context switches in order to change address environments. Not yet hooked in
2014-08-26 14:57:05 -06:00
Gregory Nutt
af22f273d3
Add group_addrenv() which will be called during context switches in order to change address environments. Not yet hooked in
2014-08-26 14:54:39 -06:00
Gregory Nutt
1725946447
Misc changed to get the SAMA5 ELF configuration with address environments working
2014-08-25 13:28:13 -06:00
Gregory Nutt
e1799b0423
Cortex-A/SAMA5 address environment support is code complete (untested)
2014-08-25 11:18:32 -06:00
Gregory Nutt
1624e2fbcf
Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support
2014-08-24 06:42:11 -06:00
Gregory Nutt
e79d6e3c8b
A few fixes for compilation errors due to recent address environment fixes
2014-08-22 15:55:00 -06:00
Gregory Nutt
4e699b00de
Need to release the addess environment when the task group is released
2014-08-22 14:49:05 -06:00
Gregory Nutt
1d586e6136
An address environment is the property of a task group, not of a thread
2014-08-22 12:32:34 -06:00
Gregory Nutt
fd484c4de9
Add support for statically allocated watchdog timer structures
2014-08-22 08:46:34 -06:00
Gregory Nutt
ad9b3f8ab8
wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide.
2014-08-21 11:16:55 -06:00
Gregory Nutt
952d87587f
If we run out of pre-allocated watchdog times, the logic will allocate additional timers from the heap. A reserve of pre-allocated watchdog timers is maintained so that there will always be timers available for interrupt handlers.
2014-08-21 08:44:29 -06:00
Gregory Nutt
27c48a383e
Don't do 64-bit calculations if accuracy not achievable; Fix compile error in high res RTC mode
2014-08-15 17:48:07 -06:00
Gregory Nutt
eed1d6c619
When reading the system timer, don't read a struct timespec, convert it to a fake tick count, then back to a timespec. Remove CLOCK_ACTIVETIME.. it is non-standard, unused, and gets in the way of changes like this
2014-08-15 03:55:41 -06:00
Gregory Nutt
2bc07a03ae
Correct release notes, updat changelog, fix some conditional compilation
2014-08-15 06:56:42 -06:00
Gregory Nutt
569a0815ca
Updated comments
2014-08-12 13:50:18 -06:00
Gregory Nutt
6546fa39c7
Tickless Stuff: Back out the risky timer operations when the ready-to-run list is modified. That is unsafe. An ugly workaround is just to keep an interval timer going all of the time with a minimum duration equal to the timeslice interval.
2014-08-12 11:12:00 -06:00
Gregory Nutt
686e5d7e3d
Tickless: If using an ALARM, then really should report time of expiration
2014-08-12 10:00:32 -06:00
Gregory Nutt
66803d0db6
Define interfaces to use an alarm instead of an interval timer with the tickless option
2014-08-12 07:28:41 -06:00
Gregory Nutt
e1fc925705
Minor update to handling of timeslick delay on tast switches
2014-08-11 15:07:15 -06:00
Gregory Nutt
56196ecea1
Fix a computation error in the fix for the last computational error
2014-08-11 12:07:49 -06:00
Gregory Nutt
b4bbe354fd
Fix inaccurate time conversion. Remove MSEC_PER_TICK and convert uint32_t to uin64_t.
2014-08-11 11:14:40 -06:00
Gregory Nutt
649ef76f71
Timers: In Tickless mode, need to stop the interval timer before inserted a new delay into the timer list. Otherwise, the time is incorrect on the first entry of the list
2014-08-11 08:25:25 -06:00
Gregory Nutt
f2058fa271
Comment out reassessment of timer in the middle of context switches. Need to revisit
2014-08-11 07:05:47 -06:00
Gregory Nutt
6bd52bce06
Tickless OS: Correct a bug: logic to detect changes in head of timer list was wrong.
2014-08-10 13:12:18 -06:00
Gregory Nutt
e1769b22f1
Remove os_internal.h it has been replace by several new header files under sched/. There have been some sneak inclusion paths via os_internal.h, so expect a few compilation errors for some architectures
2014-08-08 18:39:28 -06:00
Gregory Nutt
0be5f2ca81
Move exit.c to task/exit.c
2014-08-08 18:38:04 -06:00
Gregory Nutt
d798dd37a7
Replace os_internal.h with sched/sched.h in files that actually reference something in sched.h
2014-08-08 17:53:55 -06:00
Gregory Nutt
1f28365f55
Part of the last incomplete change
2014-08-08 17:45:54 -06:00
Gregory Nutt
ccf4ed2148
Partial (non-working) checked in before the big, risky automated change
2014-08-08 17:29:44 -06:00
Gregory Nutt
224ee05957
Move a few files in sched/ that did not seem to have a home to sched/signal and sched/task
2014-08-08 16:57:47 -06:00
Gregory Nutt
23a334c066
Move task control files from sched/ to sched/task
2014-08-08 16:44:08 -06:00
Gregory Nutt
6683d749ac
Move errno related files from sched/ to sched/errno
2014-08-08 15:52:55 -06:00
Gregory Nutt
9afca906eb
Move initialization functions from sched/ to sched/init
2014-08-08 15:30:59 -06:00
Gregory Nutt
a79ecce878
Move page fill sources from sched/ to sched/paging
2014-08-08 15:08:07 -06:00
Gregory Nutt
f8da16a8d3
Move POSIX timer files from sched/ to sched/timer/
2014-08-08 14:55:16 -06:00
Gregory Nutt
d4b56eb3cc
Move clock functions from sched/ to sched/clock
2014-08-08 14:43:02 -06:00
Gregory Nutt
85e8117062
Move interrupt dispatch logic from sched/ to sched/irq
2014-08-08 14:31:15 -06:00
Gregory Nutt
0f318e9249
Move watchdog functions from sched/ to sched/wdog
2014-08-08 14:21:48 -06:00
Gregory Nutt
4ff17b3904
Move group logic from sched/ to sched/group
2014-08-08 14:06:42 -06:00
Gregory Nutt
e10a23ae50
Move environment files from sched/ to sched/environ
2014-08-08 13:53:29 -06:00
Gregory Nutt
cb79407ced
Move all pthread files from sched/ to sched/pthread
2014-08-08 12:55:02 -06:00
Gregory Nutt
0385a00a60
Move signal-related files from sched/ to sched/signal
2014-08-08 12:44:44 -06:00
Gregory Nutt
08879ca34c
Move POSIX message queue files from sched/ to sched/mqueue
2014-08-08 12:31:23 -06:00
Gregory Nutt
5ee57bda59
Some final tickless OS bugfixes. No longer EXPERIMENTAL. Update some comments
2014-08-07 19:11:22 -06:00
Gregory Nutt
c9661ad5a7
Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors
2014-08-07 18:00:38 -06:00
Gregory Nutt
17ea50b45e
Fix compler error in tickless code when round robin scheduling is enabled. Other cosmetic fixes to comments
2014-08-07 14:14:09 -06:00
Gregory Nutt
0aa7209765
Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK. This gives more options for system timers in general, but more importantly, let's us realize higher resolution for the case of CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new interger overvflow problems
2014-08-07 13:42:47 -06:00
Gregory Nutt
caba61999a
Remove CONFIG_DISABLE_CLOCK
2014-08-07 12:35:24 -06:00
Gregory Nutt
520a51a3e1
Implements the tickless OS
2014-08-07 11:39:16 -06:00
Gregory Nutt
aaafcfd688
if CONFIG_SCHED_TICKLESS is defined, then the global variable g_system_timer does not exist.
2014-08-06 18:29:05 -06:00
Gregory Nutt
a1ae9d36df
Don't build in sched_processtimer.c if CONFIG_SCHED_TICKLESS is selected.
2014-08-06 18:28:51 -06:00
Gregory Nutt
b0324c00ee
Uses interval timer interfaces to get the time if CONFIG_SCHED_TICKLESS is selected.
2014-08-06 18:28:08 -06:00
Gregory Nutt
a93fdc165d
Use the clock_systimer() macro, do access the g_system_timer() global directly.
2014-08-06 18:27:35 -06:00
Gregory Nutt
0452b1555b
if CONFIG_SCHED_TICKLESS is defined, then the global variable g_system_timer does not exist
2014-08-06 18:26:16 -06:00
Gregory Nutt
f0eb4235d1
Add a new option CONFIG_SCHED_TICKLESS to enable the tickless OS. This is a work in progress but should be relatively safe since the new features are only enabled by this option (Safer but not 100% safe since it does not protect from typos and other dumb errors).
2014-08-06 18:25:42 -06:00
Gregory Nutt
19abe47a6f
sem_wait: Use set_errno() and get_errno(). Direce access inside the OS may not be supported in the future.
2014-07-31 15:01:37 -06:00
Gregory Nutt
e3310888e2
Cosmet updates to some comments
2014-07-17 17:58:24 -06:00
Gregory Nutt
0da9aaeb09
Fix some recurring typos: postion->position, *atino->*ation
2014-07-08 13:12:36 -06:00
Gregory Nutt
3b81e58047
NET: Fix some errors in recent network I/O buffering when stack runs from interrupt level
2014-06-28 11:35:14 -06:00
Gregory Nutt
0daf30675c
Fix conditional compilation for CLOCK_MONTONIC. From Manuel Stühn
2014-06-23 11:01:31 -06:00
Gregory Nutt
90b82696ac
Move SAMA5D3 MPDDRC definitions to a separate header file
2014-06-10 08:11:31 -06:00
Gregory Nutt
4035ed8c6c
CONFIG_START_YEAR/MONTH/DAY not required if an RTC is used
2014-05-26 07:45:15 -06:00
Gregory Nutt
44a3397283
sig_mqnotempty(): Test for a valid signal number inverted. From eero.nurkkala
2014-05-20 07:38:43 -06:00
Gregory Nutt
84d28641b7
SAM4S Xplained Pro: Clean-up of LED usage and also some integration of new timer features. From Bob Doiron
2014-05-05 14:38:29 -06:00
Gregory Nutt
79d9e9cccd
If the CPU load measurements are being driven by an external clock, then the prototype for sched_process_cpuload() must be available in include/nuttx/arch.h
2014-04-30 15:47:55 -06:00
Gregory Nutt
8d758a13de
The CONFIG_SYSTEMTICK_EXTCLK selection should only be available on systems that support it
2014-04-30 15:32:06 -06:00
Gregory Nutt
f7485ea962
Updated system timer logic from Bob Doiron
2014-04-30 14:46:26 -06:00
Gregory Nutt
33ddbeab16
STM32: More places where up_prioritize_irq is called when CONFIG_ARCH_IRQPRIO is not defined. Sourceforge ticket #26
2014-04-28 07:07:47 -06:00
Gregory Nutt
1909c44f87
Minor updates to READMEs and comments
2014-04-27 11:38:24 -06:00
Gregory Nutt
ee86b7afb9
ZNeo: update calibration
2014-04-25 12:38:56 -06:00
Gregory Nutt
daf6d347fc
Updates to ZNeo configurations + misc cosmetic changes to comments
2014-04-25 11:59:17 -06:00
Gregory Nutt
61555fe5e1
Various SAM4S related fixes, mostely related to the timer driver driver and the SAM4S timer/counter. All from Bob Doisin
2014-04-22 09:01:20 -06:00
Gregory Nutt
a8cb0ad8f4
Add debug assertion on failure to allocate a watchdog
2014-04-21 19:16:12 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
494387b33b
Make sure that there is one space after for
2014-04-12 13:28:22 -06:00
Gregory Nutt
056aed1274
Make sure that there is one space between while and condition
2014-04-12 13:09:48 -06:00
Gregory Nutt
c208b25f89
Add some checks: if getpid() or get_errno_ptr() are called very early in the initialization sequence, they would fail
2014-04-10 10:20:44 -06:00
Gregory Nutt
6be62a7ef3
configs/*/defconfig: Increase the number of pre-allocated watchdogs in configurations that use networking or USB
2014-04-09 10:57:56 -06:00
Gregory Nutt
cbdc9155ab
SAMA5: Add support for DBGU. Xplained board now uses DBGU for the serial console
2014-04-01 11:24:15 -06:00
Gregory Nutt
70815e5673
sched/Kconfig: Add another layer of menuing to simply this level
2014-03-31 11:32:22 -06:00
Gregory Nutt
4f59bc5878
Add CONFIG_CLOCK_MONTONIC
2014-03-31 10:01:03 -06:00
Gregory Nutt
8772a4e104
Add support for CLOCK_MONOTONIC. From Macs N
2014-03-31 09:25:50 -06:00
Gregory Nutt
9f2ee0966a
SAM4E-EK NSH: Increase the number of preallocated WDOGS to 32 to avoid timeout failures
2014-03-21 11:22:50 -06:00
Gregory Nutt
805916901a
nanosleep(): Was not re-enabling interrupts. Fix from Jason Jiang
2014-03-15 07:33:05 -06:00
Gregory Nutt
7f739b0411
Support an asynchronous, 'external' clock to get better CPU load measurements
2014-02-27 14:13:53 -06:00
Gregory Nutt
cb0d49047a
Fix how CPU load counts are adjusted so that the total always adds up to 100%
2014-02-27 11:16:15 -06:00
Gregory Nutt
0610be935d
prtdiff_t: Defined in both stddef and sys/types
2014-02-25 12:40:49 -06:00
Gregory Nutt
3b2a3991dd
A few fixes for the per-process load average calculation
2014-02-23 12:50:51 -06:00
Gregory Nutt
cf4a362ab5
CPU load calculations now available for all threads. Available in /proc/pid/loadavg
2014-02-23 10:55:01 -06:00
Gregory Nutt
59769d44f1
Add logic to meaure and calculate the CPU load percentage. From David Alessio
2014-02-22 15:20:12 -06:00
Gregory Nutt
d092f888fb
Add CONFIG_DEFAULT_SMALL that will select default values for configuration settings based upon either more features or smaller footprint. Turns out not be be useful for modifying existing defconfig files because the defaults do not apply in that case
2014-02-20 18:49:45 -06:00
Gregory Nutt
3be307bc25
sched/task_terminate always return an error because return value was not being set correctory. From Gosha
2014-02-18 11:50:32 -06:00
Gregory Nutt
5bbe3a4992
configs/viewtool-stm32f107/netnsh: Increase the number of pre-allocated watchdog timers.
2014-01-22 17:14:10 -06:00
Gregory Nutt
803cdfdaf1
Changes to get PX4 config to build. Also some warning removal
2014-01-14 13:30:22 -06:00
Gregory Nutt
1da566f27b
Make sure that the Z16F build still builds and runs
2014-01-01 10:29:44 -06:00
Gregory Nutt
43e47f8e78
NX server needs to be on a kernel thread for the kernel build
2013-12-30 17:55:19 -06:00
Gregory Nutt
a00e2987c4
Various changes for a clean ZNEO ZDS-II build
2013-12-19 10:01:52 -06:00
Gregory Nutt
7a173d58b5
/proc/uptime logic needs to sample timer in case multiple reads are used to read the time
2013-12-14 15:25:23 -06:00
Gregory Nutt
d6b81cc7ef
A10: Timer interrupt handler
2013-12-13 12:42:26 -06:00
Gregory Nutt
7aff059fd0
Move sleep() and usleep() from sched/ to libc/unistd/. These functions now are simple wrappers for nanosleep(). Remove sleep() and usleep() from system calls; add nanosleep() to system calls
2013-12-13 07:57:13 -06:00
Gregory Nutt
342e777029
Add nanosleep()
2013-12-12 20:12:33 -06:00
Gregory Nutt
692b087d07
LM: Don't initialize .data if running in SRAM. Global missing intialize type. SAMA5 NAND: Fix for read nand in smaller chunks
2013-12-05 10:37:55 -06:00
Gregory Nutt
6e7c9b93c6
fs/procfs: Add a tiny, primitive procfs file system. Might get more interesting in the future
2013-11-13 15:59:14 -06:00
Gregory Nutt
d9f16bba82
apps/platform: A new now for platform-specific applicatin code
2013-10-30 09:04:37 -06:00
Gregory Nutt
d812f25496
sched/sched_releasetcb.c: Fix an error handling case where a pthread start-up fails early, before the task type has been saved in the TCB. It is safer to use the sched_releasetcb() task type argument instead of relying on the task type in the TCB to be valid. Reported by David Sidrane
2013-10-27 17:22:28 -06:00
Gregory Nutt
30ffd2364c
Remove some warnings
2013-10-01 12:10:09 -06:00
Gregory Nutt
e1f9d22482
OS startup logic should not call group_setupidelfiles() if there is no file system support configured
2013-09-27 13:11:34 -06:00
Gregory Nutt
a72fb7dc89
Stack monitor fixes
2013-09-24 12:13:53 -06:00
Gregory Nutt
bc46b447dc
Fix all occurrences of "the the" in documentation and comments
2013-08-27 09:40:19 -06:00
Gregory Nutt
c4ec723089
SAMA5 page table is cached; need to flush the cache each time that the page table is updated
2013-07-27 09:27:37 -06:00
Gregory Nutt
961837eaaf
Fix an assertion
2013-06-02 16:49:41 -06:00
Gregory Nutt
4748599a43
.dSYM only needs to be in the same .gitignore files as .exe
2013-05-30 15:02:04 -06:00
Gregory Nutt
7554d2888e
Upate .gitignore files. Add .dSYM. Make sure / is present where needed. Add some missing .gitignore files
2013-05-30 14:45:31 -06:00
Gregory Nutt
88c0911fb1
Various changes and bigfixes for problems detected by CppCheck
2013-05-09 14:23:34 -06:00
Gregory Nutt
1f616ecf1f
Move task_terminate to its own C file to prevent drawing task_delete into the link
2013-04-25 16:23:30 -06:00
Gregory Nutt
f9b9875952
Various Kconfig files still have references to CONFIG_ variables. Some in harmless comments, some in config definionts which is not harmless. All removed
2013-04-25 15:52:00 -06:00
Gregory Nutt
86b815373a
Remove up_assert_code
2013-04-25 15:19:59 -06:00
Gregory Nutt
7fe5a2b78d
Minor Freedom-KL25Z updates
2013-04-24 16:46:38 -06:00
Gregory Nutt
73e48ad7b4
Some cosmetic renaming
2013-04-23 17:41:30 -06:00
Gregory Nutt
927dd57ef2
Reviewed all task exit logic. For pthread_exit() moved some logic higher in the exit sequence that could be required to block. For lower level logic kicked off by _exit(), add logic to prevent blocking when the task is not in a healthy state.
2013-04-23 16:41:43 -06:00
Gregory Nutt
b553609351
New Kconfig convention: Extra indentation in comments will render as HTML preformatted text
2013-04-22 09:10:58 -06:00
Gregory Nutt
2848f657ed
Fix comments, references to the old SVN, and links to the old SVN. Replace with equivalent GIT info
2013-04-19 18:35:06 -06:00
Gregory Nutt
5187631e30
_exit() should not call atexit() or on_exit() functions; Rename task_deletecurrent() to task_exit()
2013-04-18 16:15:20 -06:00
Gregory Nutt
c128edffd2
Don't flush streams until the final thread of a group exits
2013-04-18 11:41:11 -06:00
Gregory Nutt
db78b76102
Mostly updates and corrections to .gitignore files
2013-04-04 15:39:50 -06:00
Gregory Nutt
23db0682b7
Clone svn:ignore directory atributed to .gitignore files
2013-04-04 14:27:29 -06:00
patacongo
a1344d8a44
Rework of kernel build signal dispatch to user-space handlers
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5778 42af7a65-404d-4744-a932-0658087f49c3
2013-03-23 14:46:02 +00:00
patacongo
a31d1f331b
Corrections needed after further test of stack-based task arguments
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5771 42af7a65-404d-4744-a932-0658087f49c3
2013-03-21 23:37:11 +00:00
patacongo
5453d1f2e5
In the kernel build, pass task paramters in the stack, not using the arrary in the TCB
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5770 42af7a65-404d-4744-a932-0658087f49c3
2013-03-21 21:51:15 +00:00
patacongo
ee885b45d8
Copy siginfo_t to step before calling a user-space signal handler
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5769 42af7a65-404d-4744-a932-0658087f49c3
2013-03-21 20:02:14 +00:00
patacongo
3bf2c1b355
Change prototypes of up_create_stack and up_release_stack to include a task type parameter
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5765 42af7a65-404d-4744-a932-0658087f49c3
2013-03-20 18:22:21 +00:00
patacongo
854dbf19e5
Add support for ram vectors to the ARMv7-M architecture
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5756 42af7a65-404d-4744-a932-0658087f49c3
2013-03-18 21:10:08 +00:00
patacongo
b3890db5ce
Add support for calling to and returning from signal handlers in in user-mode threads
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5750 42af7a65-404d-4744-a932-0658087f49c3
2013-03-17 00:40:49 +00:00
patacongo
76d1ad21f2
Fix bad conditional logic in mkconfig.c; Add user-mode pthread start-up logic
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5748 42af7a65-404d-4744-a932-0658087f49c3
2013-03-16 17:37:40 +00:00
patacongo
5b98834f2f
Fix more compile errors and warnings introduced in recent commits
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5744 42af7a65-404d-4744-a932-0658087f49c3
2013-03-15 01:32:47 +00:00
patacongo
3e8bfb1fe1
Switch to user-mode before starting a new task
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5742 42af7a65-404d-4744-a932-0658087f49c3
2013-03-14 22:44:06 +00:00
patacongo
14298ad8b8
Fixe to kernel build and syscalls.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5738 42af7a65-404d-4744-a932-0658087f49c3
2013-03-13 17:32:37 +00:00
patacongo
93967f8b7f
Fix some ARMv7-M syscall logic
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5736 42af7a65-404d-4744-a932-0658087f49c3
2013-03-12 21:53:18 +00:00
patacongo
73ef58fda6
A few early fixes in kernel build testing
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5734 42af7a65-404d-4744-a932-0658087f49c3
2013-03-12 16:02:48 +00:00
patacongo
1549b649a6
Reorganize some AT91SAM3U files; Add an NSH kernel build configuration to the WaveSahhare Open1788 board
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5732 42af7a65-404d-4744-a932-0658087f49c3
2013-03-11 20:26:55 +00:00
patacongo
2b64d4742a
Fix a typo that crept into lpc17_allocateheap.c in the recent kernel allocator changes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5729 42af7a65-404d-4744-a932-0658087f49c3
2013-03-11 13:21:33 +00:00
patacongo
2433c1461b
Remove user_map.h; replace with a header at the beginning of the user-space blob. User work queue no started by os_brinup() on behalf of the application
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5727 42af7a65-404d-4744-a932-0658087f49c3
2013-03-10 23:42:49 +00:00
patacongo
1ef904003e
Create sched_ufree and sched_kfree from sched_free; Use user-accessible heap to allocae stacks
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5725 42af7a65-404d-4744-a932-0658087f49c3
2013-03-10 15:32:33 +00:00
patacongo
1c52dce216
More changes for a kernel-mode allocator (more to be done)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5724 42af7a65-404d-4744-a932-0658087f49c3
2013-03-09 21:12:20 +00:00
patacongo
0db8dc83ee
up_addregion should use kmm_addregion; move garbage kmm*.c file to mm/. for now
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5721 42af7a65-404d-4744-a932-0658087f49c3
2013-03-08 22:01:50 +00:00
patacongo
6feabf0fee
Implement user-mode work queues
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5712 42af7a65-404d-4744-a932-0658087f49c3
2013-03-06 00:02:07 +00:00
patacongo
4134862fb2
Move work queue logic from sched/ to libc/wqueue. It is not core logic and will be extended to support user-space work queues
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5711 42af7a65-404d-4744-a932-0658087f49c3
2013-03-05 18:57:51 +00:00
patacongo
95af0bc8bf
Updated Open1788 calibration; More compilation fixes from Mike Smith
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5707 42af7a65-404d-4744-a932-0658087f49c3
2013-03-05 13:20:26 +00:00
patacongo
be1b67a1a2
Add debug output when memory allocations fail
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5686 42af7a65-404d-4744-a932-0658087f49c3
2013-02-28 15:31:58 +00:00
patacongo
64235de94a
Add a THTTPD configuratin for zkit-arm-1769
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5675 42af7a65-404d-4744-a932-0658087f49c3
2013-02-26 16:28:30 +00:00
patacongo
a13e9e8139
Add port to Zilogic Systems ZKIT-ARM-1769 board (more coming)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5673 42af7a65-404d-4744-a932-0658087f49c3
2013-02-26 14:09:43 +00:00
patacongo
869dc0cd9b
Minor changes to make OS test more robust in the presence of many memory allocation failures
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5672 42af7a65-404d-4744-a932-0658087f49c3
2013-02-26 00:56:59 +00:00
patacongo
00f407ed39
More Cortex-M0/NUC120 fixes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5670 42af7a65-404d-4744-a932-0658087f49c3
2013-02-25 18:36:25 +00:00
patacongo
d932e56dca
STM32 F4 patches from Petteri Aimonen (mostly USB)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5652 42af7a65-404d-4744-a932-0658087f49c3
2013-02-15 14:37:37 +00:00
patacongo
19c205e9da
STM32F3Discovery passes all OS tests; Delay loop has been calibrated
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5629 42af7a65-404d-4744-a932-0658087f49c3
2013-02-09 00:26:52 +00:00
patacongo
7ed910d7cd
Fix some problems with the vfork() test on the STM32F3Discovery
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5628 42af7a65-404d-4744-a932-0658087f49c3
2013-02-08 22:53:14 +00:00
patacongo
26f6f91e03
Fixes to get STM32F3Discovery running
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5627 42af7a65-404d-4744-a932-0658087f49c3
2013-02-08 21:42:23 +00:00
patacongo
1d6f0cbbd3
Some fixes needed for STM32 build after recent scheduler changes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5620 42af7a65-404d-4744-a932-0658087f49c3
2013-02-07 16:58:43 +00:00
patacongo
5c093af766
Changed needed to fix issues with task_restart()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5615 42af7a65-404d-4744-a932-0658087f49c3
2013-02-06 15:43:28 +00:00
patacongo
1fc1a2514e
Misc clean-up and bugfixes related to multi-thread group signalling
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5614 42af7a65-404d-4744-a932-0658087f49c3
2013-02-06 00:06:35 +00:00
patacongo
bbf990f417
Moving pending signals to task group; Logic to recover some MQ resources on pthread_cacancel or task_delete; Now obeys rules for delivering signals to a process with threads
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5613 42af7a65-404d-4744-a932-0658087f49c3
2013-02-05 19:50:37 +00:00
patacongo
126e46a1e7
Bugfix: whenever a thread it must report the PID of the main task (even it is not the main task) with SIGCHLD
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5612 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 22:38:59 +00:00
patacongo
7b3ec4e146
Divide struct tcb_s into structs task_tcb_s and pthread_tcb_s
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5611 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 21:24:00 +00:00
patacongo
b48009644f
Rename _TCB to struct tcb_s
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5610 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 18:46:28 +00:00
patacongo
5475d02446
Move list of open message queues to task group. Now message queues opened by members of the group will be closed when the last member of the group exits.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5609 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 16:55:38 +00:00
patacongo
ce722fd1e3
Move waitpid() data structures to task group; The caller of waitpid() is now only awakened when the final thread of the task group exits
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5608 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 16:02:20 +00:00
patacongo
b1bf234bf3
Move atexit/on_exit data structures to task group; Now callbacks only occur when the final member of the task group exits
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5607 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 15:29:19 +00:00
patacongo
2c81ddf0d3
Make the names of the execsem consistent; Need defaults for some CONFIG_ settings
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5605 42af7a65-404d-4744-a932-0658087f49c3
2013-02-03 18:36:46 +00:00
patacongo
d0003c1a00
Now that join info is in the task group, need to free when task group exits. Used to be stranded
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5603 42af7a65-404d-4744-a932-0658087f49c3
2013-02-03 17:39:54 +00:00
patacongo
46bb05696e
Move pthread join and key creation data into the task group
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5602 42af7a65-404d-4744-a932-0658087f49c3
2013-02-03 16:43:58 +00:00
patacongo
30a0cdf33e
Correct a memory leak in NSH
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5600 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 23:56:54 +00:00
patacongo
329328e5df
New interface task_spawn(); exec_builtin() now uses task_spawn(); All argv types should be char * const * not const char **
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5598 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 19:31:30 +00:00
patacongo
68b11dc1ee
Add configs/stm32f4discovery/usbnsh
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5572 42af7a65-404d-4744-a932-0658087f49c3
2013-01-27 19:17:56 +00:00
patacongo
151dfee1f9
Add a start hook that can be setup to call a function in the context of a new thread before the new threads main() has been called.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5571 42af7a65-404d-4744-a932-0658087f49c3
2013-01-27 15:52:58 +00:00
patacongo
4c3b71131e
Move socket data from TCB to task group structure.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5570 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 23:49:02 +00:00
patacongo
a71843ef91
Move stream data from TCB to task group structure.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5569 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 22:25:21 +00:00
patacongo
d5582f35af
Fix a recently introduced memory leak
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5568 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 21:01:19 +00:00
patacongo
ff293217de
Move file data from TCB to task group
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5567 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 20:17:29 +00:00
patacongo
fc8136d5d3
Don't keep the parent task's task ID in the child task's TCB. Instead, keep the parent task group IN the child task's task group.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5566 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 17:28:20 +00:00
patacongo
0cefbf4762
Move environment variables in the task group structure
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5565 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 23:21:27 +00:00
patacongo
c9752dfb87
Add logic to send SIGCHLD to all members of a task group
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5564 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 20:00:37 +00:00
patacongo
a35fcc5970
Add logic to keep track of members of a task group
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5563 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 19:15:05 +00:00
patacongo
03fd50017d
Add framework to support task groups
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5562 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 17:23:38 +00:00
patacongo
99603c9a02
Fix some compilation errors when child status disabled; new waitpid logic not encoding/decoding status properly
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5561 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 00:01:08 +00:00
patacongo
caf5fdf217
Fix some missing logic and inconsistencies in child status logic; Fix a bug introduced into sigaction()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5560 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 23:18:32 +00:00
patacongo
44c3becee8
Add psock_poll(); Fix some warnings reported by Lorenz Meier; lm4f logic from JP
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5557 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 18:39:53 +00:00
patacongo
4709eeb41a
apps/examples/nettest and poll: Complete Kconfig files
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5556 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 16:28:15 +00:00
patacongo
f8f64377d6
Convert configs/olimex-lpc1766stk/nettest to use kconfig-frontends
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5555 42af7a65-404d-4744-a932-0658087f49c3
2013-01-24 14:14:44 +00:00
patacongo
3736ae6ba9
Add logic to retain child task exit status if so configured
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5553 42af7a65-404d-4744-a932-0658087f49c3
2013-01-23 22:23:46 +00:00
patacongo
21817ecc38
lpc1788 update from Rommel Marcelo; Beginning of logic to retain child exit status
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5549 42af7a65-404d-4744-a932-0658087f49c3
2013-01-22 23:42:51 +00:00
patacongo
29cdbe6143
Beginnings of definitions for the LPC1788; convert olimex-lpc1766stk to use kconfig-frontends
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5533 42af7a65-404d-4744-a932-0658087f49c3
2013-01-18 16:37:37 +00:00
patacongo
3888a00d2d
Add internal API task_reparent(), used in posix_spawn(). Move libc/spawn/lib_ps.c to sched/task_posixspawn.c; Move libc/spawn/spawn.h to include/nuttx/spawn.h
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5531 42af7a65-404d-4744-a932-0658087f49c3
2013-01-18 01:52:42 +00:00
patacongo
956bded9c1
Add logic to automatically unload module on exit; Several patches from Mike Smith
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5528 42af7a65-404d-4744-a932-0658087f49c3
2013-01-17 14:43:55 +00:00
patacongo
8c3c7314a8
Implement vfork() for the MIPS32 architecture
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5520 42af7a65-404d-4744-a932-0658087f49c3
2013-01-15 15:40:18 +00:00
patacongo
5a2eda210b
Finish dup logic for open files; fix bug in sigtimedwait(), would return wrong signo value if the signal was already pending
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5517 42af7a65-404d-4744-a932-0658087f49c3
2013-01-14 19:22:32 +00:00
patacongo
b8e53dad52
Use SIGCHLD with waitpid(); implemented wait() and waitid()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5515 42af7a65-404d-4744-a932-0658087f49c3
2013-01-13 18:53:00 +00:00
patacongo
5ddbdd9ee9
Cosmetic cleanup from SIGCHLD changes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5514 42af7a65-404d-4744-a932-0658087f49c3
2013-01-13 00:35:47 +00:00
patacongo
3f0b723b7c
Fix a *critical* bug in the task exit logic. Implements SIGCHILD
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5513 42af7a65-404d-4744-a932-0658087f49c3
2013-01-12 19:58:45 +00:00
patacongo
eb413a9145
Various changes while debugging posix_spawn
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5510 42af7a65-404d-4744-a932-0658087f49c3
2013-01-11 16:53:44 +00:00
patacongo
b7369de8e4
Add missing support for signal masks to posix_spawn.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5505 42af7a65-404d-4744-a932-0658087f49c3
2013-01-10 18:31:08 +00:00
patacongo
7bb46c2166
Fix rounding in clock_time2ticks(). From Mike Smith.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5502 42af7a65-404d-4744-a932-0658087f49c3
2013-01-10 14:07:30 +00:00
patacongo
190e47d637
Add ostest vfork test (does not work yet)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5488 42af7a65-404d-4744-a932-0658087f49c3
2013-01-07 21:41:20 +00:00
patacongo
8811cbdb94
This initial vfork() check-in was a little pollyanna-ish
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5487 42af7a65-404d-4744-a932-0658087f49c3
2013-01-07 19:35:47 +00:00
patacongo
d3c0c8cecb
Remove CONFIG_BUILTIN_APPS_START
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5482 42af7a65-404d-4744-a932-0658087f49c3
2013-01-06 17:00:08 +00:00
patacongo
869c3fa50b
Fixes for l3s, USB composite, nfsmount, apps context build problems
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5458 42af7a65-404d-4744-a932-0658087f49c3
2012-12-24 17:49:58 +00:00
patacongo
bbcf3ce491
Correct round-to-ticks logic in sigtimedwait()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5457 42af7a65-404d-4744-a932-0658087f49c3
2012-12-24 14:31:02 +00:00
patacongo
da5eff8f12
Rename namedapp as simply builtin
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5454 42af7a65-404d-4744-a932-0658087f49c3
2012-12-23 20:22:41 +00:00
patacongo
c2be20d319
Add basic hooks to support a PATH variable (more is needed)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5440 42af7a65-404d-4744-a932-0658087f49c3
2012-12-16 21:15:27 +00:00
patacongo
cc0536eae9
configs/p112: Add a configuration for the Z180 P112 board
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5429 42af7a65-404d-4744-a932-0658087f49c3
2012-12-11 21:42:15 +00:00
patacongo
0f218d0e00
Add support for the Z180 MMU and generic hooks for processes
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5428 42af7a65-404d-4744-a932-0658087f49c3
2012-12-11 18:04:04 +00:00
patacongo
df9a72994f
configs/xtrs/nsh and pashello now use kconfig-frontends and build Windows native
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5422 42af7a65-404d-4744-a932-0658087f49c3
2012-12-09 17:34:53 +00:00
patacongo
bdf4201e3b
Fix backward conditional compilation in work_queue.c
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5394 42af7a65-404d-4744-a932-0658087f49c3
2012-11-27 17:22:32 +00:00
patacongo
a5766b967e
Fixe task_exithook() bug; fix timer usage in STM32 OTGFS host driver
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5386 42af7a65-404d-4744-a932-0658087f49c3
2012-11-25 18:00:40 +00:00
patacongo
f8ad7573a5
Update for ez80 Windows native build (still does not work)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5377 42af7a65-404d-4744-a932-0658087f49c3
2012-11-21 17:44:14 +00:00
patacongo
9b37a2c4fc
Implement pause()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5376 42af7a65-404d-4744-a932-0658087f49c3
2012-11-21 00:39:30 +00:00
patacongo
469ec154c0
Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5373 42af7a65-404d-4744-a932-0658087f49c3
2012-11-20 15:47:41 +00:00
patacongo
26c9112ad2
Most of the changes needed to support Windows native clean; distclean is has a problem
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5367 42af7a65-404d-4744-a932-0658087f49c3
2012-11-17 18:54:53 +00:00
patacongo
f751d36eee
Move some (hopefully) un-necessary quotes in Makefiles for Mike
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5356 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 17:43:29 +00:00
patacongo
a5f761c24e
Correct some issues with last check-in; ez80 still does not build
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5339 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 23:44:31 +00:00
patacongo
a1cf659333
Completes removal bash ARCHIVE loop; Adds basic Makefile for native windows build
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5338 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 18:36:28 +00:00
patacongo
3d2879fc4e
Partial change: Removing bash ARCHIVE loop
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5335 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 15:42:12 +00:00
patacongo
e162e760f7
Fixes for warnings from Freddie Chopin
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5294 42af7a65-404d-4744-a932-0658087f49c3
2012-11-01 21:21:54 +00:00
patacongo
27c6b6263f
Add __cxa_atexit(); atexit() is now built on top of on_exit()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5292 42af7a65-404d-4744-a932-0658087f49c3
2012-11-01 16:50:53 +00:00
patacongo
2965981947
Documentation update
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5279 42af7a65-404d-4744-a932-0658087f49c3
2012-10-30 19:25:50 +00:00
patacongo
5f470bd756
Add XML RPC server plus NXWM build fixes from Max Holtzberg
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5150 42af7a65-404d-4744-a932-0658087f49c3
2012-09-14 14:07:21 +00:00
patacongo
3fcb8d9d6c
Fixes for z80 compilation with SDCC toolchain. There are still a few header file and linker issues
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5149 42af7a65-404d-4744-a932-0658087f49c3
2012-09-13 22:04:47 +00:00
patacongo
f6b727fa27
Changes needed for clean ez80 compile with ZDS toolchain
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5147 42af7a65-404d-4744-a932-0658087f49c3
2012-09-13 19:33:47 +00:00
patacongo
f39a3c9417
Remove several unused configuration values
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5113 42af7a65-404d-4744-a932-0658087f49c3
2012-09-08 04:29:48 +00:00
patacongo
2a6c280b7a
Add LPC31 Kconfig
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5104 42af7a65-404d-4744-a932-0658087f49c3
2012-09-06 20:08:25 +00:00
patacongo
17e0c5198e
Changes to Kconfig and matching defconfig files
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5085 42af7a65-404d-4744-a932-0658087f49c3
2012-09-04 14:43:56 +00:00
patacongo
561bea0899
Add support for multiple work queues
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5081 42af7a65-404d-4744-a932-0658087f49c3
2012-09-04 00:54:09 +00:00
patacongo
45ce0132db
Fix workqueue assertion; STM32 power management
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5079 42af7a65-404d-4744-a932-0658087f49c3
2012-09-02 13:37:28 +00:00
patacongo
435dbaacd8
Add configurable application entry point
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5070 42af7a65-404d-4744-a932-0658087f49c3
2012-08-30 20:13:50 +00:00
patacongo
94a048002b
Add perror()
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5061 42af7a65-404d-4744-a932-0658087f49c3
2012-08-28 19:01:14 +00:00
patacongo
da30d409a0
Add some protection to the priority inheritance logic when sem_post() is called from an interrupt handler
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5060 42af7a65-404d-4744-a932-0658087f49c3
2012-08-28 14:40:12 +00:00
patacongo
c18b47aafb
More patches/bugfixes from Kate
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5056 42af7a65-404d-4744-a932-0658087f49c3
2012-08-26 23:29:37 +00:00
patacongo
a6e8ab1d51
waitpid(): Move some logic inside of a critical section
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5054 42af7a65-404d-4744-a932-0658087f49c3
2012-08-26 22:00:38 +00:00
patacongo
c611d361c1
Fix some list handling associated with priority inheritance
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5053 42af7a65-404d-4744-a932-0658087f49c3
2012-08-26 21:35:14 +00:00
patacongo
6d011bfad4
Auto-configuration updates from Richard Cochran
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5032 42af7a65-404d-4744-a932-0658087f49c3
2012-08-17 14:07:48 +00:00
patacongo
8e9e6b1103
Fix max filename size report by FAT statfs with long file names; Add missing logic to support fieldwidth and justification for %s format; Add extended help options. Default help command just shows a short list of commands. Verbose and single command help options
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5008 42af7a65-404d-4744-a932-0658087f49c3
2012-08-04 22:00:18 +00:00
patacongo
39f2ca6c1f
Move RAMLOG driver to drivers/syslog; Add ability to output debug information to any character device or file
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4996 42af7a65-404d-4744-a932-0658087f49c3
2012-08-02 00:42:46 +00:00
patacongo
56580875ab
atexit() and on_exit() may now be configured to support multiple exit callbacks
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4995 42af7a65-404d-4744-a932-0658087f49c3
2012-08-01 17:47:54 +00:00
patacongo
cc7c05960e
Lock the scheduler when starting NSH builtin applications to eliminate race conditions
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4988 42af7a65-404d-4744-a932-0658087f49c3
2012-07-28 18:38:13 +00:00
patacongo
622455d762
Fix STM32 F2/F4 SDIO clocking; Clean-up files in sched/ directory
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4940 42af7a65-404d-4744-a932-0658087f49c3
2012-07-14 19:30:31 +00:00
patacongo
cb4999caa8
Fix a bad interrupt state in the PIC32 IDLE loop when the work queue is enabled
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4805 42af7a65-404d-4744-a932-0658087f49c3
2012-06-06 01:44:57 +00:00
patacongo
bea43b32c0
Fix return values from sleep(), usleep(), and sigtimedwait(). Fix STM32 F2 I2C bug-for-bug compatibility
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4786 42af7a65-404d-4744-a932-0658087f49c3
2012-05-30 15:36:46 +00:00
patacongo
d4822f6b95
Fix a C++ link issue: If constant strings used only in constructor, the don't get linked into the final executable
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4743 42af7a65-404d-4744-a932-0658087f49c3
2012-05-17 16:55:13 +00:00
patacongo
fff30844b5
Fix several compiler errors that occur when CONFIG_SCHED_ONEXIT is enabled; on_exit is now used in NxWM::NxConsole to close the window with the NSH session exits
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4738 42af7a65-404d-4744-a932-0658087f49c3
2012-05-15 00:45:14 +00:00
patacongo
981846cb54
Add task switching instrumentation for missing case. Contributed by Petri Tanskanen.
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4734 42af7a65-404d-4744-a932-0658087f49c3
2012-05-14 01:03:19 +00:00
patacongo
a65d283e96
Fix some warnings and fix some simulator builds
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4688 42af7a65-404d-4744-a932-0658087f49c3
2012-05-02 15:36:19 +00:00
patacongo
c3b904966c
Configuration for Sparkfun UBW32 board
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4660 42af7a65-404d-4744-a932-0658087f49c3
2012-04-26 20:11:46 +00:00
patacongo
4ec728d71f
Fix instrumenation in task_delete(); fix prctl parameter order
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4659 42af7a65-404d-4744-a932-0658087f49c3
2012-04-26 16:06:54 +00:00
patacongo
97301a8aed
Add interfaces to support getting/setting of thread/task names
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4658 42af7a65-404d-4744-a932-0658087f49c3
2012-04-26 15:00:35 +00:00
patacongo
189623b8af
Rename some USB device files
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4645 42af7a65-404d-4744-a932-0658087f49c3
2012-04-23 16:49:15 +00:00
patacongo
5e1e0b61fb
Fix atexit() function being called twice
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4644 42af7a65-404d-4744-a932-0658087f49c3
2012-04-23 13:59:31 +00:00
patacongo
675c2e46b2
Fix sched_setscheduler() return value
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4629 42af7a65-404d-4744-a932-0658087f49c3
2012-04-18 13:24:39 +00:00
patacongo
1dc41e329b
Kconfig update
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4599 42af7a65-404d-4744-a932-0658087f49c3
2012-04-13 14:27:44 +00:00
patacongo
e45c3b97b3
Kconfig update
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4597 42af7a65-404d-4744-a932-0658087f49c3
2012-04-12 21:52:04 +00:00
patacongo
35a50c6eb2
Misc STM32 OTF FS driver fixes + More Kconfig files
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4590 42af7a65-404d-4744-a932-0658087f49c3
2012-04-11 17:13:04 +00:00
patacongo
1ad8ade695
Updated Kconfig files from Lzyy
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4569 42af7a65-404d-4744-a932-0658087f49c3
2012-04-07 14:50:57 +00:00
patacongo
330b89ca0e
Add kconfig documentation
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4567 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 16:45:52 +00:00
patacongo
4b8c0c41c8
Adding skeleton Kconfig files (part 1 of 2)
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4564 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 15:49:35 +00:00
patacongo
3b74716862
Fix read() return value for the case of permissions problem
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4545 42af7a65-404d-4744-a932-0658087f49c3
2012-03-31 15:13:12 +00:00
patacongo
28752af7d4
NFS update
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4532 42af7a65-404d-4744-a932-0658087f49c3
2012-03-28 00:10:43 +00:00
patacongo
1fbe5f3ecf
Use const storage class on a few declarations to save SRAM
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4523 42af7a65-404d-4744-a932-0658087f49c3
2012-03-25 21:05:02 +00:00