Gregory Nutt
db741dd695
Move some useful internal logic from recvfrom.c and udp_callback.c and put them in ip.h where they can be used more generally
2015-02-17 07:37:44 -06:00
Gregory Nutt
686dcbb79c
Move some useful internal macros from udp_send.c and put them in ip.h where they can be used more generally
2015-02-17 07:08:11 -06:00
Gregory Nutt
eb8f5e548f
Purely cosmetic changes resulting from last review IPv6 UDP change
2015-02-16 15:23:02 -06:00
Gregory Nutt
19eea866e6
Standardize some header files
2015-02-16 14:29:43 -06:00
Gregory Nutt
f357897b6c
Some files that now include sys/time.h should no longer include timer.h
2015-02-15 16:38:18 -06:00
Gregory Nutt
d6704a1cd7
Suffer the consequences of moving struct timeval to its correct location
2015-02-15 15:18:35 -06:00
Gregory Nutt
fd8d374bfe
Move struct timveval from include/time.h to include/sys/time.h where it belongs.
2015-02-15 13:00:44 -06:00
Gregory Nutt
f477c9b275
Add support for RTC driver to the STM32F4-Discovery board
2015-02-15 10:11:01 -06:00
Gregory Nutt
5cb233f712
RTC: A little more clean-up of the RTC driver
2015-02-15 08:19:23 -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
9e80f7d8d2
STM32 RTC driver lower half: Implement the settime method of the RTC interface
2015-02-13 13:36:15 -06:00
Gregory Nutt
faa16d06ac
Break out a new internal interface, stm32_rtc_setdatetime(). This eliminates some un-necessary time conversions. From Freddie Chopin.
...
Add a skeleton implementation of the RTC lower half interface at arch/arm/src/stm32/stm32_rtc_lowerhalf.c. This is just the framework for the RTC lower half. None of the interface methods have yet been implemetned.
2015-02-13 12:56:58 -06:00
Gregory Nutt
fcadc2d8e4
Add an RTC upper half driver. This is the driver that is documented in include/nutt/rtc.h
2015-02-13 11:49:04 -06:00
Gregory Nutt
2ba67e7841
Removed all of the old, malformed RTC interface definitions from include/nuttx/rtc.h. The necessary prototypes have been removed, renamed, scattered to the wind, hidden under rocks, -- whatever it takes to make it clear that there is no RTC interface callable from application code.
2015-02-13 10:07:23 -06:00
Gregory Nutt
3724a5e98e
RTC: Remove all backdoor interfaces from rtc.h
2015-02-13 08:41:34 -06:00
Gregory Nutt
63ac1ec423
Cosmetic updates to comments
2015-02-12 13:44:22 -06:00
Gregory Nutt
3e1173225e
Renamed SPIDEV_GSENSOR to SPIDEV_ACCELEROMETER just because it looks better beside SPIDEV_BAROMETER
2015-02-12 12:26:19 -06:00
Gregory Nutt
38aa31dea2
Update ChangeLog
2015-02-12 12:21:05 -06:00
Gregory Nutt
fd6d299788
Add driver for the Feescale MPL115A baramoter. From Alan Carvalho de Assis
2015-02-12 12:18:43 -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
62aee62c3a
Some extensions to netinet/in.h adding some Linux compatible defintions. From Macs N.
2015-02-11 06:35:34 -06:00
Gregory Nutt
410fcaa0a1
Added a forward reference to struct inode to avoid warning about mismatching types in assignemnt
2015-02-10 13:41:49 -06:00
Gregory Nutt
559f1ef825
Networking: Clean up and consolidate some clunky stuff by adding new net_timedwait() function
2015-02-09 07:50:10 -06:00
Gregory Nutt
2ae737f906
Update ChangeLog
2015-02-08 06:58:23 -06:00
Gregory Nutt
3465cb6138
SYSLOG: Add an option to use the syslog'ing device as the system consolution. This option enables a low-level, write-only console device at /dev/console (similar to the low-level UART console device). From Pierre-noel Bouteville.
2015-02-08 06:53:24 -06:00
Gregory Nutt
252802d1cd
Remove inclusion of some un-necessary header files.
2015-02-06 08:50:53 -06:00
Gregory Nutt
3e6705b526
IPv6: Separate function that converts prefix lengths to a netmask
2015-02-06 08:11:09 -06:00
Gregory Nutt
10cf7e9634
Make some conditional compilation consistent
2015-02-05 14:26:11 -06:00
Gregory Nutt
c7f71c99a5
Networking: Changes need to build ICMPv6 'router' configuration on STM32 with network debug enabled
2015-02-05 11:47:56 -06:00
Gregory Nutt
6f3f43d930
IPv6: Add a netmaks for the local link address
2015-02-05 05:43:57 -06:00
Gregory Nutt
24d800398e
Networking: Break out Ethernet definitions into a separate file; add IPv6 multicast addresses as common globals, Ethernet drivers need to filter link-local, all nodes Ethernet address
2015-02-04 14:51:20 -06:00
Gregory Nutt
1c05245963
STM32: Add driver for STM32L162XX AES peripheral. Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2015-02-04 06:49:05 -06:00
Gregory Nutt
66f0198e3f
Networking: Add support for sending ICMPv6 Router Solicitation and receiving Router advertisement. This is a part of the ICMPv6 auto-configuration logic is still still not complete
2015-02-03 13:25:28 -06:00
Gregory Nutt
0e23712db4
Add an ioctal() that can be used to perform ICMPv6 auto-configuration
2015-02-03 08:54:42 -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
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
2407008b6e
drivers/ramdisk.c and include/nuttx/fs/ramdisk.h: Add logic to dispose of the drvier and RAM buffer when the RAM disk has been unlinked and all open references to the RAM disk have been closed. Add new parameters to romdisk() to specify what should be done with the RAM/ROM buffer -- Should it be freed or not? Changed all calls to ramdisk() to use these new parameters.
2015-02-01 07:24:16 -06:00
Gregory Nutt
a6f1dfa5b0
Remove execute privileges from some header files
2015-02-01 06:24:18 -06:00
Gregory Nutt
eb1aca3e46
Add an unlink method to block driver interface. Same motivataion as for the same modification to the character driver interface
2015-01-31 13:19:23 -06:00
Gregory Nutt
62e588a0a4
VFS: Add an unlink method to the character driver interface. This is important because if the character driver inode is unlinked and there are no open references to the driver, then the driver resources will be stranded. On the unlink call, the driver has the opportunity (1) check if there an any open references, and (2) if not free the driver resources
2015-01-31 11:31:34 -06:00
Gregory Nutt
e86d00913e
Unix domain/FIFOs: Fix a race condition between FIFO buffer operations and the opening and closing of FIFOs which necessary when the FIFOs are used to support Unix domain, datagram sockets. The default policy is the deallocate FIFO buffering when the last client closes the pipe. When when used for datagram communicatinos, packets left in the FIFO will be lost. Some like UDP read-ahead is needed: The buffered data in the FIFO needs to be retained until the reader gets a chance to re-open the FIFO. Added an ioctl (PIPEIOC_POLICY) to control the buffer policy. Default (0) is the legacy behavior; Unix domain datagram logic sets the alternative policy so that the packet data persists after the FIFO is closed.
2015-01-30 11:14:24 -06:00
Gregory Nutt
5f9837dcc8
Merge remote-tracking branch 'origin/master' into afunix
...
Conflicts:
nuttx/ChangeLog
2015-01-27 21:47:12 -06:00
Gregory Nutt
c4bd6f52b5
Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately.
...
This was fixed by duplicating most of the IOB interfaces: The versions that waited are still present (like iob_alloc()), but now there are non-waiting verisons of the same interfaces (like iob_tryalloc()). The TCP read-ahead logic now uses only these non-waiting interfaces.
2015-01-27 21:23:42 -06:00
Gregory Nutt
cbf0608513
Various fixes to get Unix domain sockets to build on the simulator without Ethernet
2015-01-27 14:11:46 -06:00
Gregory Nutt
6418f08459
Add math library defines for nan functions. From Brennan Ashton.
2015-01-26 19:03:38 -06:00
Gregory Nutt
b12cf6d2f5
Add math library support for trunc functions. From Brennan Ashton.
2015-01-26 19:00:35 -06:00
Gregory Nutt
06337a4f7a
Add math library support for copysign. From Brennan Ashton
2015-01-26 18:52:28 -06:00
Gregory Nutt
7e177e1c12
Add error function to math library. From Brennan Ashton.
2015-01-26 13:58:47 -06:00
Gregory Nutt
36d5c00ec6
Add math library definition for isfinite. From Brennan Ashton.
2015-01-26 13:55:49 -06:00
Gregory Nutt
e153959eea
Add support for inverse hyperbolic functions. From Brennan Ashton
2015-01-26 13:52:53 -06:00
Gregory Nutt
d7189558a6
Add ioctls for Unix domain sockets
2015-01-24 11:57:06 -06:00
Gregory Nutt
bf61008448
Add sys/un.h header file
2015-01-24 11:44:06 -06:00
Gregory Nutt
d84abfafc4
Fix another error in conditional compilation; plus some additional cosmetic changes
2015-01-24 09:04:28 -06:00
Gregory Nutt
f4bb7f14e1
Networking: Clean up network status collection and presentation for IPv6
2015-01-24 08:26:12 -06:00
Gregory Nutt
96a53254dd
Some minor clean-up of IPv4/6 flags
2015-01-24 07:29:43 -06:00
Gregory Nutt
7e46e94546
Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless
2015-01-24 06:49:51 -06:00
Gregory Nutt
05c5c8c337
Add CONFIG_STACK_COLORATION that does the same thing as CONFIG_DEBUG_STACK but without enabling debug. From David Sidrane
2015-01-24 06:03:39 -06:00
Gregory Nutt
dc759d31d9
Math library: Adds support for the expm1 functions: http://pubs.opengroup.org/onlinepubs/009695399/functions/expm1.html . From Brennan Ashton
2015-01-23 17:15:42 -06:00
Gregory Nutt
30f0a942e1
Networking: First cut at ICMPv6 ping logic
2015-01-23 14:06:08 -06:00
Gregory Nutt
9f40a13cfa
Correct the MSS calculation
2015-01-22 12:30:07 -06:00
Gregory Nutt
6175e9eec5
Networking: Correct the value returned by accept() in the case where net_lockingwait() is called. It was returning -1 and losing the errno value. Noted by Rony Xln
2015-01-22 06:51:31 -06:00
Gregory Nutt
38e0dcf097
Networking: Fix another error in an IPv6 macro. Again ampersand where there should not be one
2015-01-21 14:11:20 -06:00
Gregory Nutt
8132afb3de
Fix some errors in memcpy arguments. No ampersands on array arguments.
2015-01-21 12:42:22 -06:00
Gregory Nutt
5d31687e75
Correct name of fields in struct sockaddr_in6: sin6_port and sin6_family, not sin_port and sin_family
2015-01-20 18:14:09 -06:00
Gregory Nutt
67a655ecf0
Networking: Add logic to search the Neighbor Table and update the destination address in the output Ethernet header OR to send an ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor table for the IPv6 address
2015-01-20 14:37:02 -06:00
Gregory Nutt
d68cd0d8de
Networking: Update ICMPv6 logic to RFCs
2015-01-20 11:06:51 -06:00
Gregory Nutt
2fd334432c
Networking: Fix to ICMPv6 logic: Needs to set source and destination address in the Ethernet header
2015-01-19 14:57:55 -06:00
Gregory Nutt
13149536f2
Networking: Update ICMPv6 message numbers
2015-01-19 14:04:16 -06:00
Gregory Nutt
59c0757183
Fix a few more dangling IPv6 issues found by code inspection
2015-01-18 10:33:27 -06:00
Gregory Nutt
f7663ef0ab
Networking: Final detangle off IPv4 and IPv6 TCP/UDP send logic. The Networking subsystem now compiles with IPv6 enabled
2015-01-18 08:56:05 -06:00
Gregory Nutt
86f617cc88
Networking: Straighten up use if IPv6/IPv4 in TCP connection logic
2015-01-17 17:07:54 -06:00
Gregory Nutt
94f9312150
Networking: Save the IP domain in the connection structure
2015-01-17 13:07:48 -06:00
Gregory Nutt
2c251d845c
include/net/if.h: Add a bit to the device flags to indicate if the device packet buffer holds an IPv4 or an IPv6 domain packet. Set/clear the flag along with the correct offset to the application payload data as each packet is received.
...
net/socket, net/tcp, net/udp: Add logic to select the domain of the outputgoing packet before sending any UDP or TCP packet. This sets the bit to indicate the IPv4 or IPv6 domain and the correct offset to the output going payload data.
2015-01-17 07:42:09 -06:00
Gregory Nutt
88a0e82934
Networking: Remove field d_sndata from the device structure. It is the same as d_appdata and unnecessary
2015-01-17 05:59:13 -06:00
Gregory Nutt
8f8259a0d6
Networking: UDP and TCP MSS depends on the IP header size (as well as the link layer header size) and cannot be represented with a single value.
2015-01-16 15:03:10 -06:00
Gregory Nutt
2663538b0a
Networking: Replace all references to the macros net_ipaddr_copy, net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the macro (such as net_ipv4addr_copy). The goal is to support both IPv4 and IPv6 simultaneously. This requires that the macros be distinct and not conditionally defined to one on or the other.
2015-01-16 13:01:08 -06:00
Gregory Nutt
5e938941a6
Networking: Replace all references to net_ipaddr_t with either in_addr_t on net_ipv6addr_t. The goal is to support both IPv4 and IPv6 simultaneously. This requires that the two types be distinct and not conditionally typedef'ed to net_ipaddr_t.
2015-01-16 12:30:18 -06:00
Gregory Nutt
bee89be4f4
Networking: Drivers can have both IPv4 and IPv6 addesses, but a socket can only only one or the other; The socket connnection structures need to include a union of IPv4 and IPv6 addresses for the local address binding and for the remote address connections
2015-01-16 10:01:54 -06:00
Gregory Nutt
fe8b3c5220
Networking: More detangling of IPv6 logic. Next steps will be more invasive and will get moved to a branch
2015-01-16 08:51:18 -06:00
Gregory Nutt
5b45605991
Clean a few more IPv6 compilation issues; Add implementation of net_ipv6_maskcmp()
2015-01-15 15:55:52 -06:00
Gregory Nutt
630366272a
Networking: Seperate tcp_input() and udp_input() into seprate functions tcp_ipv4_input(), tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal will the data offsets caused by the differing sizes of the IP header.
2015-01-15 15:06:46 -06:00
Gregory Nutt
60e50ff3b5
Networking: More IPv6 detanglement
2015-01-15 13:08:28 -06:00
Gregory Nutt
5a441ce03b
Networking: Misck IPv6 detanglement
2015-01-15 12:19:44 -06:00
Gregory Nutt
89538ac4a2
- Rename devif_input() ipv4_input()
...
- Copy net/devif/devif_input.c to ipv6_input.c. Remove all IPv4-specific logic.
- Rename net/devif/devif_input.c to ipv4_input.c. Remove all IPv6-specific logic
- Split IPv4 header structure out as net_ipv4hdr_s from net_iphdr_s
2015-01-15 08:03:56 -06:00
Gregory Nutt
a49f0231d2
Networking: A few more IPv6-related fixes
2015-01-14 18:34:28 -06:00
Gregory Nutt
a7ce1279f9
Networking: (1) Copied all ICMP sources files to net/icmpv6 with proper renaming and removal of IPv4 logic, (2) remove IPv6 logic from files in net/icmp, (3) copied include/nuttx/icmp.h to icmpv6.h and removed IPv4 specific logic, (4) removed all IPv6 logic from icmp.h, (5) IP_HDRLEN became IPv4_HDRLEN and IPv6_HDRLEN, (6) ip_chksum() became ipv4_chksum() and ipv6_chksum(), and (7) added partial support for ICMPv6 statistics.
2015-01-14 16:10:38 -06:00
Gregory Nutt
7d68c22d7f
Networking: Add support for IPv6 ioctls
2015-01-14 13:03:12 -06:00
Gregory Nutt
31a94816b2
USB host drivers: Change all parmeters named class to usbclass to avoid C++ conflicts
2015-01-11 08:05:09 -06:00
Gregory Nutt
089e001874
STM32 SDIO: CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE should not be available unless CONFIG_MMCSD_SDIO=y
2015-01-08 18:12:06 -06:00
Gregory Nutt
1842525cc2
MMCSD SDIO: Add support for a new SDWAIT_WRCOMPLETE condition. The previous logic used a busy-wait loop to pool the card R1 start to determine when the card was ready for the next transfer. That busy-wait can be quite long -- hundreds of milliseconds. And alternative is to look the the SD D0 pin which will change state when the card is no longer busy.
...
This logic implements a change the avoids the busy-wait poll by reconfiguring the SD D0 pin as a GPIO interrupt, then waiting for the card to becom ready without taking up CPU cycles.
This change is conditioned on CONFIG_MMCSD_SDIOWATI_WRCOMPLETE and is currenlty only implemented for the STM32 SDIO driver.
From David Sidrane
2015-01-08 06:23:42 -06:00
Gregory Nutt
2b522bab9e
Update ChangeLog
2015-01-06 10:52:05 -06:00
Gregory Nutt
e9cec9057b
There were some changes which broke my NuttX-Build. With these two patches it builds again. From Manuel Stühn
2015-01-01 15:56:25 -06:00
Gregory Nutt
cf651e0ce3
Fix warning caused by missing comment closing */. From David Sidrane.
2014-12-30 06:22:18 -06:00
Gregory Nutt
b4f235c33f
Added forward reference to eliminate warnings. From David Sidrane.
2014-12-30 06:20:40 -06:00
Gregory Nutt
1bfec1a702
Fixes warning about block_operations not being defined. From David Sidrane.
2014-12-30 06:19:30 -06:00
Gregory Nutt
089578319a
STM32 Serial: PX4 HW workarround for flaky STM32 RTS. From David Sidrane
2014-12-27 18:58:18 -06:00
Gregory Nutt
aefde565d3
Serial Upper Half: Add watermarks to RX flow control logic
2014-12-27 07:43:06 -06:00
Gregory Nutt
6daa9468f6
More RAMTRON related fixes from David Sidrane
2014-12-26 08:15:59 -06:00
Gregory Nutt
996d6c9d55
Most superstitous updates to the RAMTROM driver make it more compatibile with the version used by PX4. From David Sidrane
2014-12-26 07:59:09 -06:00
Gregory Nutt
fa5dffbc18
STM32 LTDC: Move ltdc.h from include/nuttx/video to arch/arm/include/stm32; Trivial updates after general review
2014-12-19 14:52:17 -06:00
Gregory Nutt
7a874e5d4c
ili9341: update interface control definitions
...
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:52:40 -06:00
Gregory Nutt
3ce3b168f8
stm32: Add interface description for ltdc controller. This defines the interface to perform hardware accelerated layer operation by the ltdc controller.
...
The following methods must be supported by the implementation:
- gevideoinfo
- getplaneinfo
- getlid
- setclut
- getclut
- setcolor
- getcolor
- setcolorkey
- getcolorkey
- setalpha
- getalpha
- setblendmode
- getblendmode
- setarea
- getarea
- update
And if DMA2D is supported:
- blit
- blend
The method up_ltdcgetlayer provides access to a reference of a specific ltdc
layer.
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-12-19 13:45:18 -06:00
Gregory Nutt
a1a2e53c3e
Freedom KL25Z: Update the CC3000 support to use the current CC300 interfaces. From Alan Carvalho de Assis
2014-12-18 13:52:01 -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
d818ab5e35
Update the ADXL345 interface following the current interface scheme
2014-12-16 11:45:28 -06:00
Gregory Nutt
c9ca51fc8a
Minor clean-up associated with the ADX345 driver
2014-12-16 10:18:44 -06:00
Gregory Nutt
ae18f9dacd
Unify sensor debug. ADX driver was using input debug; LM75 and QENCODE that their own custom debug. Now all use CONFIG_DEBUG_SENSOR, sndbg()
2014-12-16 09:54:32 -06:00
Gregory Nutt
10863af628
Add ADXL345 accelerometer driver. From Alan Carvalho de Assis
2014-12-16 08:16:53 -06:00
Gregory Nutt
16f5ea451b
Fix cosmetic typo in header file idempotence. Note by Lazlo
2014-12-10 18:27:29 -06:00
Gregory Nutt
cb76fc05fc
Lots of fonts that derive from X11-misc-fixed-* fonts. Converted for use by NuttX by Pierre-Noel Bouteville
2014-12-10 17:11:23 -06:00
Gregory Nutt
cdc8fc52d1
SmartFS: Implements wear-leveling in the SmartFS. From Ken Pettit
2014-12-09 14:11:15 -06:00
Gregory Nutt
69cb752813
Add CRC8 support. From Ken Pettit
2014-12-09 13:27:22 -06:00
Gregory Nutt
7f59a64f42
stdint.h: Don't use hex values to specify minimum values of fixed width, signed values. Hex values are inherently unsigned and not usable for this purpose in all contexts
2014-12-08 11:44:52 -06:00
Gregory Nutt
1b5e296489
Add sys/custom_file.h. Used when CUSTOM_FILE_IO is define and avoids re-definition errors about the FILE define. From Thomas Gruber via the PX4 repository
2014-12-06 12:10:08 -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
c0c108d5e2
Add support for ST Micro EEPROM device geometries. From Sebastien Lorquet
2014-12-05 09:13:34 -06:00
Gregory Nutt
76906110b0
Correct spelling: MOUNTPOINT not MOUNTPOUNT. Numerous places. Some are problems. From Woohan Lee
2014-12-01 06:41:30 -06:00
Gregory Nutt
7ad7163bd3
Updated comments
2014-11-29 17:39:40 -06:00
Gregory Nutt
1fa790cf8e
Update comments
2014-11-29 15:28:28 -06:00
Gregory Nutt
ba58b37e46
Re-arrange the AJOYSTICK data structure so that it matches the mouse structure
2014-11-29 13:26:26 -06:00
Gregory Nutt
4657f5c870
Update some Documentation and comments associated with the last ioctl change
2014-11-29 13:25:29 -06:00
Gregory Nutt
e31d5125ae
Add support for a variadic ioctl() function. The ioctl() interface is a non-standard, Unix interface. NuttX has always used the older, three-parameter version. Most contemporary systems now, however, use a variadic form of the ioctl() function. Added an option to insert a shim layer to adapt the three-parameter ioctl() to use the variadic interface form. Internally, the ioctl handling is the same three-parameter logic. The only real complexity to the shim is in how the system calls must be handled.
2014-11-29 10:53:22 -06:00
Gregory Nutt
19d31412f7
Update/correct some comments
2014-11-29 07:08:30 -06:00
Gregory Nutt
2b8fe6709b
Add an analog joystick driver. Initial checkin is only a little more of a clone of the discrete joystick driver and is as-of-yet untested
2014-11-28 19:59:27 -06:00
Gregory Nutt
36ac0d2cf4
Add an interface definition header file for an analog joystick device
2014-11-28 19:27:42 -06:00
Gregory Nutt
544322edb9
DJoystick: Add a new ioctl to get the support joystick discrete signals
2014-11-28 15:39:57 -06:00
Gregory Nutt
421c81b315
STM3210E-EVAL: Add a DJoystick driver
2014-11-28 13:31:09 -06:00
Gregory Nutt
bd93ba55c5
Cosmetic change to comment
2014-11-28 09:06:05 -06:00
Gregory Nutt
5ddfdb2d8d
cctype: Undefined macros defined ctype.h so that builtin C++ implementations will be used
2014-11-28 09:02:52 -06:00
Gregory Nutt
e42f7b552f
This commit is a set of patches 02/11 through 03/11 correcting issues with the CC3000 networking (01/11 was committed separated). Among these 10 patches:
...
03/11: CC3000 driver was getting stuck at recv() when remote host closed connection and application tried to read data from remotely shutdown socket. This patch adds proper handling for remotely closed socket event.
07/11: Socket state initialization was done in 'register', while it should be initialized in 'open' and deinitialized in 'close'. Old way caused problems when device is closed, power-cycled and then reopened as old socket state was left enabled.
08/11: Select thread was getting stuck after 'close, power-cycle, reopen', since selectsem was not properly setup and cleaned up.
09/11 'maxFD' was not properly reset in select worker and not checked for before calling cc3000_select().
10/11: After wlan_stop()/cc3000_close(), irqsem was left with count '-1'. Therefore on next wlan_start()/cc3000_open(), initial value for irqsem was wrong. Additional repeated wlan_start()/wlan_stop() decreased irqsem value further. Obviously this causes driver not to function correctly and freeze.
Patch moves initialization and destruction of waitsem, irqsem and readysem to cc3000_open/cc3000_close.
All are: Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>
2014-11-28 08:52:52 -06:00
Gregory Nutt
2d9bd07525
Some additional, minor improvements to djoystick interrupt controls
2014-11-27 20:20:10 -06:00
Gregory Nutt
0ec5043a4e
Add an interface definition and upper half driver for a discrete joystick device
2014-11-27 17:42:16 -06:00
Gregory Nutt
a7b6369825
Two new fonts from Pierre-noel Bouteville
2014-11-26 14:15:34 -06:00
Gregory Nutt
40b27115cc
Add support for generic EEPROM access via a character driver. Add also the EEPROM driver itself. From Sebastien Lorquet
2014-11-26 13:55:34 -06:00
Gregory Nutt
e0fc5a86c8
Fixes for more complaints from cppcheck
2014-11-25 08:09:57 -06:00
Gregory Nutt
e611859aed
Fix typo in confiditional compilation. From Alan Carvalho de Assis
2014-11-23 16:51:02 -06:00
Gregory Nutt
c64cb19861
Move IP header flags from tcp.h to ip.h and rename IP_FLAGS vs TCPFLAGS. The problem fixed here is that there IP flags were not available when TCP was disabled. The IP flags are used in ICMP and IGFMP
2014-11-17 17:16:46 -06:00
Gregory Nutt
38754a3466
Completes basic changes to support per-device/per-link TCP receive window size
2014-11-16 11:15:21 -06:00
Gregory Nutt
2340d46d20
Rename NET_LL_MTU to NET_DEV_MTU; rename d_llmtu to d_mtu
2014-11-16 10:42:19 -06:00
Gregory Nutt
c00a37a3db
Fixes for Ethernet, SLIP, and Ethernet+SLIP builds
2014-11-16 09:55:58 -06:00
Gregory Nutt
859748a94e
Completes conversion of CONFIG_NET_BUFIZE to CONFIG_NET_ETH/SLIP_MTU
2014-11-16 09:22:38 -06:00
Gregory Nutt
ca7486d7f3
Add link MTU size to network device structure.
2014-11-16 08:49:14 -06:00
Gregory Nutt
51adb90e9a
Network: Update SLIP configuration; Fix compile issues when building SLIP only
2014-11-15 14:36:49 -06:00
Gregory Nutt
2e55db369d
Network: All logic will now handle varialbe length link layer protocol headers within incoming packets. This permits use of multiple network interfaces with differing data links. For example, ETHERNET + SLIP
2014-11-15 13:13:23 -06:00
Gregory Nutt
a831ab21bc
Merge remote-tracking branch 'origin/master' into llhdrlen
2014-11-15 10:04:49 -06:00
Gregory Nutt
ebb6fd1e9c
Resove merge conflicts
2014-11-15 10:04:33 -06:00
Gregory Nutt
25a9005ce7
Remove use of NET_LL_HDRLEN from Ethernet drivers. Use ETH_HDRLEN instead
2014-11-15 09:05:34 -06:00
Gregory Nutt
2b758537ea
Network: Misc fixes for clean complete with both Ethernet and SLIP enabled
2014-11-15 08:55:50 -06:00
Gregory Nutt
388ef8db1a
Netwoek: Ada a parameter to netdev_register() to indicate the link protocol supported by the driver. Use this value to replace some logic commited yesterday
2014-11-15 08:22:51 -06:00
Gregory Nutt
64d18bfe12
NET: Fix some some more ARP/Ethernet releated configuration
2014-11-14 21:22:45 -06:00
Gregory Nutt
3576e249b5
Add driver for ST7565 that works with NHD‐C12864KGZ display. From Pierre-noel Bouteville.
2014-11-13 16:03:52 -06:00
Gregory Nutt
bb65701ccd
Oops.. part of the last change will still in the editor
2014-11-12 18:33:07 -06:00
Gregory Nutt
a61802640f
Defines inline functions as not instrumented - this is relevant for anyone using instrumentation. From Lorenz Meier.
2014-11-12 07:32:36 -06:00
Gregory Nutt
c23b7ec93d
From Lorenz Meier: The implementation of access() as vararg macro has the issue that any function call with the same name (even in a C++ class) will match with it and result in a compile error. I have replaced it with a small function, and tried to have decent documentation as well. This resolves the compile issue, and shouldn’t have negative side effects for users of the function.
2014-11-11 11:52:24 -06:00
Gregory Nutt
6e387ee135
Add ANSI/VT100 color codes
2014-11-10 15:10:57 -06:00
Gregory Nutt
fecad1027c
Update csdtio too
2014-11-06 07:11:23 -06:00
Gregory Nutt
ee22104762
Can't use formal parameter name 'template' in stdlib.h. Causes C++ compilation errors. Noted by Lorenz Meier
2014-11-06 07:00:23 -06:00
Gregory Nutt
787cd466d2
Add tmpnam() and tempnam()
2014-11-05 10:43:17 -06:00
Gregory Nutt
d13731711f
Add mktemp() and mkstemp()
2014-11-05 09:39:18 -06:00
Gregory Nutt
ef82c280fd
MM: Minimum memory allocation must to up to 32 if sizeof pointer is 8-bytes
2014-11-02 12:11:20 -06:00
Gregory Nutt
6bbfb2b7ca
Add isatty() function. From Alan Carvalho de Assis
2014-10-27 12:29:15 -06:00
Gregory Nutt
04471aa5cb
Add include/wchar.h
2014-10-27 08:28:38 -06:00
Gregory Nutt
03663a7ac4
Cosmetic changes
2014-10-27 07:57:12 -06:00
Gregory Nutt
a7a5c8cff3
Fixes to tickless operation code. From Brandon Warhurst
2014-10-23 06:41:31 -06:00
Gregory Nutt
bfc12bf3a7
ARMv7: Add support to use ITM for SYSLOG debug output
2014-10-22 09:03:00 -06:00
Gregory Nutt
f8c4c75c17
include: adds interface description for ili9341
...
This adds the description of the generic interface to communicate with
the ili9341 lcd single chip driver used by any displays.
The interface have to be implemented by the platform specific subdriver.
The following functions must be exported:
-select
Select the spi device before starting an operations.
-deselect
Deselect the spi device after operations finished and if the device was
selected before.
-sendcmd
Send any command to the ili9341 display driver.
-sendparam
Send any parameter corresponding to the ili9341 display driver.
-recvparam
Receive any parameter from the ili9341 display driver. This is only possible
for the read commands supported by the ili9341.
-sendgram
Send pixel data to the gram of the display. This i similar to the function
sendparam, but pixel data operations needs another handling of how to send the
data to the display.
-recvgram
Receive pixel data to the gram of the display. This i similar to the function
recvparam, but pixel data operations needs another handling of how to receive
the data from the display.
-backlight
Change the backlight level of the display.
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:15:22 -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
f6d11bc2fd
Back out an incorrect change
2014-10-12 11:01:57 -06:00
Gregory Nutt
872e9fce26
Cosmetic update to comments
2014-10-12 10:53:29 -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
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
0566eb45f7
Fix a couple of C++ related problems in include/cxx
2014-10-11 08:40:19 -06:00
Gregory Nutt
ae3cc327c7
AIO now also supports socket transfers
2014-10-11 08:15:23 -06:00
Gregory Nutt
4a4b3ac537
Add support for multiple low-priority worker threads
2014-10-10 16:24:50 -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
b2cebaa9d4
Modularize starting of worker threads to better isolate individual initialization characteristics
2014-10-10 09:38:28 -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
a4d157bb2d
Trivial AIO-related changes
2014-10-09 08:34:49 -06:00
Gregory Nutt
02444cfb2c
Update comments and function headers
2014-10-09 07:38:38 -06:00
Gregory Nutt
d2c8e13ed5
Backing out some logic: Remove syslog functions from syscalls
2014-10-09 06:58:23 -06:00
Gregory Nutt
4efb064169
Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask()
2014-10-09 06:09:03 -06:00
Gregory Nutt
bbc658930a
Passing va_list in syscall does not work. Temporarily moved syslog and lowsyslog into kernel code and access via a system call. Need to revisit. Will probably need to move all of syslog back from fs/syslog to libc/syslog
2014-10-08 20:12:52 -06:00
Gregory Nutt
323084f32f
Add syslog system calls
2014-10-08 19:37:10 -06:00
Gregory Nutt
ec57ab6391
Implement setlogmask(); move some syslog logic from libc/syslog to fs/syslog
2014-10-08 19:08:26 -06:00
Gregory Nutt
a8399d5c6b
Move syslog logic from libc/misc and libc/stdio to libc/syslog
2014-10-08 17:16:41 -06:00
Gregory Nutt
f40857c04f
All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces
2014-10-08 14:28:55 -06:00
Gregory Nutt
7b310711a1
Update everything under nuttx/arch to use the corrected syslog interfaces
2014-10-08 12:48:47 -06:00
Gregory Nutt
0cd7683711
Update everything under apps/ to use the corrected syslog interfaces
2014-10-08 11:34:22 -06:00
Gregory Nutt
8db42f5b54
Update ChangeLog
2014-10-08 10:48:47 -06:00
Gregory Nutt
f8ed7323c0
make standard syslog and vsyslog POSIX compliant (also modify non-standard syslog functions for compatibility). This will break a lot of things until ALL usage of syslog is updated to use the modified interfaces
2014-10-08 09:44:15 -06:00
Gregory Nutt
047deada84
Remove non-portable references to syslog from apps/examples
2014-10-08 08:33:00 -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
f956bd9915
Chane a type from int to int16_t for a little better packing in a structure
2014-10-07 08:36:53 -06:00
Gregory Nutt
4c7b988525
Update some comments
2014-10-07 08:34:10 -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
002e686991
Add ECANCELED
2014-10-06 15:05:35 -06:00
Gregory Nutt
1273be4cfc
Fix a place in the memory manager where it explicitly assumes that the size of a point is 4 bytes. That is OK if the actually size is smaller but makes the heap unstable when used withthe x86_64 host simulation
2014-10-06 12:49:35 -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
52ce95b8b8
Add a AIO control container to increase the payload with OS internal stuff.
2014-10-06 08:10:02 -06:00
Gregory Nutt
87eb1d47ed
Fix some recently introduced typos, build problems, and warnings
2014-10-05 16:58:52 -06:00
Gregory Nutt
5201acb71c
Add system calls for AIO kernel functions
2014-10-05 15:59:02 -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
f73a18ae39
Move all file operations from libc/aio to fs/aio. These will need to be kernel routines in order to handler issues with using file descriptors on worker thread
2014-10-05 15:33:31 -06:00
Gregory Nutt
9a1b011178
Initiail implementation of lio_listio() and rethinking of signal logic
2014-10-05 11:43:42 -06:00
Gregory Nutt
eeaae40d0c
Initial implementation of aio_fsync()
2014-10-05 08:53:13 -06:00
Gregory Nutt
a4861c7cb7
Iniial implementatin of aio_cancel()
2014-10-05 08:22:39 -06:00
Gregory Nutt
c274acc48f
Move AIO signal logic to a common location in aio_signal.c. Also fix several typos
2014-10-05 06:53:56 -06:00
Gregory Nutt
31cdcde73a
Add definitions for SIGPOLL
2014-10-05 06:02:37 -06:00
Gregory Nutt
e8cef249cc
Initial implementation of aio_write()
2014-10-04 17:30:24 -06:00
Gregory Nutt
fa28c51c75
Fleshes out aio_read implementation
2014-10-04 14:44:57 -06:00
Gregory Nutt
9e8a4dd229
Add skeleton file for eventual implementation of aio_read()
2014-10-04 14:22:00 -06:00
Gregory Nutt
920680041a
Add aio.h header file
2014-10-04 09:59:44 -06:00
Gregory Nutt
032fbb7ace
Add pread(0 and pwrite() system calls
2014-10-04 07:31:45 -06:00
Gregory Nutt
948be542a1
Add pread() and pwrite()
2014-10-04 07:31:13 -06:00
Gregory Nutt
4764c95670
Implement creat() as a macro
2014-10-04 06:44:57 -06:00
Gregory Nutt
73afa66228
Cosmetic update to comments/README
2014-10-01 15:02:49 -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
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
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
1b2729e35e
More testing, bugfixes and integration of VFS-based named semaphores
2014-09-28 17:30:42 -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
aed3fe045e
Add a simple named semaphore test to the OS test
2014-09-28 13:02:36 -06:00
Gregory Nutt
242b34cf46
Create a build structure that will (eventually) support using the VFS to manage named semaphores
2014-09-28 12:19:01 -06:00
Gregory Nutt
39ff9d626e
Move inode and VFS utils from fs/. to fs/inode/.
2014-09-28 10:53:40 -06:00
Gregory Nutt
c0b12cd42d
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:49 -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
7c6ba7bb77
Add prototype for MTD R/W buffering support
2014-09-25 09:31:03 -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
2fa7431ee7
Move include/nuttx/gran.h to include/nuttx/mm/gran.h
2014-09-24 06:55:26 -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
566dc8dd38
Add interfaces to support un-initializing a granule allocator.
2014-09-23 15:50:45 -06:00
Gregory Nutt
edbaed19f9
Add logic necessary to handler remapping of shared memory on contex switches
2014-09-23 13:19:30 -06:00
Gregory Nutt
bf1e6224d5
Add platform-specific interfaces needed to support the shared memory feature
2014-09-23 12:16:44 -06:00
Gregory Nutt
5efd5738e9
Flesh out basic logic for shmget()
2014-09-23 10:42:18 -06:00
Gregory Nutt
a73a3ef99f
Add shared memory initializatin logic
2014-09-23 08:46:31 -06:00
Gregory Nutt
242d5f2068
Add README files and configuration support for the shared memory logic
2014-09-23 07:11:47 -06:00
Gregory Nutt
29075cf666
Add system calls for shared memory interfaces
2014-09-22 15:24:09 -06:00
Gregory Nutt
18ce64d61e
Add the build framework and skeleton files for the shared memory feature (no logic yet provided)
2014-09-22 14:53:56 -06:00
Gregory Nutt
34a057334c
Update SMART FS procfs support. From Ken Pettit
2014-09-22 11:19:49 -06:00
Gregory Nutt
b660a708d4
Add shared memory definitions, types, prototypes
2014-09-22 09:29:37 -06:00
Gregory Nutt
ffb60d064b
More naming changes to get the stm3240g-eval/nxterm configuration building again
2014-09-20 15:53:28 -06:00
Gregory Nutt
fefc4f624b
Change all occurrences of NxConsole to NxTerm
2014-09-20 15:01:50 -06:00
Gregory Nutt
0b67b111ae
Rename CONFIG_NXCONSOLE* to CONFIG_NXTERM*
2014-09-20 14:18:08 -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
31824f5b53
execl() is not a system interface. It belongs in libc and should not have a system call associated with it.
2014-09-15 10:17:04 -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
62880f60c4
In kernel mode, we have to duplicate the callers argv[] buffer when exec'ing new tasks. When the argv[] buffer is needed, the caller's address environment will not longer be in place
2014-09-14 14:10:23 -06:00
Gregory Nutt
3649dab9bd
Initial integration of kernel stack (does not work)
2014-09-14 11:19:34 -06:00
Gregory Nutt
de4956a2cd
Add the initial implementation of the process kernel stack logic. Not yet integrated into the main OS logic nor tested.
2014-09-14 09:53:54 -06:00
Gregory Nutt
b255883b0a
Rename everything associated with the dynamic process stack to ustack to make room in the name space for a kstack
2014-09-14 09:10:09 -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
6e48516a31
Add logic need to manage a virtualized stack. Not yet incorporated into base OS logic.
2014-09-13 13:45:35 -06:00
Gregory Nutt
f965ca1fed
Move static helper routines from arm_addrenv.c and may them global so that they can be shared both forthcoming stack address environment logic.
2014-09-13 13:17:44 -06:00
Gregory Nutt
ed9fced470
Add a configuration option for dynamic stack management
2014-09-13 12:25:32 -06:00
Gregory Nutt
282fe4aa10
exevc, execvl, posix_spawn, and posix_spawnp were not properly integrated as system calls.
2014-09-12 12:47:20 -06:00
Gregory Nutt
17e798993d
Trivial kernel build related fixes for consistency
2014-09-11 12:35:23 -06:00
Gregory Nutt
0fc55d042f
Misc fixes to repair some of the breakage to the SAMA5D4-EK elf configuration caused by changes for the knsh configuration
2014-09-11 10:31:12 -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
205c23b9d6
Add logic to initialize the per-process user heap when each user process is started
2014-09-10 15:55:36 -06:00
Gregory Nutt
df4682fd1f
Add configuration to use the fixed DRAM mapping for the page pool (if available) instead of remapping dynamically to access L2 page tables and page data. Also, add logic in address environment creation to initialize the shared data at the beginning of the .bss/.data process memory region.
2014-09-10 08:41:01 -06:00
Gregory Nutt
c458e72b70
ELF relocations. Some relocation types do not have a named symbol associated with them. The design did not account for that case
2014-09-09 16:52:51 -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
166d46a819
Fix error in new macro definition that causes compile problem when not using a kernel-mode build
2014-09-04 07:01:22 -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
764e1235da
Add a flag to group structure: If the group is created by a kernel thread, then all resources in the group must be priviliged
2014-09-03 13:48:38 -06:00
Gregory Nutt
b05f29dbfe
I love/hate conditional compilation
2014-09-03 11:43:23 -06:00
Gregory Nutt
0c8cc8c691
Fix a typo in conditional compilation
2014-09-03 10:59:22 -06:00
Gregory Nutt
67d516d9d1
Fix several compile errors for logic added for CONFIG_BUILD_KERNEL, but which cause problems for other configurations
2014-09-03 09:21:59 -06:00
Gregory Nutt
1a4f8914c5
Add support for delivery of use-mode signals in the kernel build.
2014-09-02 15:58:14 -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
b085e084f4
Space at the beginning of the process data space is now reserved for user heap management structures. In the kernel build mode, these heap structures are shared between the kernel and use code in order to allocate user-specific data.
2014-09-02 11:21:23 -06:00
Gregory Nutt
8b082a167b
Add SYSCALL support for pgalloc()
2014-09-02 08:29:44 -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
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
45c31d633c
Completes the implementation of sbrk() (untested)
2014-09-01 10:46:51 -06:00
Gregory Nutt
a33c0533f4
ARMv7 address environment: Static functions not marked static
2014-09-01 08:49:08 -06:00
Gregory Nutt
f8a8ce4b18
Initial implementatino of sbrk()
2014-09-01 07:37:54 -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
5a488475a8
Rename kmemalign to kmm_memalign for consitency with other naming
2014-08-31 14:57:31 -06:00
Gregory Nutt
ecdb5120dd
Add low-level memory management hooks that will be needed to support brk() and sbrk()
2014-08-31 14:42:45 -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
b0246d0b7d
mm: Break up mm_user.c and mm_kernel.c into separate files for better symmetry
2014-08-31 11:46:47 -06:00
Gregory Nutt
3c1a70c9dc
Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported
2014-08-31 10:54:55 -06:00
Gregory Nutt
0571a59e12
Need to condition out standard allocators in kernel build. More to be done
2014-08-31 08:10:15 -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
4864b4c8c1
Upate ChangeLog
2014-08-30 13:29:25 -06:00
Gregory Nutt
a5cfd5deba
clock_systimer needs the same fix as fore get/set_errno when used with system calls
2014-08-30 13:26:45 -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
0c7e97658e
Yet more issues with errno access via syscalls fixed
2014-08-30 08:43:10 -06:00
Gregory Nutt
0f5dc2fc65
Various changes/fixes to get configs/stm32f4discovery/kostest working after the big configuration renaming (and after a long period of bit rot)
2014-08-29 16:23:46 -06:00
Gregory Nutt
faf16f229c
Some initial clean-up in verifying the CONFIG_BUILD_PROTECTED configuration change
2014-08-29 15:07:35 -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
beaa2e1c97
include/sys/syscall.h: System definitions should depend on CONFIG_LIB_SYSCALL not CONFIG_NUTTX_KERNEL
2014-08-28 17:03:54 -06:00
Gregory Nutt
fe35751ec2
g_system_timer must be handler in a special way if there are external modules
2014-08-28 17:02:53 -06:00
Gregory Nutt
42e0c5329d
errno must be handled in a special way if there are external modules
2014-08-28 17:01:57 -06:00
Gregory Nutt
7ba9ddee7f
STM32 FLASH fixes: use size_t instead of uint16_t, make interface more generic. From Freddie Chopin
2014-08-28 09:11:20 -06:00
Gregory Nutt
a2463148fc
Can't used task_create() if address environments enabled
2014-08-27 14:19:41 -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
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
0db7da1858
Add up_addrenv_coherent which will be called before address environment switches
2014-08-26 14:53:19 -06:00
Gregory Nutt
b13d9b4161
Rename up_addrenv_assign() to up_addrenv_clone() and generalize its arguments so that can be used for other purposes
2014-08-26 12:16:05 -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
e0a48b60b6
Change naming of ELF interfaces from arch_ to up_ for consistency
2014-08-25 06:47:14 -06:00
Gregory Nutt
7aea220ebf
After cached related fix, the ELF example is now functional
2014-08-24 14:12:45 -06:00
Gregory Nutt
241a7e17bd
addrenv interface changes: up_addrenv_create() may need to create .text and .bss/.data separately because of differing access privileges (read/execute vs read/write). And, as a consequence, up_addrenv_vaddr() needs to be split into up_addrenv_vtext(0 and up_addrenv_vdata().
2014-08-24 11:54:14 -06:00
Gregory Nutt
2cb9d5c7b0
Add addrenv.h; First cut at Cortex-A address environment structures; Add configuration options to setup address enviornment
2014-08-24 09:57:53 -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
b028fb31e9
include/nuttx/pgalloc.h and mm/mm_pgalloc.c: Add a simple page allocator based on the existing NuttX granule allocator. I am not certain if the granule allocator is sufficiently deterministic for long range use, but it gets get a page allocator in place for testing very quickly.
2014-08-23 16:37:16 -06:00
Gregory Nutt
7cd8db9425
gran_reserve(): Add a new function to reserve unallocatable regions in the granule heap
2014-08-23 12:43:21 -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
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
cf242fbeb4
SAM4E-EK: Add ILI9341-based LCD driver
2014-08-20 11:45:01 -06:00
Gregory Nutt
9f5299522f
Add missing include file. From Kosma
2014-08-20 06:34:34 -06:00
Gregory Nutt
703d4bca7b
Add a register definition header file for the ILI9341 LCD
2014-08-19 17:31:10 -06:00
Gregory Nutt
4bba611dc6
Move some internal networking function protoypes out of the public include/nuttx/net/arp.h into to the private net/arp/arp.h
2014-08-18 16:35:20 -06:00
Gregory Nutt
004788d7c0
Change the way PHY interrupts work: disable automatically. Then we have to re-subscribe each time after the interrupt fires
2014-08-17 16:51:56 -06:00
Gregory Nutt
e04ab2bcfc
In order to get PHY interrupts, they must be enabled at the PHY (still don't get PHY interrupts)
2014-08-17 13:03:18 -06:00
Gregory Nutt
dcfc76336a
Add some helper macros to make the code a little more compac
2014-08-17 09:46:03 -06:00
Gregory Nutt
716aec39bf
Cosmetic
2014-08-17 09:45:38 -06:00
Gregory Nutt
057af36c1d
More of the PHY event notification logic change: Fix some compile errors when full feature is enabled; Add some missing ioctol logic
2014-08-16 15:04:09 -06:00
Gregory Nutt
eb5e2e4b20
Finishes the ioctl definition to subscribe to PHY events. Revamp network ioctl signature to support arguments other than struct mii_ioctl_data.
2014-08-16 14:08:04 -06:00
Gregory Nutt
8428a58bdc
Add support for an ioctl that can be used to notify an application when there is a change in the network status signalled by a PHY interrupt
2014-08-16 12:56:02 -06:00
Gregory Nutt
cde108efc6
Move SLIP prototypes from net.h to new slip.h
2014-08-16 10:28:45 -06:00
Gregory Nutt
79e098b20e
Clean missing function headers
2014-08-16 10:24:06 -06:00
Gregory Nutt
4beb3c0ad7
Move SLIP prototypes from net.h to new slip.h
2014-08-16 10:23:17 -06:00
Gregory Nutt
c52f634b79
Standardize a PHY interrupt attachment interface
2014-08-16 08:34:36 -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
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