Commit Graph

442 Commits

Author SHA1 Message Date
Gregory Nutt
2f714bda8b Fix the last commit... that was not the right way to eliminate the warning. 2017-10-15 14:10:16 -06:00
Gregory Nutt
5df894ee44 Eliminate a warning. 2017-10-15 14:04:39 -06:00
Gregory Nutt
b75952c479 This removes the last traces of single-user mode. 2017-10-15 09:34:08 -06:00
Gregory Nutt
e11e3b2607 Squashed commit of the following:
Change all calls to mq_receive() and mq_timedreceive() in the OS to calls to nxmq_receive() and nxmq_timedreceive(), making appropriate changes for differences in return values.

    sched/mqueue:  Add nxmq_receive() and mxmq_timedreceive() which are functionally equivalent to the standard mq_receive and mq_timedreceive() except that (1) they do not create cancellation points, and (2) the do not modify the application's errno variable.
2017-10-10 09:57:40 -06:00
Gregory Nutt
fca07be1df Squashed commit of the following:
Change all calls to mq_send() and mq_timedsend() in the OS to calls to nxmq_send() and nxmq_timedsend(), making appropriate changes for differences in return values.

    sched/mqueue:  Add internal function nxmq_send() and nxmq_timedsend() that are equivalent to mq_send() and mq_timedsend() except that they do not create cancellation points and do to not modify the errno variable.
2017-10-10 08:44:12 -06:00
Gregory Nutt
ecf6dda2c5 Correct recurring typo: semaphore not semapore 2017-10-09 09:57:56 -06:00
Gregory Nutt
700f1a8e8c Eliminate some warnings found in build testing. 2017-10-08 16:27:17 -06:00
Gregory Nutt
2318f895df Fix some compile problems found during build testing. 2017-10-07 09:40:02 -06:00
Gregory Nutt
10e7105900 graphics/vnc/server: Fix an error in the VNC server introduced with recent big set of changes. 2017-10-07 08:30:50 -06:00
Gregory Nutt
936df1bcb5 Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
Squashed commit of the following:

    Change all calls to usleep() in the OS proper to calls to nxsig_usleep()

    sched/signal:  Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.

    sched/signal:  Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
