summaryrefslogtreecommitdiff
path: root/nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S')
-rw-r--r--nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S16
1 files changed, 13 insertions, 3 deletions
diff --git a/nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S b/nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S
index 7d25e9072..9a1e1e64e 100644
--- a/nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S
+++ b/nuttx/arch/x86/src/qemu/qemu_fullcontextrestore.S
@@ -61,14 +61,24 @@
/* Trace macros, use like trace 'i' to print char to serial port. */
- .macro trace, ch
+ .macro chout, addr, ch
#ifdef CONFIG_DEBUG
- mov $0x3f8, %dx
+ mov $\addr, %dx
mov $\ch, %al
out %al, %dx
#endif
.endm
+ .macro trace, ch
+#ifdef CONFIG_DEBUG
+ push %eax
+ push %edx
+ chout 0x3f8, \ch
+ pop %edx
+ pop %eax
+#endif
+ .endm
+
/**************************************************************************
* Public Functions
**************************************************************************/
@@ -151,5 +161,5 @@ up_fullcontextrestore:
popl %eax
iret
.size up_fullcontextrestore, . - up_fullcontextrestore
- .end
+ .end