Gregory Nutt
85f663a8ee
SMP: Add non-reentrant spinlocks, fix pre-emption controls with SMP, and most of the basic scheduler support for SMP (still missing a few things)
2016-02-12 14:55:31 -06:00
Gregory Nutt
c315479a04
SMP: Move IDLE thread init logic from sim to OS; need to assign unique IDs to each IDLE task
2016-02-11 14:11:26 -06:00
Gregory Nutt
49227fa554
Scheduler: Replace the boolean 'prioritized' with a uint8_t bit set so that additional attributes of a list can be specified without adding more boolean values.
2016-02-11 08:06:33 -06:00
Gregory Nutt
baac92cda2
Correct some columnar alignment
2016-02-10 16:55:37 -06:00
Gregory Nutt
292d2fe648
Correct naming of a TCB flag; update some comments
2016-02-10 16:53:34 -06:00
Gregory Nutt
96223cedf1
SMP: A little more
2016-02-10 15:43:05 -06:00
Gregory Nutt
8a1789ba11
Update ChangeLog
2016-02-10 14:58:55 -06:00
Gregory Nutt
3147dfc7d5
SMP: Add some tentative initialization logic
2016-02-10 13:49:27 -06:00
Gregory Nutt
47a5663f8c
SMP: A few preliminary data structure definitions
2016-02-10 11:45:26 -06:00
Gregory Nutt
f5a3b1e89d
Add EXPERIMENTAL configuration option to investigate some SMP issues
2016-02-10 10:27:48 -06:00
Gregory Nutt
2c0ad2564f
Add CONFIG_SPINLOCK. Also need spinunlock() and spinlock_initialize()
2016-02-09 15:31:14 -06:00
Gregory Nutt
b022f1e9d8
Add basic support for spinlocks (not currently used by anything)
2016-02-09 13:48:59 -06:00
Gregory Nutt
0af9a197ac
ARP: Add IOCTL commands to manage the ARP table
2016-02-08 11:17:22 -06:00
Gregory Nutt
12f95c6f6b
Add procfs/kmm to show the state of the kernel heap
2016-02-06 11:35:30 -06:00
Gregory Nutt
50cf53914c
Update submodule; Improve some comments
2016-02-05 10:23:39 -06:00
Gregory Nutt
0984104a9a
init.h: Trivial clean-up
2016-02-05 09:25:12 -06:00
Gregory Nutt
2dc258986d
Add a state variable that provides the current level of OS initialization. This is needed by some logic that may attempt to run early in the start-up sequence, but cannot run if a sufficient level of initializaitn has not not yet occurred
2016-02-05 08:34:03 -06:00
Gregory Nutt
dea24c503a
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 12:12:41 -06:00
Gregory Nutt
8fa9b99e7c
I2C driver should support the RESET method as well
2016-02-03 07:32:25 -06:00
Gregory Nutt
03d868be3c
I2C: Fix a naming error
2016-02-02 14:23:33 -06:00
Gregory Nutt
9ce58ad5b7
I2C: up_i2creset should not be a global function; Now it is an I2C interface method
2016-02-02 11:21:48 -06:00
Gregory Nutt
4a34a199dd
I2C: Add an I2C character driver
2016-02-02 08:30:54 -06:00
Gregory Nutt
4304405bba
I2C Slave: I don't think that the setfrequency method makes sense in a slave interface.
2016-02-02 06:07:51 -06:00
Gregory Nutt
456b5f06dc
Clean up some comments
2016-02-01 19:52:16 -06:00
Gregory Nutt
69ce24c70c
I2C: Remove the setfrequency method from the interface
2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b
Add I2C frequency to the i2c_msg_s structure
2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3
I2C: Remove setaddress method
2016-02-01 12:14:31 -06:00
Gregory Nutt
ecdc428086
Remove the read and write methods from the I2C interface
2016-02-01 09:22:22 -06:00
Gregory Nutt
8c9bddf998
I2C: Eliminate the I2C_WRITE and I2C_READ macros
2016-02-01 08:57:22 -06:00
Gregory Nutt
10000841a8
The I2C_TRANSFER method is no longer optional
2016-01-31 14:16:05 -06:00
Gregory Nutt
9370b94241
compiler.h: Missing IOBJ/IPTR definitions for the ZDS-II toolchain
2016-01-31 12:44:44 -06:00
Gregory Nutt
af335827d0
Update ChangeLog
2016-01-30 11:27:49 -06:00
Gregory Nutt
cccfb11e38
Forgot to add a file in the last commit
2016-01-30 08:49:20 -06:00
Gregory Nutt
3a781a2d3f
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 08:00:16 -06:00
Vladimir Komendantskiy
19feab1bd6
drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper half driver for the U-Blox Modem. From Vladimir Komendantskiy
2016-01-30 07:37:43 -06:00
Entinger Alexander
dc8c14aa53
Driver for the 24-Bit Differential Input ADC ADS1242 that communicates via SPI with a MCU. Reading the ADC conversion result as well as configuring the ADC, setting the input channel, etc. is implemented via ioctl calls. However, it does not yet implement the standard ADC interface.
2016-01-29 07:41:23 -06:00
Gregory Nutt
fd896330d8
Remove the final vestiges of up_spiinitialize()
2016-01-27 09:27:56 -06:00
Gregory Nutt
11dab241de
SPI slave: Prototype for MCU-specific slave initialization function removed from spi_slave.h
2016-01-26 13:04:12 -06:00
Gregory Nutt
b6b3c2be3e
Add I2C_TRANSFER based wrappers for I2C_TRANSFER as well
2016-01-26 10:57:51 -06:00
Gregory Nutt
d4a53ee131
I2C: Eliminate the I2C_WRITEREAD method
2016-01-26 10:26:16 -06:00
Gregory Nutt
67f38169b2
drivers/i2c: Move wrapper that implements I2C_WRITEREAD using I2C_transfer from pc9555.c to a new, comon i2c directory
2016-01-26 09:58:18 -06:00
Gregory Nutt
eac271413f
Add more 32-bit math operations; Update ChangeLog
2016-01-25 11:19:25 -06:00
Gregory Nutt
047ed9e543
Add some utilities to support 64-bit math operations on platforms that do not support long long types. Not yet used anywhere
2016-01-25 09:56:00 -06:00
Gregory Nutt
564a1ce606
Cosmetic clean-up of comments
2016-01-24 08:21:55 -06:00
Gregory Nutt
a4a496ad6f
spi.h needs to include errno.h now
2016-01-23 19:13:31 -06:00
Gregory Nutt
7edf921c5e
Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law
2016-01-23 18:54:36 -06:00
Gregory Nutt
accd99db25
Add an optional hwfeatures method to the SPI interface
2016-01-23 15:12:45 -06:00
Gregory Nutt
84d4cb007b
clock_systimer: 64-bit timer accesses are not atomic. Noted by Freddie Chopin.
2016-01-22 12:24:36 -06:00
Gregory Nutt
2dcebe1e3d
Purely cosmetic changes from review of last commit
2016-01-22 07:11:29 -06:00
Stefan Kolb
2b05f3e830
I/O Expander: Fix some bad macros, make naming consisted
2016-01-22 07:08:59 -06:00
Gregory Nutt
032ad1b70b
Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer
2016-01-21 16:49:24 -06:00
Gregory Nutt
7db9a952bc
Fix an error in conditional compilation introduced in the last set of changes
2016-01-21 13:42:34 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
3a59eb4340
Fix romdisk_register prototype. Most ROMFS images actually lie in RAM. If moved to FLASH with const storage class, then changes are required to avoid warnings
2016-01-20 13:04:07 -06:00
Gregory Nutt
f849116a0b
Add implementatino of Tiny Encryption Algorithm
2016-01-19 16:37:45 -06:00
Gregory Nutt
e73ccd6638
Update some comments
2016-01-18 16:27:46 -06:00
Frank Benkert
da33ec6b2e
CAN: Add more extensive error reporting information
2016-01-18 12:22:27 -06:00
Gregory Nutt
9844036a74
Merged in paulpatience/nuttx/lsm9ds1 (pull request #48 )
...
Add LSM9DS1 accelerometer, gyroscope and magnetometer
2016-01-17 15:06:37 -06:00
Paul A. Patience
57b8a9526d
Add LSM9DS1 accelerometer, gyroscope and magnetometer
2016-01-17 16:01:14 -05:00
Gregory Nutt
63301fe213
Cosmetic changes from review of last pull request
2016-01-17 14:52:11 -06:00
Janne Rosberg
fb1bf10a3d
add pn532 support
...
Signed-off-by: Janne Rosberg <janne.rosberg@offcode.fi>
2016-01-17 22:17:49 +02:00
Alexander Entinger
75d6c4cee3
drivers/sensors/mcp9844: Driver for the MCP9844 I2C digital temperature sensor with a selectable resolution
2016-01-15 07:25:58 -06:00
Gregory Nutt
0889963b50
resolv.conf: Fix some basic compilation issues. Logic still not complete.
2016-01-14 08:32:20 -06:00
Gregory Nutt
8e9f884eb7
Step 1 in /etc/resolv.conf support
2016-01-13 15:06:44 -06:00
Gregory Nutt
fbb4dcc0af
Some networking logic was used helpers from apps/netutils. Not good. Quick fix is to duplicate logic
2016-01-09 15:57:44 -06:00
Gregory Nutt
1ac6ecac87
Changes to last pull request needed for conformance with coding standard
2016-01-09 07:27:22 -06:00
Dimitry Kloper
d219f3a36e
Introduce arch-specific debug macro hooks
...
Make it possible for arch code to provide hook macros for NuttX dbg
that will lead to arch-specific syslog() and lowsyslog() variants.
2016-01-09 14:28:12 +02:00
Gregory Nutt
b28bf55fb0
Cosmetic spacing change
2016-01-05 14:52:20 -06:00
Gregory Nutt
670ac9fb2f
Fix an ommission in compiler.h
2016-01-05 14:46:49 -06:00
Dimitry Kloper
06438b0dcc
Fix 64-bit clock-related constant value evaluation for AVR compiler
...
This may be specific for Atmel AVR8 toolchain compiler.
The problem is that despite of being 8-bit architecture
avr-gcc supports uint64_t, but the following code
uint64_t value = 10000 * 1000;
produces a wrong negative value in the final code (tested
both with and without optimization).
The work-around is simple:
uint64_t value = 10000 * 1000L;
The code is a reduced part from sched/signal/sig_timedwait.c where
waitticks64 is calculated using NSEC_PER_TICK. This one is defined
as USEC_PER_TICK * NSEC_PER_USEC which leads to the example above.
2016-01-05 12:02:02 -06:00
Dimitry Kloper
06d83c6261
Introduce support for Atmel toolchain in-flash strings
...
Atmel toolchain AVR compiler provides a transparent in-flash object support using __flash and __memx symbols. The former indicates to compiler that this is a flash-based object. The later used with pointer indicates that the referenced object may reside either in flash or in RAM. The compiler automatically makes 32-bit pointer with flag indicating whether referenced object is in flash or RAM and generates code to access either in run-time. Thus, any function that accepts __memx object can transparently work with RAM and flash objects.
For platforms with a Harvard architecture and a very small RAM like AVR this allows to move all constant strings used in trace messages to flash in the instruction address space, releasing resources for other things.
This change introduces IOBJ and IPTR type qualifiers. The 'I' indicates that the object may like in instruction space on a Harvard architecture machine.
For platforms that do not have __flash and __memx or similar symbols IOBJ and IPTR are empty, making the types equivalent to, for example, 'const char' and 'const char*'. For Atmel compiler these will become 'const __flash char' and 'const __memx char*'. All printf() functions and syslog() functions are changed so that the qualifier is used with the format parameter.
From: Dimitry Kloper <dikloper@cisco.com>
2016-01-05 10:29:29 -06:00
Dimitry Kloper
b48ca00cd5
The delay parameter has 'int' type while explicit int32_t is used in sigtimedwait() (sig_timedwait.c) This can lead to wrong argument for systems that have default int size different than int32 (namely AVR).
2016-01-05 07:58:04 -06:00
Gregory Nutt
b1938c065d
sys/time.h: Fix timersub macro; time_t is unsigned
2015-12-31 09:05:35 -06:00
Gregory Nutt
c1fff4706c
signals: Adds a very limited, minimal implementation for SIGEV_THREAD
2015-12-30 15:01:14 -06:00
Gregory Nutt
849df03d22
Update dates on files modified for SIGEV_THREAD support
2015-12-30 13:28:39 -06:00
Gregory Nutt
9835eeb181
signals: Basic framework to support SIGEV_THREAD
2015-12-30 13:20:31 -06:00
Gregory Nutt
e76e8f41c6
pthread: Correct default schedule policy
2015-12-30 12:18:24 -06:00
Manuel Stühn
4350b0ba0c
Move macros timeradd() and friends from time.h to sys/time.h.
2015-12-24 07:09:39 -06:00
Gregory Nutt
7110634a38
Trivial typo fix in a comment
2015-12-23 16:09:49 -06:00
Gregory Nutt
5d84cd5d11
Improve a few comments
2015-12-23 15:17:16 -06:00
Manuel Stühn
3002023798
time.h: Add timeradd(), timersub(), timerclear(), timerisset(), and timercmp() as macros. These are non-POSIX interfaces, but included in most BSD deriviatives, included Linux. From Manuel Stühn
2015-12-23 15:13:01 -06:00
Gregory Nutt
b90da3f27b
waitpid: CRITICAL BUGFIX. Add a reference counting mechansim to prevent wait from using stale memory that was freed by the exiting task
2015-12-22 11:48:17 -06:00
Gregory Nutt
8ab93fdf98
Change name of drivers/discrete back to drivers/ioexpander
2015-12-15 08:40:34 -06:00
Gregory Nutt
78f2ce05f8
drivers: Move discrete user LED drivrs from drivers/discrete to drivers/leds
2015-12-15 08:23:53 -06:00
Gregory Nutt
d62a626703
Adds a driver for the PCA9635PW I2C LED driver IC which can be used to control the intensity of up to 16 LEDs. From Alexander Entinger
2015-12-15 08:05:10 -06:00
Gregory Nutt
e8d0f85c8b
Modules: Add mod_setsymtab to set global symtol table once. Now we can remove symbol table parameters from the insmod call. This will make implementing an NSH insmod command much easier
2015-12-13 08:10:01 -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
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
44e45f0f91
insmod is code complete and ready for test
2015-12-11 10:55:21 -06:00
Gregory Nutt
05cb7a9043
Call initializer entry point on start-up; do not create a task
2015-12-11 07:27:45 -06:00
Gregory Nutt
251e8395c7
Mostly cosmetic renaming to straighten out namespace
2015-12-10 16:56:10 -06:00
Gregory Nutt
8bcf35ff39
binfmt/libmodule: Add support for kernel modules. Initial commit is just the ELF module support with name changes
2015-12-10 09:53:31 -06:00
Gregory Nutt
8fdb173090
drivers/net/telnet.c: Now works like the loop device. A new interface called telnet_initialize() registers a telnet session "factory" device at /dev/telnet. Via ioctl, the factory device can create instances of the telnet character devices at /dev/telnetN to support Telnet sessions.
2015-12-07 13:48:06 -06:00
Gregory Nutt
057b6aef2c
drivers/net: Move the Telnet driver from apps/netutils/netnetd to drivers/net
2015-12-07 09:26:57 -06:00
Gregory Nutt
7be7579f59
Back out 522f95abe87d71c7025f2f358a8f350134e284b2: What was I thinking?
2015-12-02 10:47:32 -06:00
Gregory Nutt
acd3b47def
Fix problem in last change to the procfs: Forgot to save the reallocated table pointer!
...
Also added warnings: There are some concurrency issues in the current implementation if you try to modify the procfs data structures will the procfs is mounted and possibly busy.
2015-12-02 05:20:02 -06:00