bertos.git
14 years agosam3 spi: use data transfer register interrupt instead of tx finished interrupt:...
aleph [Thu, 21 Oct 2010 10:24:53 +0000 (10:24 +0000)]
sam3 spi: use data transfer register interrupt instead of tx finished interrupt: this
way transfer is faster and we avoid chip select deasserting after each byte of a multi-byte
transfer.
Set all chip select registers at initialization, in case user change chip select manually
(at the moment the spi driver doesn't have an API to change chip select).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4442 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n spi: fix interrupt enable/disable logic. Interrupt is enabled only when
aleph [Tue, 19 Oct 2010 18:47:22 +0000 (18:47 +0000)]
sam3n spi: fix interrupt enable/disable logic.  Interrupt is enabled only when
there are data to send and turned off when interrupt handler find an empty
fifo.  To test in depth.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4441 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n serial/spi: use correct peripheral ids and interrupt numbers; initialize correctly
aleph [Tue, 19 Oct 2010 18:43:56 +0000 (18:43 +0000)]
sam3n serial/spi: use correct peripheral ids and interrupt numbers; initialize correctly
all SPI I/O lines and peripheral alternate function.
Some sam3n-ek board specific code in SPI init, to be removed when driver is completed.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4440 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n: fix confusion between interrupt numbers and peripheral ids.
aleph [Tue, 19 Oct 2010 18:41:15 +0000 (18:41 +0000)]
sam3n: fix confusion between interrupt numbers and peripheral ids.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4439 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n: revert to a version of Atmel's sam3n register definitions more faithful to...
aleph [Mon, 18 Oct 2010 16:07:00 +0000 (16:07 +0000)]
sam3n: revert to a version of Atmel's sam3n register definitions more faithful to Atmel's
one, to use only when accessing registers not defined in standard BeRTOS sam3 includes
(io/sam3_*.h).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4438 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix copyright and comment.
asterix [Sun, 17 Oct 2010 21:39:56 +0000 (21:39 +0000)]
Fix copyright and comment.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4437 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3 port: add serial module.
aleph [Fri, 15 Oct 2010 19:59:58 +0000 (19:59 +0000)]
sam3 port: add serial module.

Copied from SAM7 architecture driver and improved to handle SAM3 as well.
Mantained SAM7 compatibility, to allow future merge between SAM7 and SAM3 driver
trees.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4436 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3 port: add CPU detect macros for SAM3S4 and SAM3U4.
aleph [Fri, 15 Oct 2010 19:56:28 +0000 (19:56 +0000)]
sam3 port: add CPU detect macros for SAM3S4 and SAM3U4.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4435 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n: update clock and kdebug modules to use lastest register definion convention
aleph [Fri, 15 Oct 2010 19:55:25 +0000 (19:55 +0000)]
sam3n: update clock and kdebug modules to use lastest register definion convention

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4434 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: add some peripheral register definitions.
aleph [Fri, 15 Oct 2010 19:53:04 +0000 (19:53 +0000)]
sam3n port: add some peripheral register definitions.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4433 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: revert to our custom made register definition includes.
aleph [Fri, 15 Oct 2010 18:08:12 +0000 (18:08 +0000)]
sam3n port: revert to our custom made register definition includes.

SAM3 peripherals are very similar to SAM7 one.  To allow reuse of SAM7
drivers we need to use same register definitions.  Atmel supplied
include file defines register offsets with the bare register name
(i.e. PIO_PDR) and access register macro with the REG_ prefix.
Instead the SAM7 tree defines offsets with _OFF suffix and access
register macros with the bare register name.  Moreover register
bits are defined as bit numbers, i.e. when using them on registers
the BV() macro is required.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4432 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoPut the specific random cpu backend to correct dir.
asterix [Fri, 15 Oct 2010 16:33:49 +0000 (16:33 +0000)]
Put the specific random cpu backend to correct dir.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4431 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd entropy generation for stm32.
asterix [Fri, 15 Oct 2010 13:32:09 +0000 (13:32 +0000)]
Add entropy generation for stm32.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4430 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoReformat.
asterix [Fri, 15 Oct 2010 13:30:38 +0000 (13:30 +0000)]
Reformat.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4429 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix log import module, other simple typo fixes.
asterix [Thu, 14 Oct 2010 10:54:27 +0000 (10:54 +0000)]
Fix log import module, other simple typo fixes.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4428 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd signal connections for the 'hex' fields.
duplo [Thu, 14 Oct 2010 08:18:37 +0000 (08:18 +0000)]
Add signal connections for the 'hex' fields.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4427 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agousbser: remove duplicate definitions
arighi [Wed, 13 Oct 2010 13:13:50 +0000 (13:13 +0000)]
usbser: remove duplicate definitions

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4426 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agowizard: do not auto-detect number base for integer parameters
arighi [Wed, 13 Oct 2010 11:11:11 +0000 (11:11 +0000)]
wizard: do not auto-detect number base for integer parameters

The spinbox for int, long or unsigned long parameter must only support
base-10 integers.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4425 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: integrate vendor and product ID configuration in the wizard
arighi [Wed, 13 Oct 2010 11:00:22 +0000 (11:00 +0000)]
USB: integrate vendor and product ID configuration in the wizard

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4424 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agowizard: add hex configuration parameter type
arighi [Wed, 13 Oct 2010 11:00:18 +0000 (11:00 +0000)]
wizard: add hex configuration parameter type

The wizard should be able to show configuration parameter numbers in
hexadecimal format. This feature is very useful to specify memory
addresses, product IDs, etc.

Add the support for this new "hex" type.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4423 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3: disable watchdog at boot
aleph [Tue, 12 Oct 2010 16:50:19 +0000 (16:50 +0000)]
sam3: disable watchdog at boot

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4422 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agowizard: follow symlinks only under POSIX OSes
arighi [Tue, 12 Oct 2010 16:13:36 +0000 (16:13 +0000)]
wizard: follow symlinks only under POSIX OSes

r4299 introduced a bug on non-POSIX environments, because the
python's os.walk() doesn't recognize the followlinks keyboard.

Use this option only when a POSIX OS is detected.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4421 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: remove sneaked in commented code
aleph [Tue, 12 Oct 2010 16:09:10 +0000 (16:09 +0000)]
sam3n port: remove sneaked in commented code

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4420 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoatsam3 port: add all Atmel register definitions and scrap our custom made and incomplete
aleph [Tue, 12 Oct 2010 15:09:59 +0000 (15:09 +0000)]
atsam3 port: add all Atmel register definitions and scrap our custom made and incomplete
ones.  Fix clock and kdebug driver accordingly.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4419 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: add (unfinished) configuration check form sam3n1/2/3 cpu models
aleph [Tue, 12 Oct 2010 15:03:03 +0000 (15:03 +0000)]
sam3n port: add (unfinished) configuration check form sam3n1/2/3 cpu models

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4418 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n: change flash io defines according to at91 port style: _OFF for offsets and...
aleph [Mon, 11 Oct 2010 18:16:37 +0000 (18:16 +0000)]
sam3n: change flash io defines according to at91 port style: _OFF for offsets and without _R suffix for registers

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4417 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agomsp430: kdebug driver enhancement
arighi [Sat, 9 Oct 2010 14:36:29 +0000 (14:36 +0000)]
msp430: kdebug driver enhancement

This patch allows for more control over the UART's module clock source
and frequency within the debug driver.

Signed-off-by: Mohamed Tarek <mtarek16@gmail.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4416 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Isaac: change reseeding algorithm by xoring the new seed over the
rasky [Tue, 5 Oct 2010 17:49:39 +0000 (17:49 +0000)]
SEC: Isaac: change reseeding algorithm by xoring the new seed over the
current context. This allows an initial full seeding.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4415 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: set flash wait states before activating fast clock
aleph [Tue, 5 Oct 2010 16:47:01 +0000 (16:47 +0000)]
sam3n port: set flash wait states before activating fast clock

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4414 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: fix copyright date
aleph [Tue, 5 Oct 2010 16:46:07 +0000 (16:46 +0000)]
sam3n port: fix copyright date

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4413 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n: add flash definitions and linker script
aleph [Tue, 5 Oct 2010 16:45:35 +0000 (16:45 +0000)]
sam3n: add flash definitions and linker script

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4412 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n kdebug: fix bug, enable correctly UART PMC.
aleph [Tue, 5 Oct 2010 16:44:05 +0000 (16:44 +0000)]
sam3n kdebug: fix bug, enable correctly UART PMC.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4411 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32-P103: add usbmouse preset
arighi [Tue, 5 Oct 2010 15:27:52 +0000 (15:27 +0000)]
STM32-P103: add usbmouse preset

This example implements virtual USB HID mouse device using the Olimex
STM32-P103 evaluation board.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4410 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32-P103: add usbkeyboard preset
arighi [Tue, 5 Oct 2010 15:14:43 +0000 (15:14 +0000)]
STM32-P103: add usbkeyboard preset

This example implements virtual USB HID keyboard device using the Olimex
STM32-P103 evaluation board.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4409 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32-P103: add usbserial preset
arighi [Tue, 5 Oct 2010 13:45:07 +0000 (13:45 +0000)]
STM32-P103: add usbserial preset

This example implements a real USB/serial converter using the Olimex
STM32-P103 evaluation board.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4408 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32-P103: add examples directory
arighi [Tue, 5 Oct 2010 13:44:58 +0000 (13:44 +0000)]
STM32-P103: add examples directory

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4407 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix typo in DevelGPS project's description.
arighi [Tue, 5 Oct 2010 13:34:52 +0000 (13:34 +0000)]
Fix typo in DevelGPS project's description.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4406 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSome fix to compile run test check.
asterix [Tue, 5 Oct 2010 09:30:12 +0000 (09:30 +0000)]
Some fix to compile run test check.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4405 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSome fix to compile run test check.
asterix [Tue, 5 Oct 2010 09:29:31 +0000 (09:29 +0000)]
Some fix to compile run test check.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4404 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd progress dialog when loading existing projects.
duplo [Tue, 5 Oct 2010 08:45:51 +0000 (08:45 +0000)]
Add progress dialog when loading existing projects.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4403 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix missing header. Add blowfish source to run_test script.
asterix [Tue, 5 Oct 2010 08:34:13 +0000 (08:34 +0000)]
Fix missing header. Add blowfish source to run_test script.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4402 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: add OFB mode to symmetric ciphers.
rasky [Mon, 4 Oct 2010 18:43:14 +0000 (18:43 +0000)]
SEC: add OFB mode to symmetric ciphers.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4401 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add 32-bit optimized AES implementation and refactor code to support
rasky [Mon, 4 Oct 2010 18:22:21 +0000 (18:22 +0000)]
SEC: Add 32-bit optimized AES implementation and refactor code to support
multiple implementations.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4400 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd speed calculation to cipher benchmarks
rasky [Mon, 4 Oct 2010 18:21:21 +0000 (18:21 +0000)]
Add speed calculation to cipher benchmarks

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4399 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: add another AES test for debugging purposes
rasky [Mon, 4 Oct 2010 18:21:05 +0000 (18:21 +0000)]
SEC: add another AES test for debugging purposes

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4398 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: use external 12 MHz oscillator as system clock
aleph [Mon, 4 Oct 2010 14:36:14 +0000 (14:36 +0000)]
sam3n port: use external 12 MHz oscillator as system clock

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4397 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd system controller register and clean-up PMC headers
aleph [Mon, 4 Oct 2010 14:34:24 +0000 (14:34 +0000)]
Add system controller register and clean-up PMC headers

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4396 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: use generic completion events
arighi [Fri, 1 Oct 2010 17:32:20 +0000 (17:32 +0000)]
STM32: USB: use generic completion events

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4393 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agomware: add generic completion events
arighi [Fri, 1 Oct 2010 17:32:17 +0000 (17:32 +0000)]
mware: add generic completion events

Device drivers often need to wait the completion of some event, usually to
allow the hardware to accomplish some asynchronous task.

A common approach is to place a busy wait with a cpu_relax() loop that invokes
the architecture-specific instructions to say that we're not doing much with
the processor.

Although technically correct, the busy loop degrades the overall system
performance in presence of multiple processes and power consumption.

With the kernel the natural way to implement such wait/complete mechanism is to
use signals via sig_wait() and sig_post()/sig_send().

However, signals in BeRTOS are only available in presence of the kernel (that
is just a compile-time option). This means that each device driver must provide
two different interfaces to implement the wait/complete semantic: one with the
kernel and another without the kernel.

The purpose of the completion events is to provide a generic interface to
implement a synchronization mechanism to block the execution of code until a
specific event happens.

This interface does not depend on the presence of the kernel and it
automatically uses the appropriate event backend to provide the same
behaviour with or without the kernel.

Example usage:
---------------------------------------------------------------------
static Event e;

static void irq_handler(void)
{
/* Completion event has happened, resume the execution of init() */
event_do(&e);
}

static void init(void)
{
/* Declare a generic completion event */
event_initGeneric(&e);
/* Submit the hardware initialization request */
async_hw_init();
/* Wait for the completion of the event */
event_wait(&e);
}
---------------------------------------------------------------------

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4392 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: make all USB strings as const
arighi [Thu, 30 Sep 2010 14:57:24 +0000 (14:57 +0000)]
USB: make all USB strings as const

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4391 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd benchmarks for block ciphers.
rasky [Thu, 30 Sep 2010 14:18:35 +0000 (14:18 +0000)]
Add benchmarks for block ciphers.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4390 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: fix undeterminism in X917 and refactor to avoid using a union.
rasky [Thu, 30 Sep 2010 14:18:14 +0000 (14:18 +0000)]
SEC: fix undeterminism in X917 and refactor to avoid using a union.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4389 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: remove duplicated macros
arighi [Thu, 30 Sep 2010 14:15:18 +0000 (14:15 +0000)]
STM32: USB: remove duplicated macros

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4388 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agocompiler: introduce ALIGNED macro
arighi [Thu, 30 Sep 2010 14:15:15 +0000 (14:15 +0000)]
compiler: introduce ALIGNED macro

Add a macro to specify the minimum alignment (in bytes) during a
variable declaration.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4387 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoIntroduce ALIGN_UP() macro
arighi [Thu, 30 Sep 2010 14:15:13 +0000 (14:15 +0000)]
Introduce ALIGN_UP() macro

Add a generic macro to align a value to the next alignment boundary.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4386 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoRestore the old rcc-based resource generation system.
duplo [Thu, 30 Sep 2010 14:10:59 +0000 (14:10 +0000)]
Restore the old rcc-based resource generation system.
(the pyrcc4-based one seems to not work properly on Windows)

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4385 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: use distinct EP buffers
arighi [Thu, 30 Sep 2010 14:01:12 +0000 (14:01 +0000)]
STM32: USB: use distinct EP buffers

This fixes a race condition when multiple EPs perform transfers at the
same time.

Moreover, reorganize the USB packet memory taking into account only the
allocated endpoints. This allows to reduce the memory reserved for
buffer descriptor table (metadata), and enlarge the "useful" memory that
can be allocated for the real USB transfers (data).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4384 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: define descriptors only for the allocated endpoints
arighi [Thu, 30 Sep 2010 13:17:03 +0000 (13:17 +0000)]
STM32: USB: define descriptors only for the allocated endpoints

There is no need to define descriptors for all the supported hardware
endpoints, but just for the ones that are actually used.

Also check the validity of the endpoint addresses considering the
allocated endpoints.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4383 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: include device driver configuration files for EP allocation
arighi [Thu, 30 Sep 2010 13:17:00 +0000 (13:17 +0000)]
USB: include device driver configuration files for EP allocation

Include specific USB device driver's configuration to determine the
list of the allocated endpoints.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4382 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix missing header in test.
rasky [Thu, 30 Sep 2010 12:00:33 +0000 (12:00 +0000)]
Fix missing header in test.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4381 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFix coding convention for HMAC module.
rasky [Thu, 30 Sep 2010 12:00:18 +0000 (12:00 +0000)]
Fix coding convention for HMAC module.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4380 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add OMAC1/2 message authentication.
rasky [Thu, 30 Sep 2010 11:56:25 +0000 (11:56 +0000)]
SEC: Add OMAC1/2 message authentication.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4379 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: voidify mac interface.
rasky [Thu, 30 Sep 2010 11:55:32 +0000 (11:55 +0000)]
SEC: voidify mac interface.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4378 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: compile-time endpoints allocation
arighi [Thu, 30 Sep 2010 10:47:06 +0000 (10:47 +0000)]
USB: compile-time endpoints allocation

If we want to use many USB device drivers at the same time, we need to
properly allocate the endpoints among different drivers to avoid
conflicts (different drivers using the same endpoint).

Perform this allocation at compile-time according to the drivers enabled
in the project's configuration.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4377 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd comment.
asterix [Thu, 30 Sep 2010 10:29:29 +0000 (10:29 +0000)]
Add comment.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4376 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: unify endpoints' TX and RX buffers
arighi [Thu, 30 Sep 2010 10:18:55 +0000 (10:18 +0000)]
USB: unify endpoints' TX and RX buffers

According to the USB standard a USB endpoint can carry data in only one
direction, either from the host computer to the device (OUT endpoint) or
from the device to the host computer (IN endpoint).

So there is no reason to use distinct buffers for trasnmit and receive.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4375 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add comment to warn about stack overflow.
rasky [Wed, 29 Sep 2010 21:43:06 +0000 (21:43 +0000)]
SEC: Add comment to warn about stack overflow.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4374 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Decomment blowfish_stackinit()
rasky [Wed, 29 Sep 2010 21:42:09 +0000 (21:42 +0000)]
SEC: Decomment blowfish_stackinit()

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4373 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add AES stress tests.
rasky [Wed, 29 Sep 2010 21:40:56 +0000 (21:40 +0000)]
SEC: Add AES stress tests.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4372 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add blowfish cipher.
rasky [Wed, 29 Sep 2010 21:40:43 +0000 (21:40 +0000)]
SEC: Add blowfish cipher.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4371 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: improve cipher API to allow variable-key ciphers.
rasky [Wed, 29 Sep 2010 21:40:13 +0000 (21:40 +0000)]
SEC: improve cipher API to allow variable-key ciphers.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4370 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoAdd copyright blurb.
rasky [Wed, 29 Sep 2010 21:39:40 +0000 (21:39 +0000)]
Add copyright blurb.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4369 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: turn on strong random implementation by default.
rasky [Wed, 29 Sep 2010 16:59:52 +0000 (16:59 +0000)]
SEC: turn on strong random implementation by default.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4368 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoRemove debug spew
rasky [Wed, 29 Sep 2010 16:59:40 +0000 (16:59 +0000)]
Remove debug spew

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4367 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Fix entropy pool initialization and first reseed.
rasky [Wed, 29 Sep 2010 16:59:12 +0000 (16:59 +0000)]
SEC: Fix entropy pool initialization and first reseed.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4366 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add Yarrow entropy pool implementation.
rasky [Wed, 29 Sep 2010 16:58:35 +0000 (16:58 +0000)]
SEC: Add Yarrow entropy pool implementation.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4365 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: fix first seeding of x917 to be fully deterministic.
rasky [Wed, 29 Sep 2010 16:51:03 +0000 (16:51 +0000)]
SEC: fix first seeding of x917 to be fully deterministic.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4364 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: compact code and silent a buggy doxygen warning
arighi [Wed, 29 Sep 2010 16:48:00 +0000 (16:48 +0000)]
STM32: USB: compact code and silent a buggy doxygen warning

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4363 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: coding convention.
rasky [Wed, 29 Sep 2010 16:41:39 +0000 (16:41 +0000)]
SEC: coding convention.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4362 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoFollow coding convention.
rasky [Wed, 29 Sep 2010 16:41:27 +0000 (16:41 +0000)]
Follow coding convention.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4361 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add Yarrow PRNG generator.
rasky [Wed, 29 Sep 2010 16:36:14 +0000 (16:36 +0000)]
SEC: Add Yarrow PRNG generator.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4360 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: extract the CTR step into a public function, for algorithms that might use it.
rasky [Wed, 29 Sep 2010 16:35:39 +0000 (16:35 +0000)]
SEC: extract the CTR step into a public function, for algorithms that might use it.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4359 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: add doxygen documentation
arighi [Wed, 29 Sep 2010 16:32:26 +0000 (16:32 +0000)]
USB: add doxygen documentation

Also fix a possible endianess bug in DEFINE_USB_STRING().

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4358 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUse new progmem API.
batt [Wed, 29 Sep 2010 16:08:50 +0000 (16:08 +0000)]
Use new progmem API.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4357 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoProgmem macros: add support for non-havard CPU as well; general refactoring.
batt [Wed, 29 Sep 2010 15:48:36 +0000 (15:48 +0000)]
Progmem macros: add support for non-havard CPU as well; general refactoring.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4356 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: make sure PRNGs are seeded before generating data. This allows
rasky [Wed, 29 Sep 2010 15:37:11 +0000 (15:37 +0000)]
SEC: make sure PRNGs are seeded before generating data. This allows
init() function not to initialize seed-related memory without risking to
incur into unwanted behaviour.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4355 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: update ISAAC to coding standard naming.
rasky [Wed, 29 Sep 2010 15:30:11 +0000 (15:30 +0000)]
SEC: update ISAAC to coding standard naming.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4354 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: update the preprocessor machinery for coding standard requirements.
rasky [Wed, 29 Sep 2010 15:26:17 +0000 (15:26 +0000)]
SEC: update the preprocessor machinery for coding standard requirements.
Also activate X9.17 as PRNG for medium-security setting.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4353 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add ANSI X9.17 PRNG.
rasky [Wed, 29 Sep 2010 15:24:43 +0000 (15:24 +0000)]
SEC: Add ANSI X9.17 PRNG.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4352 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agosam3n port: fix integer comparison in clock initialization
aleph [Wed, 29 Sep 2010 13:59:39 +0000 (13:59 +0000)]
sam3n port: fix integer comparison in clock initialization

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4351 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add AES test using official test vectors.
rasky [Wed, 29 Sep 2010 13:42:20 +0000 (13:42 +0000)]
SEC: Add AES test using official test vectors.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4350 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: move the buffer alignment asserts into the appropriate functions
arighi [Wed, 29 Sep 2010 13:42:04 +0000 (13:42 +0000)]
STM32: USB: move the buffer alignment asserts into the appropriate functions

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4349 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add AES implementation.
rasky [Wed, 29 Sep 2010 13:41:58 +0000 (13:41 +0000)]
SEC: Add AES implementation.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4348 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Fix a last-minute typo.
rasky [Wed, 29 Sep 2010 13:40:29 +0000 (13:40 +0000)]
SEC: Fix a last-minute typo.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4347 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: Add symmetric ciphers generic interface.
rasky [Wed, 29 Sep 2010 13:38:54 +0000 (13:38 +0000)]
SEC: Add symmetric ciphers generic interface.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4346 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: fix a useless call in benchmarks.
rasky [Wed, 29 Sep 2010 13:31:22 +0000 (13:31 +0000)]
SEC: fix a useless call in benchmarks.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4345 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agocpu: enforce a memory barrier inside cpu_relax()
arighi [Wed, 29 Sep 2010 12:50:16 +0000 (12:50 +0000)]
cpu: enforce a memory barrier inside cpu_relax()

Put a memory barrier inside cpu_relax() to make sure the compiler
doesn't cache variables used outside cpu_relax() in registers.

Suppose to have the following case (used in many device drivers):

static int done = false;

void irq_handler(void)
{
done = true;
}

void wait_for_completion(void)
{
while (done == false)
cpu_relax();
}

If cpu_relax() is just considered a nop the compiler may decide to not
reload the value in the variable "done" from memory, causing a
neverending loop.

The presence of an explicit memory barrier fixes this case.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4344 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSTM32: USB: use internal TX and RX buffer
arighi [Wed, 29 Sep 2010 12:50:13 +0000 (12:50 +0000)]
STM32: USB: use internal TX and RX buffer

The STM32 USB controller requires that the buffers used for endpoint
transfers are aligned to 4 bytes.

Define a transmit and a receive buffers internally into the low-level
USB driver, both properly aligned to 4 bytes.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4343 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoUSB: provide low-level internal TX and RX buffers
arighi [Wed, 29 Sep 2010 12:50:10 +0000 (12:50 +0000)]
USB: provide low-level internal TX and RX buffers

Some USB controllers may require specific constraints on the buffers
used for the endpoint transfers (e.g., a proper memory alignment).

Add CONFIG_USB_RXBUFSIZE and CONFIG_USB_TXBUFSIZE to the usb module
configuration parameters to define the size of these buffers.

If a low-level driver has specific memory alignment constraints it can
define such buffers internally using the proper alignment.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4342 38d2e660-2303-0410-9eaa-f027e97ec537

14 years agoSEC: added cpu_relax() in busy-wait loop.
rasky [Wed, 29 Sep 2010 12:32:42 +0000 (12:32 +0000)]
SEC: added cpu_relax() in busy-wait loop.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4341 38d2e660-2303-0410-9eaa-f027e97ec537