From: Simon Kuenzer Date: Mon, 9 Dec 2024 00:04:47 +0000 (+0100) Subject: drivers/xenbus: Properly export public API X-Git-Tag: RELEASE-0.18.0~11 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c15d242fe8f477dbd28d042aba1cd31184ca3265;p=unikraft%2Funikraft.git drivers/xenbus: Properly export public API This commit cleanly defines and exports the public API of the XenBus driver. This is done to avoid that other Xen drivers or services require to cross-include the XenBus headers which were technically defined as "internal". Such an approach breaks library convention and is typical source of problems that have to do with Makefile processing order and symbol linking errors. Signed-off-by: Simon Kuenzer Reviewed-by: Oleksii Moisieiev Reviewed-by: Oleksii Moisieiev Reviewed-by: Michalis Pappas Approved-by: Michalis Pappas GitHub-Closes: #1501 --- diff --git a/drivers/xen/9pfront/Makefile.uk b/drivers/xen/9pfront/Makefile.uk index d2e0416ab..4d14b4877 100644 --- a/drivers/xen/9pfront/Makefile.uk +++ b/drivers/xen/9pfront/Makefile.uk @@ -3,6 +3,5 @@ $(eval $(call addlib_s,lib9pfront,$(CONFIG_LIB9PFRONT))) # FIXME: Extra includes should be removed LIB9PFRONT_CFLAGS-y += $(LIBXENPLAT_CFLAGS-y) LIB9PFRONT_CINCLUDES-y += $(LIBXENPLAT_CINCLUDES-y) -LIB9PFRONT_CINCLUDES-y += $(LIBXENBUS_CINCLUDES-y) LIB9PFRONT_SRCS-y += $(LIB9PFRONT_BASE)/9pfront.c LIB9PFRONT_SRCS-y += $(LIB9PFRONT_BASE)/9pfront_xs.c diff --git a/drivers/xen/blkfront/Makefile.uk b/drivers/xen/blkfront/Makefile.uk index d14439e3a..d5ee6cee4 100644 --- a/drivers/xen/blkfront/Makefile.uk +++ b/drivers/xen/blkfront/Makefile.uk @@ -3,6 +3,5 @@ $(eval $(call addlib_s,libblkfront,$(CONFIG_LIBBLKFRONT))) # FIXME: Extra includes should be removed LIBBLKFRONT_CFLAGS-y += $(LIBXENPLAT_CFLAGS-y) LIBBLKFRONT_CINCLUDES-y += $(LIBXENPLAT_CINCLUDES-y) -LIBBLKFRONT_CINCLUDES-y += $(LIBXENBUS_CINCLUDES-y) LIBBLKFRONT_SRCS-y += $(LIBBLKFRONT_BASE)/blkfront.c LIBBLKFRONT_SRCS-y += $(LIBBLKFRONT_BASE)/blkfront_xs.c diff --git a/drivers/xen/netfront/Makefile.uk b/drivers/xen/netfront/Makefile.uk index a2ce5204c..99ffdaa34 100644 --- a/drivers/xen/netfront/Makefile.uk +++ b/drivers/xen/netfront/Makefile.uk @@ -3,6 +3,5 @@ $(eval $(call addlib_s,libnetfront,$(CONFIG_LIBNETFRONT))) # FIXME: Extra includes should be removed LIBNETFRONT_CFLAGS-y += $(LIBXENPLAT_CFLAGS-y) LIBNETFRONT_CINCLUDES-y += $(LIBXENPLAT_CINCLUDES-y) -LIBNETFRONT_CINCLUDES-y += $(LIBXENBUS_CINCLUDES-y) LIBNETFRONT_SRCS-y += $(LIBNETFRONT_BASE)/netfront.c LIBNETFRONT_SRCS-y += $(LIBNETFRONT_BASE)/netfront_xs.c diff --git a/drivers/xen/xenbus/Makefile.uk b/drivers/xen/xenbus/Makefile.uk index 75dbade59..f7f812662 100644 --- a/drivers/xen/xenbus/Makefile.uk +++ b/drivers/xen/xenbus/Makefile.uk @@ -1,6 +1,6 @@ $(eval $(call addlib_s,libxenbus,$(CONFIG_LIBXENBUS))) -LIBXENBUS_CINCLUDES-y += -I$(LIBXENBUS_BASE)/include +CINCLUDES-$(CONFIG_LIBXENBUS) += -I$(LIBXENBUS_BASE)/include LIBXENBUS_CINCLUDES-y += $(LIBXENPLAT_CINCLUDES-y) LIBXENBUS_CFLAGS-y += $(LIBXENPLAT_CFLAGS-y) diff --git a/drivers/xen/xenbus/exportsyms.uk b/drivers/xen/xenbus/exportsyms.uk new file mode 100644 index 000000000..1e8bcc3c2 --- /dev/null +++ b/drivers/xen/xenbus/exportsyms.uk @@ -0,0 +1,34 @@ +uk_xenbus_state_to_str +uk_xenbus_devtype_to_str +uk_xenbus_str_to_devtype +uk_xenbus_watch_wait_event +uk_xenbus_watch_notify_event +uk_xenbus_read_driver_state +uk_xenbus_switch_state +uk_xenbus_wait_for_state_change +_xenbus_register_driver +uk_xb_malloc +uk_xb_calloc +uk_xb_free +xs_read +xs_write +xs_ls +xs_rm +xs_char_to_perm +xs_perm_to_char +xs_str_to_perm +xs_perm_to_str +xs_get_acl +xs_set_acl +xs_get_perm +xs_set_perm +xs_del_perm +xs_watch_path +xs_unwatch +xs_transaction_start +xs_transaction_end +xs_debug_msg +xs_read_integer +xs_scanf +xs_printf +xs_get_self_id diff --git a/drivers/xen/xenbus/include/uk/xenbus/client.h b/drivers/xen/xenbus/include/uk/xenbus/client.h index 12974b746..1db17aeba 100644 --- a/drivers/xen/xenbus/include/uk/xenbus/client.h +++ b/drivers/xen/xenbus/include/uk/xenbus/client.h @@ -34,8 +34,8 @@ * Ported from Mini-OS xenbus.c */ -#ifndef __XENBUS_CLIENT_H__ -#define __XENBUS_CLIENT_H__ +#ifndef __UK_XENBUS_CLIENT_H__ +#define __UK_XENBUS_CLIENT_H__ #include @@ -119,4 +119,4 @@ int uk_xenbus_switch_state(xenbus_transaction_t xbt, int uk_xenbus_wait_for_state_change(const char *path, XenbusState *state, struct xenbus_watch *watch); -#endif /* __XENBUS_CLIENT_H__ */ +#endif /* __UK_XENBUS_CLIENT_H__ */ diff --git a/drivers/xen/xenbus/include/uk/xenbus/xenbus.h b/drivers/xen/xenbus/include/uk/xenbus/xenbus.h index f018c0393..b0f60a543 100644 --- a/drivers/xen/xenbus/include/uk/xenbus/xenbus.h +++ b/drivers/xen/xenbus/include/uk/xenbus/xenbus.h @@ -30,8 +30,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#ifndef __XENBUS_H__ -#define __XENBUS_H__ +#ifndef __UK_XENBUS_H__ +#define __UK_XENBUS_H__ #include #include @@ -153,4 +153,4 @@ void *uk_xb_malloc(size_t size); void *uk_xb_calloc(size_t nmemb, size_t size); void uk_xb_free(void *ptr); -#endif /* __XENBUS_H__ */ +#endif /* __UK_XENBUS_H__ */ diff --git a/drivers/xen/xenbus/include/uk/xenbus/xs.h b/drivers/xen/xenbus/include/uk/xenbus/xs.h index 24030d33e..ad3436848 100644 --- a/drivers/xen/xenbus/include/uk/xenbus/xs.h +++ b/drivers/xen/xenbus/include/uk/xenbus/xs.h @@ -37,8 +37,8 @@ * data is allocated with 'malloc'/'calloc'. */ -#ifndef __XS_H__ -#define __XS_H__ +#ifndef __UK_XS_H__ +#define __UK_XS_H__ #include @@ -296,4 +296,4 @@ int xs_printf(xenbus_transaction_t xbt, const char *dir, const char *node, */ domid_t xs_get_self_id(void); -#endif /* __XS_H__ */ +#endif /* __UK_XS_H__ */ diff --git a/drivers/xen/xencons/Makefile.uk b/drivers/xen/xencons/Makefile.uk index 4ad1a6ea8..df3a3a41d 100644 --- a/drivers/xen/xencons/Makefile.uk +++ b/drivers/xen/xencons/Makefile.uk @@ -5,5 +5,4 @@ CINCLUDES-$(CONFIG_LIBXENCONS) += -I$(LIBXENCONS_BASE)/include # FIXME: Extra includes should be removed LIBXENCONS_CFLAGS-y += $(LIBXENPLAT_CFLAGS-y) LIBXENCONS_CINCLUDES-y += $(LIBXENPLAT_CINCLUDES-y) -LIBXENCONS_CINCLUDES-y += $(LIBXENBUS_CINCLUDES-y) LIBXENCONS_SRCS-y += $(LIBXENCONS_BASE)/console.c|isr