circuitpython/ports
Damien George 8da39fd182 stm32/qspi: Use MPU to allow access to valid memory-mapped QSPI region.
The Cortex-M7 CPU will do speculative loads from any memory location that
is not explicitly forbidden.  This includes the QSPI memory-mapped region
starting at 0x90000000 and with size 256MiB.  Speculative loads to this
QSPI region may 1) interfere with the QSPI peripheral registers (eg the
address register) if the QSPI is not in memory-mapped mode; 2) attempt to
access data outside the configured size of the QSPI flash when it is in
memory-mapped mode.  Both of these scenarios will lead to issues with the
QSPI peripheral (eg Cortex bus lock up in scenario 2).

To prevent such speculative loads from interfering with the peripheral the
MPU is configured in this commit to restrict access to the QSPI mapped
region: when not memory mapped the entire region is forbidden; when memory
mapped only accesses to the valid flash size are permitted.
2019-07-03 01:27:33 +10:00
..
bare-arm py/objdict: Make .fromkeys() method configurable. 2018-12-13 01:20:55 +11:00
cc3200 ports: Provide mp_hal_stdio_poll for sys.stdio polling where needed. 2019-07-01 17:10:12 +10:00
esp32 ports: Provide mp_hal_stdio_poll for sys.stdio polling where needed. 2019-07-01 17:10:12 +10:00
esp8266 esp8266: Provide custom machine_time_pulse_us that feeds soft WDT. 2019-07-01 22:53:00 +10:00
javascript javascript/library: Print data as raw bytes to stdout so unicode works. 2019-04-28 22:39:41 +10:00
minimal minimal: Use soft float for CROSS=1 Cortex-M4 target. 2019-07-01 22:48:05 +10:00
nrf nrf/led: Adjust how board LEDs are defined. 2019-06-25 16:02:31 +10:00
pic16bit ports: Provide mp_hal_stdio_poll for sys.stdio polling where needed. 2019-07-01 17:10:12 +10:00
qemu-arm qemu-arm: Use gchelper code to get registers for GC scanning. 2019-02-12 14:48:29 +11:00
samd samd: Remove "makefile" file. 2019-07-02 17:09:59 +10:00
stm32 stm32/qspi: Use MPU to allow access to valid memory-mapped QSPI region. 2019-07-03 01:27:33 +10:00
teensy ports: Provide mp_hal_stdio_poll for sys.stdio polling where needed. 2019-07-01 17:10:12 +10:00
unix unix/unix_mphal: Use CLOCK_MONOTONIC for ticks_ms/us when available. 2019-06-26 11:07:45 +10:00
windows windows/mpconfigport.h: Define empty MP_WEAK symbol. 2019-07-01 22:53:00 +10:00
zephyr zephyr: Switch back to enabling I2C in board-specific configs. 2019-05-24 15:33:02 +10:00