zephyr/samples/sensor
Andy Ross b69d0da82d arch/x86_64: New architecture added
This patch adds a x86_64 architecture and qemu_x86_64 board to Zephyr.
Only the basic architecture support needed to run 64 bit code is
added; no drivers are added, though a low-level console exists and is
wired to printk().

The support is built on top of a "X86 underkernel" layer, which can be
built in isolation as a unit test on a Linux host.

Limitations:

+ Right now the SDK lacks an x86_64 toolchain.  The build will fall
  back to a host toolchain if it finds no cross compiler defined,
  which is tested to work on gcc 8.2.1 right now.

+ No x87/SSE/AVX usage is allowed.  This is a stronger limitation than
  other architectures where the instructions work from one thread even
  if the context switch code doesn't support it.  We are passing
  -no-sse to prevent gcc from automatically generating SSE
  instructions for non-floating-point purposes, which has the side
  effect of changing the ABI.  Future work to handle the FPU registers
  will need to be combined with an "application" ABI distinct from the
  kernel one (or just to require USERSPACE).

+ Paging is enabled (it has to be in long mode), but is a 1:1 mapping
  of all memory.  No MMU/USERSPACE support yet.

+ We are building with -mno-red-zone for stack size reasons, but this
  is a valuable optimization.  Enabling it requires automatic stack
  switching, which requires a TSS, which means it has to happen after
  MMU support.

+ The OS runs in 64 bit mode, but for compatibility reasons is
  compiled to the 32 bit "X32" ABI.  So while the full 64 bit
  registers and instruction set are available, C pointers are 32 bits
  long and Zephyr is constrained to run in the bottom 4G of memory.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-01-11 15:18:52 -05:00
..
adt7420 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
adxl372 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
amg88xx cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
apds9960 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
bme280 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
bmg160 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
bmi160 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
bmm150 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
ccs811 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
fxas21002 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
fxos8700 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
fxos8700-hid samples: sensors: Add accelerometer based HID mouse 2019-01-11 11:06:02 -05:00
grove_light cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
grove_temperature cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
hts221 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
lsm303dlhc cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
magn_polling cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
max30101 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
max44009 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
mcp9808 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
ms5837 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
sht3xd cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
sx9500 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
th02 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
thermometer arch/x86_64: New architecture added 2019-01-11 15:18:52 -05:00
tmp112 cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
vl53l0x cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
sensor.rst doc: add labels to sensor sample docs for linking 2017-04-04 20:47:35 +00:00