qemu: Disable native emitter for the MICROBIT board.
The Micro:Bit machine definition in Qemu has soft MMU support enabled, which is currently not compatible with the way MicroPython generates code that needs to call back into non-emitted code. As a stop-gap solution, the native code emitter for the MICROBIT board is turned off. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
committed by
Damien George
parent
1232a83555
commit
3225c1bc66
@@ -20,8 +20,12 @@ MICROPY_ROM_TEXT_COMPRESSION ?= 1
|
||||
|
||||
ifeq ($(QEMU_ARCH),arm)
|
||||
MICROPY_HEAP_SIZE ?= 122880
|
||||
ifeq ($(BOARD),MICROBIT)
|
||||
FROZEN_MANIFEST ?= "require('unittest'); freeze('test-frzmpy', ('frozen_const.py'))"
|
||||
else
|
||||
FROZEN_MANIFEST ?= "require('unittest'); freeze('test-frzmpy', ('frozen_asm_thumb.py', 'frozen_const.py', 'frozen_viper.py', 'native_frozen_align.py'))"
|
||||
endif
|
||||
endif
|
||||
ifeq ($(QEMU_ARCH),riscv32)
|
||||
MICROPY_HEAP_SIZE ?= 122880
|
||||
FROZEN_MANIFEST ?= "require('unittest'); freeze('test-frzmpy', ('frozen_asm_rv32.py', 'frozen_const.py', 'frozen_viper.py', 'native_frozen_align.py'))"
|
||||
|
||||
@@ -34,8 +34,10 @@
|
||||
#define MICROPY_EMIT_ARM (1)
|
||||
#define MICROPY_EMIT_INLINE_THUMB (1)
|
||||
#elif defined(__ARM_ARCH_ISA_THUMB)
|
||||
#if !defined(QEMU_SOC_NRF51)
|
||||
#define MICROPY_EMIT_THUMB (1)
|
||||
#define MICROPY_EMIT_INLINE_THUMB (1)
|
||||
#endif
|
||||
#define MICROPY_MAKE_POINTER_CALLABLE(p) ((void *)((mp_uint_t)(p) | 1))
|
||||
#elif defined(__riscv)
|
||||
#define MICROPY_EMIT_RV32 (1)
|
||||
|
||||
Reference in New Issue
Block a user