From 81316fa41195e648c32ac0bc6859d4527b5ee9f1 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
Date: Fri, 9 Dec 2016 16:27:17 +1100
Subject: [PATCH] py/asmbase: Add MP_PLAT_COMMIT_EXEC option for handling exec
 code.

If a port defines MP_PLAT_COMMIT_EXEC then this function is used to turn
RAM data into executable code.  For example a port may want to write the
data to flash for execution.  The function must return a pointer to the
executable data.
---
 py/asmbase.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/py/asmbase.h b/py/asmbase.h
index bfc8ac7ff..06fdd4b90 100644
--- a/py/asmbase.h
+++ b/py/asmbase.h
@@ -62,7 +62,11 @@ static inline size_t mp_asm_base_get_code_size(mp_asm_base_t *as) {
 }
 
 static inline void *mp_asm_base_get_code(mp_asm_base_t *as) {
+    #if defined(MP_PLAT_COMMIT_EXEC)
+    return MP_PLAT_COMMIT_EXEC(as->code_base, as->code_size);
+    #else
     return as->code_base;
+    #endif
 }
 
 #endif // MICROPY_INCLUDED_PY_ASMBASE_H
-- 
GitLab