[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 5/7] plat/linuxu: Add linuxu (ARM) interrupts support


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Thu, 5 Apr 2018 19:00:38 +0300
  • Cc: simon.kuenzer@xxxxxxxxx
  • Delivery-date: Thu, 05 Apr 2018 16:00:54 +0000
  • Ironport-phdr: 9a23:xSPPxh0v9+RrW27qsmDT+DRfVm0co7zxezQtwd8ZseIWLPad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmiDkJOSM3/m/UjcJ/jqxbrQm9qxBj2YPYfJuYOOZicq7bYNgURXBBXsFUVyFZHI68aJAPD/YAPeZesoLzoUYOrQOjBQKxA+7g1jhIhmTq3a071eQtCwXG3BE4H9ITq3nbsM71OL0KUeCo16bE1y/Db/RP1Dr79YPGcQghrOmRUb9/bMbd00oiGgPfglmOt4DoPSmZ2+oVv2SG4OdsSPijhm0npg1rvDSiyMkhhpPUio8a1FzJ8zhyzpwvKt2iUkF7ZMapEJ5Xty6HKYR7WtgiQ2R0uCYizb0GpIK7cDAKyJs5wx7fbOSKc5aN4h35VeaRJS10i25+eL6lnxay7FOvxvfmVsmzyFpKryxFncfQtn0VyhDe5dWLRuF+80qhwzqDyR7f5+NeLU06jabbLoQuwr80lpodq0TDGSr2lV3qg6+RbUUk5umo6+L9brXiu5+cL5J0hxriPaQ1gMC/Gfk4PRMUU2iB/uSwzKfj8lHhQLVWkv02lbHUsJXbJcQdp665BBRV3p8+5BmhETepztAYkGIDLFJEYxKHk5PpN0vBIf/mC/ezmVOskC1kx/reJL3uHo3NLmTfkLfmZbt98E9cyA80zdBZ/Z5UCawBL+z1Wk7wqtPYFAQ0MwqqzOn7DNVyzJgRVXiRDa+EY+vutgqN5+QuJPLJaIILtTLVL/k+++WonXI/31gHcvqHx5wSPVu/BehnJQ29fGLxyoMKFnwWvwx4SPHylXWJSnhLenz0RaVqtWJzM56vEYqWHtPlu7eGxiruRpA=
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

Changes:
- ARM syscall numbers for SIGACTION and SIGPROCMASK
- ARM asm restorer

Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
---
 plat/linuxu/include/linuxu/syscall-arm_32.h | 4 ++++
 plat/linuxu/irq.c                           | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/plat/linuxu/include/linuxu/syscall-arm_32.h 
b/plat/linuxu/include/linuxu/syscall-arm_32.h
index e28224d..5c1a919 100644
--- a/plat/linuxu/include/linuxu/syscall-arm_32.h
+++ b/plat/linuxu/include/linuxu/syscall-arm_32.h
@@ -46,6 +46,10 @@
 #define __SC_MUNMAP    91
 #define __SC_EXIT       1
 #define __SC_IOCTL     54
+
+#define __SC_RT_SIGACTION 43
+#define __SC_RT_SIGPROCMASK 126
+
 #define __SC_PSELECT6 335
 
 /* NOTE: from `man syscall`:
diff --git a/plat/linuxu/irq.c b/plat/linuxu/irq.c
index 4dbdd20..1a9cd67 100644
--- a/plat/linuxu/irq.c
+++ b/plat/linuxu/irq.c
@@ -106,7 +106,14 @@ void irq_restore(unsigned long flags)
 }
 
 void __restorer();
+
+#if defined __X86_64__
 asm("__restorer:mov $15,%rax\nsyscall");
+#elif defined __ARM_32__
+asm("__restorer:mov r7, #0x77\nswi 0x0");
+#else
+#error "Unsupported architecture"
+#endif
 
 void irq_register(int irq, irq_handler_func_t func, void *arg)
 {
-- 
2.1.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.