Skip to content
  1. Nov 06, 2017
  2. Nov 05, 2017
    • Gregory Nutt's avatar
      This comment converts the underlying IPC used by the UserFS from Unix domain... · 7deb2448
      Gregory Nutt authored
      This comment converts the underlying IPC used by the UserFS from Unix domain local sockets to UDP LocalHost loopback sockets.  The problem with the local sockets is that they do require operations on the top level psuedo-file system inode tree.  That tree must be locked during certain traversals such as enumerate mountpoints or enumerating directory entries.
      
      This conversion is unfortunate in the sense that Unix local domain sockets are relatively lightweight.  LocalHost UDP sockets are much heavier weight since they rely on the full UDP stack.  If anyone is up for a complete redesign, then using some shared memory and a POSIX message queue would be lightweight again.
      
      This commit also fixes several bugs that were not testable before the inode tree deadlock.  I cannot say that the logic is 100% stable but it does not have basic functionality.
      
      Squashed commit of the following:
      
          fs/userfs:  Order locking so that access to the shared I/O buffer is also locked.
          fs/userfs:  Converts to use LocalHost UDP loopback for IPC.
      7deb2448
    • Mateusz Szafoni's avatar
      Merged in raiden00/nuttx (pull request #529) · 2fc52378
      Mateusz Szafoni authored
      
      
      Master
      
      * cosmetics
      
      * stm32_hrtim: add helper macros
      
      * smps: cosmetics
      
      * stm32f33xxx_adc: injected channels support, fix some definitions, add interface to disable interrupts
      
      * stm32f334-dsico: beginning of lower-half driver for SMPS (buck-boost onboard converter)
      
      * nucleo-f334r8/highpri: missing ADC trigger configuration
      
      Approved-by: default avatarGregory Nutt <gnutt@nuttx.org>
      2fc52378
    • Alan Carvalho de Assis's avatar
      stm32f103-minimum: Remove warning when selecting MMCSD support · 4d6c1724
      Alan Carvalho de Assis authored
      stm32f103-minimum: Add board_usbmsc_initialize to stm32f103-minimum
      4d6c1724
    • Gregory Nutt's avatar
    • Gregory Nutt's avatar
      Cosmetic fix to spacing. · 6c5397cf
      Gregory Nutt authored
      6c5397cf
  3. Nov 04, 2017
  4. Nov 03, 2017
  5. Nov 02, 2017
    • Gregory Nutt's avatar
      29309e63
    • Gregory Nutt's avatar
      drivers/mtd/filemtd.c: Don't use file descriptors... Use the internal file... · e52bc922
      Gregory Nutt authored
      drivers/mtd/filemtd.c: Don't use file descriptors... Use the internal file system interfaces so that the loop device can be shared across threads.
      e52bc922
    • Gregory Nutt's avatar
      drivers/loop: Don't use file descriptors... Use the internal file system... · f9e7b847
      Gregory Nutt authored
      drivers/loop: Don't use file descriptors... Use the internal file system interfaces so that the loop device can be shared across threads.
      f9e7b847
    • Frank Benkert's avatar
      drivers/serial/serial.c: Optimize wait time in tcdram() for buffer emptying · c6942f61
      Frank Benkert authored
      According to the specification, the close function must wait until all data
      has been written before it closes the file (except O_NONBLOCK is set). The
      maximum waiting time for this is not specified.
      
      To be able to edit the file list of the process, the close function has to lock
      the file list semaphore. After that the close function of the serial driver is
      called.
      
      Waiting for the complete transmission of all data is done in the serial driver.
      This causes the semaphore to remain locked until all data has been sent.
      However, no other thread of the process can edit the file list for that time
      (open, close, dup2, etc.). This is not optimal in a multithreaded environment.
      Therefore, we have to keep the waiting time within the driver as short as possible.
      c6942f61
    • Gregory Nutt's avatar
      fs/userfs: There are some deadlock issues that make the UserFS un-usable at... · 2dbe7af7
      Gregory Nutt authored
      fs/userfs:  There are some deadlock issues that make the UserFS un-usable at the current time.  Added to the TODO list; also feature is now marked EXPERIMENTAL.
      2dbe7af7
    • Gregory Nutt's avatar
      This commit modifies the Unix domain local socket design. Local sockets are... · 21041af8
      Gregory Nutt authored
      This commit modifies the Unix domain local socket design.  Local sockets are built on top of pipes.  The Local socket implementation maintained file descriptors to interrupt with the pipes.  File descriptors have the bad property that they are valid only while running on the thread within the task that created the local socket.
      
      As a policy, all internal OS implementations must use "detached" files which are valid in any context and do not depend on the validity of a file descriptor at any point in time.  This commit converts the usage of file descriptors to detached files throughout the local socket implementation.
      
      Squashed commit of the following:
      
          net/local: Finish change to eliminate use of file descriptors.
          net/local:  A little more of the conversion.
          net/local: Beginning of chnages to eliminate use of file descriptors in the local socket implementeation. poll() will be a problem.
      21041af8
  6. Nov 01, 2017
    • Gregory Nutt's avatar
      fs/userfs: Correct check for response type. · e5d7e4a1
      Gregory Nutt authored
      e5d7e4a1
    • Anthony Merlino's avatar
      Merged in antmerlino/nuttx/sixlowpan-mac802154 (pull request #526) · 14fb37c9
      Anthony Merlino authored
      
      
      ieee802154: Simplifies notify() and rxframe() calls to a single notify() call. dataind's and all other "notifs" are now "primitives" which aligns with standard terminology
      
      * mac802154: Adds missing breaks from case statement
      
      * sixlowpan: Fixes bad logic where ACK is not requested if address is not a broadcast
      
      * ieee802154: Simplification of "notifs" and "datainds" to generic primitives passed via a single notify call to the layer above the MAC
      
      * Directories.mk should reference CONFIG_WIRELESS instead of CONFIG_DRIVERS_WIRELESS
      
      * xbee_netdev: Network must be locked when calling sixlowpan_input
      
      * sixlowpan: Reassembly buffer can't be freed if provided by radio driver
      
      * sixlowpan: Don't free IOB if there is an error processing it as the MAC will try to pass it along to another receiver
      
      * ieee802154: Adds basic logging to ieee802154_primitive.c
      
      * Minor fixes after rebase
      
      * xbee: Adds AT query timeout to retry if XBee doesn't respond to request
      
      * same70-xplained: Adds Xbee support. Makes mikroBus slot Kconfig 'choice'
      
      * mac802154: Removes unused function declaration
      
      * drivers/mrf24j40: Fixes compilation error using . operator rather than -> operator
      
      * mac802154_device: Changes a few mac802154_primtive_free's to ieee802154_primitive_free() and changes notif to primitive in a couple places.
      
      * mac802154: Adds promiscous mode logic to bypass parsing of incoming frames. MAC char device also checks for promiscous mode and passes whole frames including header and FCS to the application if promiscous mode is enabled.
      
      * sixlowpan: Fixes logic to correctly check if packet is large enough to include header.  This would cause packets to be considered too small when they are sufficiently sized.
      
      * sixlowpan: Fixes forwarding logic to use forwarding device rather than received device to look up destination link layer address
      
      * net/ipforward: Fixes typo that caused build error when IP forwarding was enabled with CONFIG_NET_ICMPv6_NEIGHBOR enabled as well.
      
      * configs/same70-xplained: Simple spelling fix
      
      Approved-by: default avatarGregory Nutt <gnutt@nuttx.org>
      14fb37c9
    • Gregory Nutt's avatar
      Cosmetic change. · 5c2e740c
      Gregory Nutt authored
      5c2e740c
    • Gregory Nutt's avatar
      Update TODO for broken local socket feature; Add work around to UserFS for... · de5b36c1
      Gregory Nutt authored
      Update TODO for broken local socket feature; Add work around to UserFS for broken local socket feature.
      de5b36c1
    • Gregory Nutt's avatar
      libc/userfs: Correct return value from dispatchers. Should return zero on... · 19f8933f
      Gregory Nutt authored
       libc/userfs: Correct return value from dispatchers.  Should return zero on success, not the number of bytes sent.
      19f8933f
    • Anthony Merlino's avatar
      net/icmpv6: Add some header file necessary for correct build. · 02721f9d
      Anthony Merlino authored
      drivers/wireless/ieee80211:  Fix typos and spelling errors as needed for Photon build.
      02721f9d
    • Masayuki Ishikawa's avatar
      Fixes a memory leak that is caused because the client message queue is not... · c33bde1f
      Masayuki Ishikawa authored
      Fixes a memory leak that is caused because the client message queue is not unlinked after the client disconnects from the NX server.
      c33bde1f
  7. Oct 31, 2017
    • Gregory Nutt's avatar
    • Gregory Nutt's avatar
      fs/userfs: Some fixes from initial testing. · 0614f967
      Gregory Nutt authored
      0614f967
    • Dmitriy Linikov's avatar
      Merged in hardlulz/modem-3.0-nuttx/fix-stmpe811-gpio (pull request #523) · 61372551
      Dmitriy Linikov authored
      
      
      Fix GPIO operation of STMPE811 driver.
      
      Fixed issues:
      1. STMPE811_GPIO_DIR was defined for register name
         and later was redefined to be the pin direction mask
         for `stmpe811_gpioconfig`
      
         I decided to change register name to be STMPE811_GPIO_DIR_REG,
         and keep pin direction mask STMPE811_GPIO_DIR, so that any
         external code that already use this driver will be unchanged.
      
      2. The STMPE811 register GPIO_DIR uses bit value 1 for output
         and 0 for input, but `stmpe811_gpioconfig` set the opposite.
      
      3. The call to `stmpe811_gpiowrite` from inside of `stmpe811_gpioconfig`
         leaded to deadlock.
      
      Approved-by: default avatarGregory Nutt <gnutt@nuttx.org>
      61372551
    • Masayuki Ishikawa's avatar
      Merged in masayuki2009/nuttx.nuttx/lc823450 (pull request #524) · 09d48745
      Masayuki Ishikawa authored
      
      
      Fix DEBUGASSERT() issues with nxhello on lc823450-xgevk
      
      * sched/task: Remove DEBUGASSERT in task_exitstatus() and task_groupexit()
      
      * graphics: Change DEBUGASSERT condition in nx_runinstance()
      
      Approved-by: default avatarGregory Nutt <gnutt@nuttx.org>
      09d48745
    • Gregory Nutt's avatar
      Squashed commit of the following: · 6e9039bb
      Gregory Nutt authored
          fs/userfs:  This completes coding of the UserFS client and of the UserFS feature in general.  This feature is being merged to main now because I believe it is innocuous.  It is, however, untesed.  The next step will be to develop a test case to verify the feature.
          fs/userfs:  Completes the request logic for the UserFS client.  Still need the logic that receives the responses.
          fs/userfs:  Completes coding for most of the server side of the user filesystem logic.
          fs/userfs:  Big design changes, simplications. Use Unix domain local sockets instead of message queues.  Easier to transfer big data in local sockets than message queues.  Remove character drvier 'factory' it is not necessary.
          fs/userfs:  Minor reparitioning; volume private info does not need to be held on the OS client side.
          libc/userfs:  Add some of the server side logic.
          fs/userfs:  Add some UserFS initialization logic.
          fs/userfs:  Add frame work for the UserFS proxy.  Remove all references to a block driver.  There is no block dricer... what was I thinking?
          fs/userfs: Add some initialization of the character driver, 'factory' device.
          fs/userfs:  Rename from fusefs to userfs to that we don't stomp on someone else's cool name.
          Add a header file describing the fusefs interface.
      6e9039bb