Commit Graph

2259 Commits

Author SHA1 Message Date
Gregory Nutt d7173f2eb5 Font cache: Enforce mutually exclusive access to the font cache 2017-01-06 09:50:30 -06:00
Gregory Nutt 0b52e6f571 Font cache: Replace fixed-size array with variable size link list. 2017-01-06 09:07:25 -06:00
Gregory Nutt dc05af6436 Graphics: Initial separation of font cache from graphics/nxterm. Now in libnx/nxfronts 2017-01-05 18:36:29 -06:00
Gregory Nutt d91cf5736e With last changes the Tom Thumb 3x5 font is now 4x6 2017-01-04 10:31:53 -06:00
Alan Carvalho de Assis 6c826bb209 Add support for Tom Thumb small mono-space font 2017-01-03 11:11:47 -06:00
Gregory Nutt cfb876263a SMP: There were certain conditions that we must avoid by preventing releasing the pending tasks while withn a critical section. But this logic was incomplete; there was no logic to prevent other CPUs from adding new, running tasks while on CPU is in a critical section.
This commit corrects this.  This is matching logic in sched_addreadytorun to avoid starting new tasks within the critical section (unless the CPU is the holder of the lock).  The holder of the IRQ lock must be permitted to do whatever it needs to do.
2016-12-27 08:49:07 -06:00
Gregory Nutt 9e8b1f32d2 sched note: record ID enumeration now results on constant values; ID values do not change with configuration. This makes writing post-processing software much easier 2016-12-24 15:44:21 -06:00
Gregory Nutt 81697f2285 Xtensa ESP32: Fix APP CPU startup... Can't use semaphores on the IDLE thread. 2016-12-20 11:26:37 -06:00
Gregory Nutt f063e4c5ac Remove Calypso architecture support and support for Calypso SERCOMM driver. 2016-12-13 18:35:52 -06:00
Gregory Nutt c83da3c48f Remove minnsh configurations and support logic: up_getc() and lowinstream.
This was an interesting exercise to see just how small you could get NuttX, but otherwise it was not useful:  (1) the NSH code violated the OS interface layer by callup up_getc and up_putc directly, and (2) while waiting for character input, NSH would call up_getc() which would hog all of the CPU.  NOt a reasonably solution other than as a proof of concept.
2016-12-13 18:01:23 -06:00
Gregory Nutt b52e4e5ecd Move cancellation point definitions to their own header file. 2016-12-10 09:08:26 -06:00
Gregory Nutt bc3ca25cc7 Cancellation points: Close up some logic to eliminte some race conditions. 2016-12-10 08:36:58 -06:00
Pierre-Noel Bouteville e9d3c3362a Correct some default font IDs 2016-12-10 07:46:54 -06:00
Gregory Nutt d35e589d56 Flesh basic cancellation point support 2016-12-09 09:44:23 -06:00
Gregory Nutt 82a79b9c1b Add framework for cancellation point support. 2016-12-09 08:13:28 -06:00
Gregory Nutt acaae12e8b Add pthread_testcancel(), pthread_testcancel(), and definitiions for cancellation types. 2016-12-09 07:23:00 -06:00
Gregory Nutt ab43681f15 Update TODO and some comments. 2016-12-08 10:24:40 -06:00
Gregory Nutt a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt a7b688e87b sched notes: Add additional note to see if/when CPU is started in SMP mode. 2016-12-07 09:08:20 -06:00
Gregory Nutt 35dfe25430 Remove BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the board initialization logic just like every other device driver. 2016-12-06 08:51:37 -06:00
Gregory Nutt 55dd1c87b3 Remove all references to BOARDIOC_ADCSETUP 2016-12-05 15:31:40 -06:00
Gregory Nutt b999e63c82 Remove some references to BOARDIOC_PWMTEST and board_pwm_setup(). Still lots more. 2016-12-05 13:54:12 -06:00
Gregory Nutt a431fc77cb Add a forward refeence to elininate a warning. 2016-12-03 16:35:37 -06:00
Gregory Nutt 7467329a98 Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed. 2016-12-03 16:28:19 -06:00
Gregory Nutt 6dda185e8a NX: Remove configuration CONFIG_NX_NXSTART. nx_start.c is now built unconditionally in multi-user mode. 2016-12-01 13:30:24 -06:00
Gregory Nutt ca2d62f86c arp.h: Fix some typos introduce in last big set of commits. 2016-11-29 16:57:19 -06:00
Gregory Nutt c09ae58e3f include/: Remove all references to CONFIG_NET_MULTIBUFFER. d_buf in struct net_driver_s is now always a pointer vs. an array. 2016-11-29 16:08:36 -06:00
Gregory Nutt 9ee3f3b933 sched_note: Permit spinlock and critical section notes in in-memory buffer iff sched_not_get() interfaces is disabled. 2016-11-28 18:36:26 -06:00
Gregory Nutt 00215fbc98 sched_note: Add spinlock instrumentation; In SMP configurations, select to log only notes from certain CPUs 2016-11-28 10:33:46 -06:00
Gregory Nutt d65be718c2 sched_note: Extend OS instrumentation to include some SMP events. 2016-11-27 17:14:57 -06:00
Gregory Nutt e3fe320e08 SMP: Add support for linking spinlocks into a special, non-cached memory region. 2016-11-26 08:47:03 -06:00
Gregory Nutt 7f636f2280 SMP: Add spin_trylock(). Use this in conditions where other CPUs need to stopped but we cannot call enter_critical_section. 2016-11-24 13:33:43 -06:00
Gregory Nutt bac7153609 SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting for g_cpu_irqlock and CPU0 is waitin for g_cpu_paused 2016-11-22 11:34:16 -06:00
Gregory Nutt 8eec4ab0e8 Eliminate a warning 2016-11-22 06:58:34 -06:00
Gregory Nutt 558784d06f Spinlocks: Added capability to provide architecture-specific memory barriers. This was for i.MX6 but does not help with the SMP problems. It is still a good feature. 2016-11-21 11:55:59 -06:00
Gregory Nutt 337d0f1050 Fix a typo in a spinlock macro 2016-11-21 08:27:51 -06:00
Gregory Nutt 6a7619b6f0 Update TODO list 2016-11-19 13:23:15 -06:00
Gregory Nutt a2aba90252 Update some comments 2016-11-19 11:48:08 -06:00
Sebastien Lorquet 5363d0619a Fix warnings 2016-11-18 15:26:08 +01:00
Sebastien Lorquet 197cec58d2 timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage. 2016-11-17 14:38:21 -06:00
Gregory Nutt d4a048c0c6 Timer driver: Add hooks to support signal notification of timer expiration. Commented out because invasive interface changes would also be required to complete the implementation. 2016-11-17 12:41:11 -06:00
Gregory Nutt ecb2d4cbc1 drivers/timer: Remove the TIOC_SETHANDLER IOCTL call. This calls directly from the timer driver into application code. That is non-standard, non-portable, and cannot be supported 2016-11-17 11:52:42 -06:00
Alan Carvalho de Assis a6b7730f8c Add Vishay VEML6070 driver and support for STM32F103-Minimum board 2016-11-13 11:44:28 -06:00
Gregory Nutt b0dffdc2ca Fix a number of header files with mismatched 'extern C {' and '}' 2016-11-05 07:25:05 -06:00
Gregory Nutt 4c8ec0d2ca include/nuttx/semaphore.h: Fix broken macros 2016-11-03 12:49:44 -06:00
Gregory Nutt 1da3a5fa61 sched: Disable priority inheritance on all semaphores used for signaling 2016-11-03 12:42:02 -06:00
Gregory Nutt 97bf82ee05 Semaphores: Provide macros for sem_setprotobol() and sem_getprotocol() if priority inheritance is not enabled. More SEM_PRIO_* definitions to include/nuttx/semaphore.h 2016-11-02 18:21:46 -06:00
Gregory Nutt d5b4d848d3 Move protoypes for the non-standard include/semaphore.h file to the non-standard include/nuttx/semaphore.h with the other non-standard semaphore interfaces. 2016-11-02 14:43:03 -06:00
Gregory Nutt 6c51544e56 Update some comments 2016-11-02 14:24:16 -06:00
Gregory Nutt 92d3022411 Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore. 2016-11-02 09:05:18 -06:00