2c2aa94b7d Squashed commit of the following:
net/: psock_recvfrom() is an internal interface and should not set the errno nor should it be a cancellation point.

    net/: psock_accept() is not a cancellation point.

    net/: psock_getsockopt() and psock_socket*9 are an internal interfaces and should not set the errno.

    net/: psock_getsockopt() is an internal interface and should not set the errno.

    net/: psock_listen() is an internal interface and should not set the errno.

    net/: psock_connect(( is an internal interface and should not set the errno nor should it be a cancellation point.

    net/: psock_bind() is an internal interface and should not set the errno.

    net/: psock_accept() is an internal interface and should not set the errno.
2017-09-30 08:18:08 -06:00
Gregory Nutt
44736b721c net/sockets: psock_send() is an internal OS interface an should not set the errno variable. 2017-09-29 17:48:15 -06:00
Gregory Nutt
a0956c9e5b graphics/: Remove dangling space at the end of lines. 2017-06-28 13:28:52 -06:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
b553704334 Update README; Remove comment blocks before empty sections. 2017-01-08 14:01:16 -06:00
Gregory Nutt
749eb6b7cd Update README; Remove comment blocks before empty sections. 2017-01-08 11:36:06 -06:00
Gregory Nutt
f3ae51592c Update README; Remove comment blocks before empty sections. 2017-01-08 11:20:16 -06:00
Gregory Nutt
725ba1602a Font cache: misc fixes and improvements 2017-01-06 11:06:50 -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
86b5f3b9ed boardctl: Add new command to start the NX server as a kernel thread. Also refresh more configurations. 2016-12-01 15:05:57 -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
77a0b6c26a graphics/, libnx/: Disable priority inheritance on all semaphores used for signaling 2016-11-03 17:12:49 -06:00
Gregory Nutt
43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72 Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn(). 2016-06-20 09:37:08 -06:00
Gregory Nutt
6d1cd731b5 Eliminate a warning 2016-06-17 08:43:22 -06:00
Gregory Nutt
0c8c7fecf0 Add _ to the beginning of all debug macros to avoid name collisions 2016-06-16 12:33:32 -06:00
Gregory Nutt
4f97f15b5e graphics/, libc/: Change some err() ERRORS to warn() WARNINGS or info() 2016-06-12 11:11:57 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2 Rename *lldbg to *llerr 2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
422769e859 Update README. Improve some debug output. 2016-04-23 14:27:32 -06:00
Gregory Nutt
d4ac277df8 Mostly costmetic updates to comments, README 2016-04-23 13:26:52 -06:00
Gregory Nutt
b7940e9389 VNC: Fix some backward logic in a wait loop 2016-04-23 12:32:42 -06:00
Gregory Nutt
0d57612d13 VNC: Need to handle connection closed events 2016-04-23 10:57:28 -06:00
Gregory Nutt
47a33cbb64 VNC: Ignore client framebuffer updates if nothing has changed (we can does this because client requests incremental updates 2016-04-23 10:22:54 -06:00
Gregory Nutt
e723fc7fd4 VNC: Add option to enable VNC server debug without GRAPHICS debug 2016-04-23 09:06:39 -06:00
Gregory Nutt
8c1534e3ed VNC: Finish initializing the VNC server once we have the NX handle 2016-04-22 13:39:35 -06:00
Gregory Nutt
47c2b3d4a7 VNC: Add default mouse/keyboard input handlers 2016-04-22 12:48:27 -06:00
Gregory Nutt
2a928cbdbe VNC: Verify RGB8 operation; samv71-xult: VNC configuration now uses RGB8 by defualt 2016-04-22 08:57:42 -06:00
Gregory Nutt
1e7b8b80ac Add a mechanism to get remote keyboard and mouse inputs 2016-04-21 14:52:25 -06:00
Gregory Nutt
05f720f838 VNC: Flush the update queue whenever the client asks for a whole screen update 2016-04-21 12:38:36 -06:00
Gregory Nutt
be1677ba25 VNC: Client may request pixel data in either big- or little- endian order 2016-04-21 12:18:35 -06:00
Gregory Nutt
98e4de73e2 VNC: Discard previously queued updates if the client requesta a whole screen update 2016-04-21 09:47:26 -06:00
Gregory Nutt
eb8c7f1641 VNC: Correct pixel width in RRE encoding 2016-04-21 08:16:33 -06:00
Gregory Nutt
79e577eae1 VNC: Add support for (1) an 8-bit local frame buffer format and (2) a configurable server name 2016-04-20 17:47:47 -06:00
Gregory Nutt
f8604d11a9 VNC: Add some very basic RRE encodings 2016-04-20 17:01:48 -06:00
Gregory Nutt
cf6e791134 VNC: Repartition some function in preparation for supporting other encoding types 2016-04-20 14:05:32 -06:00
Gregory Nutt
363169339b VNC: Fix error in message header size calculation; Add logic to try copy with pixel format changes. 2016-04-20 13:10:09 -06:00
Gregory Nutt
7134652fea VNC: Fixes from debug. One issues is that VNC client is changing color formats after starting. That is now handled. 2016-04-20 09:47:02 -06:00
Gregory Nutt
65f21d0edb VNC: More updates from testing. There are issues with high rate, large TCP transfers. 2016-04-19 15:39:58 -06:00
Gregory Nutt
c4263e4bfe VNC: various fixes and clean-up during testing. Still not completely functional. 2016-04-19 13:25:10 -06:00
Gregory Nutt
170f906a8b VNC: Add support for RGB8 conversions. These are what are used by RealVNC. 2016-04-19 10:10:59 -06:00
Gregory Nutt
fc809d5df0 VNC: Fix some big-endian access macros 2016-04-19 09:11:14 -06:00
Gregory Nutt
f3515a242d VNC: Implemented 3.8 protocol. Seems to be required by my RealVNC client 2016-04-19 08:33:16 -06:00
Gregory Nutt
fdc6dd9516 VNC: Enable receive timeouts during negotiation phase 2016-04-19 06:59:33 -06:00
Gregory Nutt
1ae24ddf77 VNC: Add more debug output; fix a bad assertion 2016-04-18 19:02:40 -06:00
Gregory Nutt
6cfe56202d Backout 3f731241cb. It is a good idea, but has some unpleasant side effect... like SYSLOG and dbg() no longer work 2016-04-18 18:55:36 -06:00
Gregory Nutt
5997373b55 VNC: Fix some obvious logic and coding errors found in early testing 2016-04-18 15:34:39 -06:00
Gregory Nutt
8f26e46c40 VNC: Fix some compile problems when graphics debug is enabled 2016-04-18 14:07:08 -06:00
Gregory Nutt
0a6a4ac9bc Add handshake to coordintate with connection of VNC client. fb_initialize() will not return until the connection is established 2016-04-18 12:24:52 -06:00
Gregory Nutt
f5f461da20 VNC: server is code complete 2016-04-18 10:42:44 -06:00
Gregory Nutt
48d4a9672a VNC: Add rectangle decomposition loop control 2016-04-17 19:23:39 -06:00
Gregory Nutt
d92b676305 VNC: Add rectangle queue logic 2016-04-17 18:09:04 -06:00
Gregory Nutt
df297ec8fc VNC: Add some rectangle queuing logic 2016-04-17 16:48:30 -06:00
Gregory Nutt
8272f4bde0 VNC: Basic Client-to-Server message parsing 2016-04-17 13:35:51 -06:00
Gregory Nutt
a87f7c8399 Merge remote-tracking branch 'origin/master' into vnc 2016-04-17 12:28:23 -06:00
Gregory Nutt
8d9fc9a029 NX: Fix some problems with the last commit 2016-04-17 12:28:03 -06:00
Gregory Nutt
1214f99c25 VNC: Add hooks to receive updates when the display is modified 2016-04-17 12:26:03 -06:00
Gregory Nutt
0de102706e Merge remote-tracking branch 'origin/master' into vnc 2016-04-17 11:59:06 -06:00
Gregory Nutt
52b308cbe1 NX: Add configurable callout to external logic to handle display update events 2016-04-17 11:57:43 -06:00
Gregory Nutt
fc9a8ebce8 FB: Add a display number to the framebuffer planeinfo structure 2016-04-17 11:12:30 -06:00
Gregory Nutt
d924ed5246 Merge remote-tracking branch 'origin/master' into vnc 2016-04-17 11:04:09 -06:00
Gregory Nutt
d71185ae46 Remove comment blocks before empty code sections 2016-04-17 09:24:41 -06:00
Gregory Nutt
3ca5a94515 VNC: Add basic message receipt logic 2016-04-17 09:17:37 -06:00
Gregory Nutt
c767686b3d VNC: Partition/rename some functionality. Add framework to support a reading and writing thread. 2016-04-17 08:20:14 -06:00
Gregory Nutt
9bdc08e013 VNC: BPP as presented to application must match configuration; we will need to do conversions as necesasry for the BPP of the remote framebuffer 2016-04-16 18:11:17 -06:00
Gregory Nutt
f154d7ea1b Trivial update to some comments 2016-04-16 17:48:15 -06:00
Gregory Nutt
d13962ef74 VNC: Add control logic to negotiate security and framebuffer 2016-04-16 17:24:14 -06:00
Gregory Nutt
db99f73a40 Fix typo noted by Alan Carvalho de Assis 2016-04-16 16:33:04 -06:00
Gregory Nutt
f3ad4ae1d1 VNC: Finish v3.3 negotiation 2016-04-16 15:59:00 -06:00
Gregory Nutt
9b42bf65f0 VNC: First few lines of initialization code 2016-04-16 13:06:39 -06:00
Gregory Nutt
e793ee2be5 Add framework to support framebuffer/security negotiation 2016-04-16 12:50:23 -06:00
Gregory Nutt
a9a006c94b VNC: Add support for encoded special keys 2016-04-15 08:01:47 -06:00
Gregory Nutt
074d5fdde6 Merge remote-tracking branch 'origin/master' into vnc 2016-04-14 16:34:29 -06:00
Gregory Nutt
16666fdb84 NXBE: function pointers should have CODE qualifier 2016-04-14 16:34:05 -06:00
Gregory Nutt
38cc8355c2 VNC: Add X11-to-NuttX character mapping 2016-04-14 16:19:04 -06:00
Gregory Nutt
2ec0ac6eaa VNC: Add framework to support a framebuffer driver interface 2016-04-14 13:52:59 -06:00
Gregory Nutt
c6707e3dc1 Merge remote-tracking branch 'origin/master' into vnc 2016-04-14 12:24:48 -06:00
Gregory Nutt
46846c0c24 Framebuffer driver: Add a display number to each interface in order to support multiple displays 2016-04-14 12:23:15 -06:00
Gregory Nutt
d2f7483c24 VNC: Add an allocated (local) framebuffer 2016-04-14 11:32:00 -06:00
Gregory Nutt
55788eb5f6 VNC: Add basic server logic 2016-04-14 11:09:18 -06:00