circuitpython/supervisor
Jeff Epler 7f744a2369 Supervisor: move most of systick to the supervisor
This code is shared by most parts, except where not all the #ifdefs
inside the tick function were present in all ports.  This mostly would
have broken gamepad tick support on non-samd ports.

The "ms32" and "ms64" variants of the tick functions are introduced
because there is no 64-bit atomic read.  Disabling interrupts avoids
a low probability bug where milliseconds could be off by ~49.5 days
once every ~49.5 days (2^32 ms).

Avoiding disabling interrupts when only the low 32 bits are needed is a minor
optimization.

Testing performed: on metro m4 express, USB still works and
time.monotonic_ns() still counts up
2019-11-18 11:01:23 -06:00
..
messages Support internationalisation. 2018-08-07 14:58:57 -07:00
shared Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
stub Remove unused static function 2019-09-06 11:06:02 -04:00
cpu.h Mark pointers in cpu registers as in use. 2018-07-03 05:45:50 -07:00
filesystem.h flush flash filesystem once a second 2019-03-20 12:21:36 -04:00
flash.h Rework flash flush so it preserves the cache 2019-04-03 18:28:27 -07:00
flash_root_pointers.h Move atmel-samd to tinyusb and support nRF flash. 2018-11-08 17:25:30 -08:00
memory.h Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
port.h Add functions to get top and limit stack 2019-10-18 11:04:45 +02:00
serial.h Move atmel-samd to tinyusb and support nRF flash. 2018-11-08 17:25:30 -08:00
spi_flash_api.h Move atmel-samd to tinyusb and support nRF flash. 2018-11-08 17:25:30 -08:00
supervisor.mk Supervisor: move most of systick to the supervisor 2019-11-18 11:01:23 -06:00
usb.h Move atmel-samd to tinyusb and support nRF flash. 2018-11-08 17:25:30 -08:00