[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/ZYDIS PATCH 3/3] libzydis: Disassembler library port
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx> On Tue, Mar 31, 2020 at 12:07 PM Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote: > > Introduces a port of ZyDis to Unikraft > > Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > --- > Config.uk | 10 +++++++++ > Makefile.uk | 34 ++++++++++++++++++++++++++++++ > include/ZydisExportConfig.h | 42 +++++++++++++++++++++++++++++++++++++ > 3 files changed, 86 insertions(+) > create mode 100644 include/ZydisExportConfig.h > > diff --git a/Config.uk b/Config.uk > index 508b8f2..6a7ebc7 100644 > --- a/Config.uk > +++ b/Config.uk > @@ -5,3 +5,13 @@ config LIBZYCOREC > depends on ARCH_X86_32 || ARCH_X86_64 > select LIBNOLIBC if !HAVE_LIBC > select LIBUKTIME if !HAVE_LIBC > + > +config LIBZYDIS > + bool "libzydis: x86/x86-64 disassembler" > + default n > + depends on ARCH_X86_32 || ARCH_X86_64 > + select LIBNOLIBC if !HAVE_LIBC > + select LIBUKTIME if !HAVE_LIBC > + select LIBZYCOREC > + help > + Fast and lightweight open-source x86/x86-64 disassembler > library: https://zydis.re/ > diff --git a/Makefile.uk b/Makefile.uk > index caa3d09..f0d4403 100644 > --- a/Makefile.uk > +++ b/Makefile.uk > @@ -33,3 +33,37 @@ CINCLUDES-$(CONFIG_LIBZYCOREC) += > -I$(LIBZYCOREC_INCLUDES) > #LIBZYCOREC_SRCS-$(CONFIG_LIBPTHREAD_EMBEDDED) += > $(LIBZYCOREC_SOURCES)/API/Synchronization.c > #LIBZYCOREC_SRCS-$(CONFIG_LIBPTHREAD_EMBEDDED) += > $(LIBZYCOREC_SOURCES)/API/Thread.c > #LIBZYCOREC_SRCS-$(CONFIG_LIBVFSCORE) += $(LIBZYCOREC_SOURCES)/API/Terminal.c > + > +# ------------------------------------------------------- > +# ZyDis > +# ------------------------------------------------------- > + > +$(eval $(call addlib_s,libzydis,$(CONFIG_LIBZYDIS))) > + > +LIBZYDIS_VERSION=3.0.0 > +LIBZYDIS_URL=https://github.com/zyantific/zydis/archive/v$(LIBZYDIS_VERSION).tar.gz > + > +$(eval $(call fetch,libzydis,$(LIBZYDIS_URL))) > + > +LIBZYDIS_EXTRACTED=$(LIBZYDIS_ORIGIN)/zydis-$(LIBZYDIS_VERSION) > +LIBZYDIS_SOURCES=$(LIBZYDIS_EXTRACTED)/src > +LIBZYDIS_INCLUDES=$(LIBZYDIS_EXTRACTED)/include > +LIBZYDIS_COMPFLAGS-y=-Wno-implicit-fallthrough > + > +CINCLUDES-$(CONFIG_LIBZYDIS) += -I$(LIBZYDIS_INCLUDES) > +LIBZYDIS_CINCLUDES += -I$(LIBZYDIS_SOURCES) > + > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Decoder.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/DecoderData.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Formatter.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/FormatterATT.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/FormatterBase.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/FormatterBuffer.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/FormatterIntel.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/MetaInfo.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Mnemonic.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Register.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/SharedData.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/String.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Utils.c > +LIBZYDIS_SRCS-y += $(LIBZYDIS_SOURCES)/Zydis.c > diff --git a/include/ZydisExportConfig.h b/include/ZydisExportConfig.h > new file mode 100644 > index 0000000..2e75243 > --- /dev/null > +++ b/include/ZydisExportConfig.h > @@ -0,0 +1,42 @@ > + > +#ifndef ZYDIS_EXPORT_H > +#define ZYDIS_EXPORT_H > + > +#ifdef ZYDIS_STATIC_DEFINE > +# define ZYDIS_EXPORT > +# define ZYDIS_NO_EXPORT > +#else > +# ifndef ZYDIS_EXPORT > +# ifdef Zydis_EXPORTS > + /* We are building this library */ > +# define ZYDIS_EXPORT > +# else > + /* We are using this library */ > +# define ZYDIS_EXPORT > +# endif > +# endif > + > +# ifndef ZYDIS_NO_EXPORT > +# define ZYDIS_NO_EXPORT > +# endif > +#endif > + > +#ifndef ZYDIS_DEPRECATED > +# define ZYDIS_DEPRECATED __attribute__ ((__deprecated__)) > +#endif > + > +#ifndef ZYDIS_DEPRECATED_EXPORT > +# define ZYDIS_DEPRECATED_EXPORT ZYDIS_EXPORT ZYDIS_DEPRECATED > +#endif > + > +#ifndef ZYDIS_DEPRECATED_NO_EXPORT > +# define ZYDIS_DEPRECATED_NO_EXPORT ZYDIS_NO_EXPORT ZYDIS_DEPRECATED > +#endif > + > +#if 0 /* DEFINE_NO_DEPRECATED */ > +# ifndef ZYDIS_NO_DEPRECATED > +# define ZYDIS_NO_DEPRECATED > +# endif > +#endif > + > +#endif /* ZYDIS_EXPORT_H */ > -- > 2.20.1 > > > _______________________________________________ > Minios-devel mailing list > Minios-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/minios-devel _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |