diff src/cs/drivers/drv_app/ffs/board/drv.c @ 46:559a8b3ef10b

FFS code: first attempt at non-invasive gcc support
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 19 Jul 2018 00:35:33 +0000
parents b6a5e36de839
children 8019491a67a9
line wrap: on
line diff
--- a/src/cs/drivers/drv_app/ffs/board/drv.c	Tue Jul 17 18:17:27 2018 +0000
+++ b/src/cs/drivers/drv_app/ffs/board/drv.c	Thu Jul 19 00:35:33 2018 +0000
@@ -1423,6 +1423,9 @@
 
 uint32 int_disable(void)
 {
+#ifdef __GNUC__
+	return NU_Control_Interrupts(0xC0);
+#else
     asm("        .state16");
     asm("        mov       A1, #0xC0");
     asm("        ldr       A2, tct_disable");
@@ -1430,16 +1433,21 @@
 
     asm("tct_disable    .field     _TCT_Control_Interrupts+0,32");
     asm("	            .global	   _TCT_Control_Interrupts");
+#endif
 }
 
 void int_enable(uint32 cpsr)
 {
+#ifdef __GNUC__
+	return NU_Control_Interrupts(cpsr);
+#else
     asm("        .state16");
     asm("        ldr       A2, tct_enable");
     asm("        bx        A2      ");
 
     asm("tct_enable 	.field     _TCT_Control_Interrupts+0,32");
     asm("	            .global	   _TCT_Control_Interrupts");
+#endif
 }
 
 #else