mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 09:50:15 +01:00
mpy-cross: Add RISC-V RV64IMC support in MPY files.
MPY files can now hold data to be run on RV64IMC. This can be accomplished by passing the `-march=rv64imc` flag to mpy-cross. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
committed by
Damien George
parent
ec1bfcfbb7
commit
1b92bda5b8
@@ -94,6 +94,7 @@ MP_NATIVE_ARCH_ARMV7EMDP = 8
|
||||
MP_NATIVE_ARCH_XTENSA = 9
|
||||
MP_NATIVE_ARCH_XTENSAWIN = 10
|
||||
MP_NATIVE_ARCH_RV32IMC = 11
|
||||
MP_NATIVE_ARCH_RV64IMC = 12
|
||||
|
||||
MP_PERSISTENT_OBJ_FUN_TABLE = 0
|
||||
MP_PERSISTENT_OBJ_NONE = 1
|
||||
@@ -1061,6 +1062,7 @@ class RawCodeNative(RawCode):
|
||||
MP_NATIVE_ARCH_XTENSA,
|
||||
MP_NATIVE_ARCH_XTENSAWIN,
|
||||
MP_NATIVE_ARCH_RV32IMC,
|
||||
MP_NATIVE_ARCH_RV64IMC,
|
||||
):
|
||||
self.fun_data_attributes = '__attribute__((section(".text,\\"ax\\",@progbits # ")))'
|
||||
else:
|
||||
@@ -1078,8 +1080,8 @@ class RawCodeNative(RawCode):
|
||||
self.fun_data_attributes += " __attribute__ ((aligned (4)))"
|
||||
elif (
|
||||
MP_NATIVE_ARCH_ARMV6M <= config.native_arch <= MP_NATIVE_ARCH_ARMV7EMDP
|
||||
) or config.native_arch == MP_NATIVE_ARCH_RV32IMC:
|
||||
# ARMVxxM or RV32IMC -- two byte align.
|
||||
) or MP_NATIVE_ARCH_RV32IMC <= config.native_arch <= MP_NATIVE_ARCH_RV64IMC:
|
||||
# ARMVxxM or RV{32,64}IMC -- two byte align.
|
||||
self.fun_data_attributes += " __attribute__ ((aligned (2)))"
|
||||
|
||||
def disassemble(self):
|
||||
|
||||
Reference in New Issue
Block a user