zephyr/include/arch
Andrew Boie c5a62dcc9c nios2: implement asm_inline_gcc functions for sys_io.h
Nios II has no special instructions for testing bits, ffs, etc.
However, when poking memory-mapped peripherals, special *io variants
of ld and st instructions must be used to avoid issues with the
caches.

find_msb_set / find_lsb_set are implemented using universal GCC
compiler built-ins. It's not clear why this approach was not taken
on other arches.

The sys_in/sys_out/sys_io functions are completely removed as there
is no concept of these on Nios II.

sys_read/sys_write functions implemented using special GCC builtins
for the Nios II so that we don't have to use inline assembly.

Rest of the operations implemented in C, there is no requirement that
they be atomic.

Change-Id: Ic251fc7d7f342543dace4ccb3e429937b303215e
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-05-09 18:09:29 +00:00
..
arc build: rename non-generated linker scripts to .ld extension 2016-05-09 18:09:26 +00:00
arm build: rename non-generated linker scripts to .ld extension 2016-05-09 18:09:26 +00:00
nios2 nios2: implement asm_inline_gcc functions for sys_io.h 2016-05-09 18:09:29 +00:00
x86 arduino_101: support booting with original bootloader 2016-04-30 13:56:54 -04:00
cpu.h nios2: basic build, non-functional 2016-05-03 23:18:45 +00:00