[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT PATCH v3 5/5] lib/ukring: Register ukring with Unikraft
This commit registers the ring buffer implementation micro-library with Unikraft by including it in the global library list, exports the ring buffer's main functions and includes the relevant initial Makefile.uk and Config.uk library files. Signed-off-by: Alexander Jung <alexander.jung@xxxxxxxxx> --- lib/Makefile.uk | 1 + lib/ukring/Config.uk | 23 +++++++++++++++++++++++ lib/ukring/Makefile.uk | 6 ++++++ lib/ukring/exportsyms.uk | 12 ++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 lib/ukring/Config.uk create mode 100644 lib/ukring/Makefile.uk create mode 100644 lib/ukring/exportsyms.uk diff --git a/lib/Makefile.uk b/lib/Makefile.uk index 360fcd8..4fd222d 100644 --- a/lib/Makefile.uk +++ b/lib/Makefile.uk @@ -25,6 +25,7 @@ $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/devfs)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/9pfs)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uklock)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukmpi)) +$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukring)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukbus)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uksglist)) $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uknetdev)) diff --git a/lib/ukring/Config.uk b/lib/ukring/Config.uk new file mode 100644 index 0000000..2481c62 --- /dev/null +++ b/lib/ukring/Config.uk @@ -0,0 +1,23 @@ +menuconfig LIBUKRING + bool "ukring: Ring buffer interface" + select LIBUKALLOC + select LIBUKLOCK + default n + help + Provide ring interface for handling object references. + +if LIBUKRING + +config LIBUKRING_CACHE_LINE_SIZE + int "Cache line size" + default 32 + help + Size in bytes of a CPU d-cache line. + +config CONFIG_LIBUKRING_DEBUG_BUFRING + bool "Debug the ring interface" + default n + help + When debugging, this library stores some per-ring statistic counters about the number of enqueues/dequeues. These statistics require a mutex to avoid concurrent accesses or atomic operations. + +endif diff --git a/lib/ukring/Makefile.uk b/lib/ukring/Makefile.uk new file mode 100644 index 0000000..7874ca2 --- /dev/null +++ b/lib/ukring/Makefile.uk @@ -0,0 +1,6 @@ +$(eval $(call addlib_s,libukring,$(CONFIG_LIBUKRING))) + +CINCLUDES-$(CONFIG_LIBUKRING) += -I$(LIBUKRING_BASE)/include +CXXINCLUDES-$(CONFIG_LIBUKRING) += -I$(LIBUKRING_BASE)/include + +LIBUKRING_SRCS-y += $(LIBUKRING_BASE)/ring.c diff --git a/lib/ukring/exportsyms.uk b/lib/ukring/exportsyms.uk new file mode 100644 index 0000000..098f25a --- /dev/null +++ b/lib/ukring/exportsyms.uk @@ -0,0 +1,12 @@ +uk_ring_alloc +uk_ring_free +uk_ring_enqueue +uk_ring_dequeue_mc +uk_ring_dequeue_sc +uk_ring_advance_sc +uk_ring_putback_sc +uk_ring_peek +uk_ring_peek_clear_sc +uk_ring_full +uk_ring_empty +uk_ring_count -- 2.11.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |