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