Message ID | 20210922061438.27645-5-imp@bsdimp.com |
---|---|
State | New |
Headers | show |
Series | bsd-user: misc cleanup for aarch64 import | expand |
On 9/21/21 11:14 PM, Warner Losh wrote: > Make get_errno and is_error global so files other than syscall.c can use > them. > > Signed-off-by: Warner Losh<imp@bsdimp.com> > --- > bsd-user/qemu.h | 4 ++++ > bsd-user/syscall.c | 10 +++++----- > 2 files changed, 9 insertions(+), 5 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 9/22/21 08:14, Warner Losh wrote: > Make get_errno and is_error global so files other than syscall.c can use > them. > > Signed-off-by: Warner Losh <imp@bsdimp.com> > --- > bsd-user/qemu.h | 4 ++++ > bsd-user/syscall.c | 10 +++++----- > 2 files changed, 9 insertions(+), 5 deletions(-) > > diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h > index 522d6c4031..22fc3a6c30 100644 > --- a/bsd-user/qemu.h > +++ b/bsd-user/qemu.h > @@ -235,6 +235,10 @@ extern unsigned long target_dflssiz; > extern unsigned long target_maxssiz; > extern unsigned long target_sgrowsiz; > > +/* syscall.c */ > +abi_long get_errno(abi_long ret); > +int is_error(abi_long ret); > + > /* user access */ > > #define VERIFY_READ PAGE_READ > diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c > index 372836d44d..a579d52ede 100644 > --- a/bsd-user/syscall.c > +++ b/bsd-user/syscall.c > @@ -33,18 +33,18 @@ > static abi_ulong target_brk; > static abi_ulong target_original_brk; > > -static inline abi_long get_errno(abi_long ret) > +abi_long get_errno(abi_long ret) > { > - if (ret == -1) > + if (ret == -1) { > /* XXX need to translate host -> target errnos here */ > return -(errno); > - else > - return ret; > + } > + return ret; > } > > #define target_to_host_bitmask(x, tbl) (x) > > -static inline int is_error(abi_long ret) > +int is_error(abi_long ret) Since you are modifying this, do you mind having it return a boolean type instead? > { > return (abi_ulong)ret >= (abi_ulong)(-4096); > } > Preferably having is_error() returning bool: Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
On Sat, Sep 25, 2021 at 4:33 AM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > On 9/22/21 08:14, Warner Losh wrote: > > Make get_errno and is_error global so files other than syscall.c can use > > them. > > > > Signed-off-by: Warner Losh <imp@bsdimp.com> > > --- > > bsd-user/qemu.h | 4 ++++ > > bsd-user/syscall.c | 10 +++++----- > > 2 files changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h > > index 522d6c4031..22fc3a6c30 100644 > > --- a/bsd-user/qemu.h > > +++ b/bsd-user/qemu.h > > @@ -235,6 +235,10 @@ extern unsigned long target_dflssiz; > > extern unsigned long target_maxssiz; > > extern unsigned long target_sgrowsiz; > > > > +/* syscall.c */ > > +abi_long get_errno(abi_long ret); > > +int is_error(abi_long ret); > > + > > /* user access */ > > > > #define VERIFY_READ PAGE_READ > > diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c > > index 372836d44d..a579d52ede 100644 > > --- a/bsd-user/syscall.c > > +++ b/bsd-user/syscall.c > > @@ -33,18 +33,18 @@ > > static abi_ulong target_brk; > > static abi_ulong target_original_brk; > > > > -static inline abi_long get_errno(abi_long ret) > > +abi_long get_errno(abi_long ret) > > { > > - if (ret == -1) > > + if (ret == -1) { > > /* XXX need to translate host -> target errnos here */ > > return -(errno); > > - else > > - return ret; > > + } > > + return ret; > > } > > > > #define target_to_host_bitmask(x, tbl) (x) > > > > -static inline int is_error(abi_long ret) > > +int is_error(abi_long ret) > > Since you are modifying this, do you mind having it return > a boolean type instead? > Nah, don't mind. There were no problems caused by making that change. > > { > > return (abi_ulong)ret >= (abi_ulong)(-4096); > > } > > > > Preferably having is_error() returning bool: > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Thanks for the suggestion. Warner
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h index 522d6c4031..22fc3a6c30 100644 --- a/bsd-user/qemu.h +++ b/bsd-user/qemu.h @@ -235,6 +235,10 @@ extern unsigned long target_dflssiz; extern unsigned long target_maxssiz; extern unsigned long target_sgrowsiz; +/* syscall.c */ +abi_long get_errno(abi_long ret); +int is_error(abi_long ret); + /* user access */ #define VERIFY_READ PAGE_READ diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c index 372836d44d..a579d52ede 100644 --- a/bsd-user/syscall.c +++ b/bsd-user/syscall.c @@ -33,18 +33,18 @@ static abi_ulong target_brk; static abi_ulong target_original_brk; -static inline abi_long get_errno(abi_long ret) +abi_long get_errno(abi_long ret) { - if (ret == -1) + if (ret == -1) { /* XXX need to translate host -> target errnos here */ return -(errno); - else - return ret; + } + return ret; } #define target_to_host_bitmask(x, tbl) (x) -static inline int is_error(abi_long ret) +int is_error(abi_long ret) { return (abi_ulong)ret >= (abi_ulong)(-4096); }
Make get_errno and is_error global so files other than syscall.c can use them. Signed-off-by: Warner Losh <imp@bsdimp.com> --- bsd-user/qemu.h | 4 ++++ bsd-user/syscall.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-)