On Wed, Nov 17, 2021 at 9:04 AM Richard Henderson < richard.hender...@linaro.org> wrote:
> Pull the internal errno used by qemu internally its own > header file, for use by safe-syscall.S. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > bsd-user/errno_defs.h | 6 +++++- > bsd-user/special-errno.h | 24 ++++++++++++++++++++++++ > 2 files changed, 29 insertions(+), 1 deletion(-) > create mode 100644 bsd-user/special-errno.h > Reviewed by: Warner Losh <i...@bsdimp.com> > diff --git a/bsd-user/errno_defs.h b/bsd-user/errno_defs.h > index 583ebe8cee..73cfa24b7f 100644 > --- a/bsd-user/errno_defs.h > +++ b/bsd-user/errno_defs.h > @@ -151,6 +151,10 @@ > /* Internal errors: */ > #define TARGET_EJUSTRETURN 254 /* Just return without > modifing regs */ > #define TARGET_ERESTART 255 /* Restart syscall */ > -#define QEMU_ERESTARTSYS TARGET_ERESTART /* compat */ > + > +#include "special-errno.h" > + > +_Static_assert(TARGET_ERESTART == QEMU_ERESTARTSYS, > + "TARGET_ERESTART and QEMU_ERESTARTSYS expected to match"); > > #endif /* ! _ERRNO_DEFS_H_ */ > diff --git a/bsd-user/special-errno.h b/bsd-user/special-errno.h > new file mode 100644 > index 0000000000..03599d9b5a > --- /dev/null > +++ b/bsd-user/special-errno.h > @@ -0,0 +1,24 @@ > +/* SPDX-License-Identifier: BSD-3-Clause */ > +/* > + * QEMU internal errno values for implementing user-only POSIX. > + * > + * Copyright (c) 2021 Linaro, Ltd. > + */ > + > +#ifndef SPECIAL_ERRNO_H > +#define SPECIAL_ERRNO_H > + > +/* > + * All of these are QEMU internal, not visible to the guest. > + * They should be chosen so as to not overlap with any host > + * or guest errno. > + */ > + > +/* > + * This is returned when a system call should be restarted, to tell the > + * main loop that it should wind the guest PC backwards so it will > + * re-execute the syscall after handling any pending signals. > + */ > +#define QEMU_ERESTARTSYS 255 > + > +#endif /* SPECIAL_ERRNO_H */ > -- > 2.25.1 > >