zephyr/include
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
..
arch nios2: implement asm_inline_gcc functions for sys_io.h 2016-05-09 18:09:29 +00:00
bluetooth Bluetooth: Simplify advertising API 2016-05-04 11:11:34 +00:00
display drivers: Replace DEV_OK by 0 2016-03-16 19:30:04 -04:00
drivers stm32: rename SOC_STM32F1X -> SOC_SERIES_STM32F1X 2016-04-18 21:24:58 +00:00
microkernel headers: use __deprecated 2016-04-15 22:07:57 +00:00
misc misc: Add sys_slist_insert 2016-04-28 11:41:15 +00:00
net net: Enable TCP support 2016-04-25 09:40:32 +03:00
toolchain toolchain: common.h: define PERFOPT_ALIGN for Nios2 2016-05-03 23:18:47 +00:00
adc.h drivers: Replace DEV_OK by 0 2016-03-16 19:30:04 -04:00
aio_comparator.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
atomic.h Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
cache.h cache: add implementation for cache-less systems 2016-02-05 20:25:24 -05:00
clock_control.h clock_control: extend API with clock rate query operation 2016-03-16 18:09:32 +00:00
counter.h doc: counter should be under device driver 2016-04-15 18:42:17 +00:00
device.h device: simplify synchronization 2016-05-04 22:51:34 +00:00
flash.h drivers: Fix documentation from remaining APIs 2016-03-16 19:30:04 -04:00
gpio.h gpio: fix typo in function documentation 2016-05-01 16:21:52 -04:00
i2c.h i2c: change i2c_reg_update_byte parameter order 2016-04-26 11:06:50 +00:00
init.h power_mgmt: Add device power management support 2016-03-26 14:35:11 -04:00
ipm.h ipm: correct prototype for ipm_send 2016-03-09 06:31:02 +00:00
irq_offload.h doc: Fix misuse of @file doxygen tag 2016-02-11 20:11:03 +00:00
irq.h headers: use __deprecated 2016-04-15 22:07:57 +00:00
kernel_version.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
linker-defs.h nios2: basic build, non-functional 2016-05-03 23:18:45 +00:00
linker-tool-gcc.h nios2: basic build, non-functional 2016-05-03 23:18:45 +00:00
linker-tool.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
microkernel.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
nanokernel.h nanokernel: [un]block tasks on nanokernel objects infrastructure 2016-05-04 22:51:33 +00:00
pinmux.h pinmux: Change returning type from pinmux.h APIs 2016-03-16 19:46:05 +00:00
power.h doc: power_mgmt: Added Power Management documentation 2016-04-27 00:57:53 +00:00
pwm.h doc: pwm: remove extra function param from comment 2016-04-15 22:06:41 +00:00
rtc.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
section_tags.h ARM: ARC: put sw_isr_table in ROM by default 2016-02-05 20:25:21 -05:00
sections.h ARM: ARC: put sw_isr_table in ROM by default 2016-02-05 20:25:21 -05:00
sensor.h sensor: rename SENSOR_TYPE_* to SENSOR_VALUE_TYPE_* 2016-04-26 18:09:41 +00:00
shared_irq.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
spi.h drivers: Fix documentation from remaining APIs 2016-03-16 19:30:04 -04:00
sw_isr_table.h irq: fix declared _sw_isr_table size on ARC 2016-02-05 20:25:25 -05:00
sys_clock.h sys_clock: Add a helper to compute micro seconds 2016-04-07 16:51:07 +00:00
sys_io.h sys_io: don't allow negative bit offsets 2016-03-04 16:26:21 +00:00
toolchain.h Fixed file description and applied doxygen style 2016-02-05 20:24:58 -05:00
uart.h serial/uart.h: no need to check driver_api being NULL 2016-04-12 19:30:35 +08:00
watchdog.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
zephyr.h sysgen: generate sysgen.h instead of zephyr.h 2016-02-05 20:24:35 -05:00