zephyr/drivers
Adithya Baglody b0db28b512 drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files.
Normally a syscall would check the current privilege level and then
decide to go to _impl_<syscall> directly or go through a
_handler_<syscall>.
__ZEPHYR_SUPERVISOR__ is a compiler optimization flag which will
make all the system calls from the driver files directly link
to the _impl_<syscall>. Thereby reducing the overhead of checking the
privileges.

In the previous implementation all the source files would be compiled
by zephyr_source() rule. This means that zephyr_* is a catchall CMake
library for source files that can be built purely with the include
paths, defines, and other compiler flags that all zephyr source
files uses. This states that adding one extra compiler flag for only
one complete directory would fail.
This limitation can be overcome by using zephyr_libray* APIs. This
creates a library for the required directories and it also supports
directory level properties.
Hence we use zephyr_library* to create a new library with
macro _ZEPHYR_SUPERVISOR_ for the optimization.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-05-15 17:48:18 +03:00
..
adc drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
aio drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
bluetooth dts/bindings: Add reset and irq gpios to "st,spbtle-rf" yaml 2018-05-10 14:21:16 -05:00
clock_control drivers/stm32f0x_ll_clock: Enable SYSCFG in clock_control 2018-05-14 09:45:40 -05:00
console
counter drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
crypto
display
dma drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
entropy drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
ethernet
flash drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
gpio drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
grove
i2c drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
i2s drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
ieee802154 boards: dts: Add mcr20a bindings and fix networking samples 2018-05-10 15:43:42 -05:00
interrupt_controller xtensa: intel_s1000: implement interrupt mechanism 2018-05-01 16:46:41 -04:00
ipm drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
led doc: fix misspellings in doc and Kconfig files 2018-05-09 15:06:43 -05:00
led_strip
net
pci
pinmux drivers: pinmux_stm32l4x: add usb otg pinmux 2018-05-10 07:47:13 -05:00
pwm drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
rtc drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
sensor drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
serial drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
spi drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
timer
usb drivers/usb_dc_stm32: Check if SYSCFG is enabled 2018-05-14 09:45:40 -05:00
watchdog drivers: watchdog: Add shim for nrfx WDT driver 2018-05-14 10:28:23 -05:00
wifi
CMakeLists.txt drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
Kconfig drivers: led: Add public API for LED drivers 2018-04-27 10:46:53 -05:00