|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH 1/5] plat/linuxu: Add fstat and open host system calls
Add system call number for arm_32 and x86_64 for the fstat system call
Implement system call wrapper function for open and fstat
Add MAP_PRIVATE constant for use with mmap
Signed-off-by: Robert Hrusecky <roberth@xxxxxxxxxxxxx>
Signed-off-by: Omar Jamil <omarj2898@xxxxxxxxx>
Signed-off-by: Sachin Beldona <sachinbeldona@xxxxxxxxxx>
---
plat/linuxu/include/linuxu/syscall-arm_32.h | 1 +
plat/linuxu/include/linuxu/syscall-x86_64.h | 1 +
plat/linuxu/include/linuxu/syscall.h | 15 +++++++++++++++
3 files changed, 17 insertions(+)
diff --git a/plat/linuxu/include/linuxu/syscall-arm_32.h
b/plat/linuxu/include/linuxu/syscall-arm_32.h
index ef9323b..5d1b1e2 100644
--- a/plat/linuxu/include/linuxu/syscall-arm_32.h
+++ b/plat/linuxu/include/linuxu/syscall-arm_32.h
@@ -46,6 +46,7 @@
#define __SC_MUNMAP 91
#define __SC_EXIT 1
#define __SC_IOCTL 54
+#define __SC_FSTAT 108
#define __SC_RT_SIGPROCMASK 126
#define __SC_ARCH_PRCTL 172
#define __SC_RT_SIGACTION 174
diff --git a/plat/linuxu/include/linuxu/syscall-x86_64.h
b/plat/linuxu/include/linuxu/syscall-x86_64.h
index 553f0ba..0dd280e 100644
--- a/plat/linuxu/include/linuxu/syscall-x86_64.h
+++ b/plat/linuxu/include/linuxu/syscall-x86_64.h
@@ -42,6 +42,7 @@
#define __SC_WRITE 1
#define __SC_OPEN 2
#define __SC_CLOSE 3
+#define __SC_FSTAT 5
#define __SC_MMAP 9
#define __SC_MUNMAP 11
#define __SC_RT_SIGACTION 13
diff --git a/plat/linuxu/include/linuxu/syscall.h
b/plat/linuxu/include/linuxu/syscall.h
index 0dca7c5..c703b32 100644
--- a/plat/linuxu/include/linuxu/syscall.h
+++ b/plat/linuxu/include/linuxu/syscall.h
@@ -48,6 +48,13 @@
#error "Unsupported architecture"
#endif
+
+static inline int sys_open(const char *pathname, int flags, mode_t mode)
+{
+ return (int)syscall3(__SC_OPEN, (long)pathname, (long)flags,
+ (long)mode);
+}
+
static inline ssize_t sys_read(int fd, const char *buf, size_t len)
{
return (ssize_t) syscall3(__SC_READ,
@@ -64,6 +71,13 @@ static inline ssize_t sys_write(int fd, const char *buf,
size_t len)
(long) (len));
}
+struct stat;
+
+static inline int sys_fstat(int fd, struct stat *statbuf)
+{
+ return (int)syscall2(__SC_FSTAT, (long)(fd), (long)(statbuf));
+}
+
static inline int sys_exit(int status)
{
return (int) syscall1(__SC_EXIT,
@@ -81,6 +95,7 @@ static inline int sys_clock_gettime(k_clockid_t clk_id,
struct k_timespec *tp)
* Please note that on failure sys_mmap() is returning -errno
*/
#define MAP_SHARED (0x01)
+#define MAP_PRIVATE (0x02)
#define MAP_ANONYMOUS (0x20)
#define PROT_NONE (0x0)
#define PROT_READ (0x1)
--
2.24.0
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |