From: Stacey Son <s...@freebsd.org>

Signed-off-by: Stacey Son <s...@freebsd.org>
Signed-off-by: Karim Taha <kariem.taha...@gmail.com>
---
 bsd-user/bsd-proc.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/bsd-user/bsd-proc.c b/bsd-user/bsd-proc.c
index ae2e636bb3..12e43cfeca 100644
--- a/bsd-user/bsd-proc.c
+++ b/bsd-user/bsd-proc.c
@@ -81,3 +81,36 @@ int target_to_host_resource(int code)
     }
 }
 
+rlim_t target_to_host_rlim(abi_llong target_rlim)
+{
+    abi_llong target_rlim_swap;
+    rlim_t result;
+
+    target_rlim_swap = tswap64(target_rlim);
+    if (target_rlim_swap == TARGET_RLIM_INFINITY) {
+        return RLIM_INFINITY;
+    }
+
+    result = target_rlim_swap;
+    if (target_rlim_swap != (rlim_t)result) {
+        return RLIM_INFINITY;
+    }
+
+    return result;
+}
+
+abi_llong host_to_target_rlim(rlim_t rlim)
+{
+    abi_llong target_rlim_swap;
+    abi_llong result;
+
+    if (rlim == RLIM_INFINITY || rlim != (abi_llong)rlim) {
+        target_rlim_swap = TARGET_RLIM_INFINITY;
+    } else {
+        target_rlim_swap = rlim;
+    }
+    result = tswap64(target_rlim_swap);
+
+    return result;
+}
+
-- 
2.40.0


Reply via email to