On 10/10/21 12:39 AM, Ammar Faizi wrote: > Create a new directory `src/arch` to save arch dependent sources. > Add support start from x86-64, add syscalls crafted in Assembly code > and lib (currently the lib only contains get page size function). > > Link: https://github.com/axboe/liburing/issues/443 > Signed-off-by: Ammar Faizi <ammar.faizi@xxxxxxxxxxxxxxxxxxxxx> > --- > src/arch/x86/lib.h | 26 ++++++ > src/arch/x86/syscall.h | 200 +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 226 insertions(+) > create mode 100644 src/arch/x86/lib.h > create mode 100644 src/arch/x86/syscall.h > > diff --git a/src/arch/x86/lib.h b/src/arch/x86/lib.h > new file mode 100644 > index 0000000..0d4b321 > --- /dev/null > +++ b/src/arch/x86/lib.h > @@ -0,0 +1,26 @@ > +/* SPDX-License-Identifier: MIT */ > + > +#ifndef LIBURING_ARCH_X86_LIB_H > +#define LIBURING_ARCH_X86_LIB_H > + > +#ifndef LIBURING_LIB_H > +# error "This file should be included from src/lib.h (liburing)" > +#endif > + > +#if defined(__x86_64__) > + > +static inline long __arch_impl_get_page_size(void) > +{ > + return 4096; > +} > + > +#else /* #if defined(__x86_64__) */ > + > +/* > + * TODO: Add x86 (32-bit) support here. > + */ > +#error "x86 (32-bit) is currently not supported" Can we change this to: #error "x86 (32-bit) is currently not supported for nolibc builds" to make it a bit more specific. Apart from that, this looks good. -- Jens Axboe