On 8/27/23 08:57, Karim Taha wrote:
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(+)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
+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;
+}
Though I think these are the identity function as well, since afaict we're always talking
about 64-bit data.
r~