[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v3 00/10] Add Xenbus support


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Mon, 10 Sep 2018 12:05:52 +0300
  • Cc: simon.kuenzer@xxxxxxxxx, yuri.volchkov@xxxxxxxxx
  • Delivery-date: Mon, 10 Sep 2018 09:06:22 +0000
  • Ironport-phdr: 9a23:GgqUfhGYvC8uM1cRP0R8B51GYnF86YWxBRYc798ds5kLTJ7zociwAkXT6L1XgUPTWs2DsrQY07WQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDiwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VDK/5KlpVRDokj8KOT4n/m/KhMJ+j6VVrQm9qxBj2YPYfJuYOOZicq7bYNgURXBBXsFUVyFZHI68aJAPD/YAPeZesoLzoUYOrQOjBQKxA+7g1jhIhmTq3a071eQtCwXG3BE4H9ITq3nbsM71OL0KUeCo16bE1y/Db/RP1Dr79YPGcQghrOmRUb9/bMbd00oiGgPfglmOt4DoPSmZ2+oVv2SG4OdsSPijhm0npg1rvDSiyMkhhpPUio8a1FzJ8zhyzpwvKt2iUkF7ZMapEJ5Xty6HKYR7WtgiQ2R0uCYizb0GpIK7cDAKyJs5wx7fbOSKc5aN4h35VeaRJS10i25+eL6lnxay7FOvxvfmVsmzyFpKryxFncfQtn0VyhDe5dWLRuF+80qhwzqDyR7f5+NeLU06jabbLoQuwr80lpodq0TDGSr2lV3qg6+RbUUk5umo6+L9brXiu5+cL5J0hxriPaQ1gMC/Gfk4PRMUU2iB/uSwzKfj8lHhQLVWkv02lbHUsJXbJcQdp665BBRV3p8+5BmhETepztAYkGIDLFJEYxKHk5PpN0vBIf/mC/ezmVOskC1kx/reJL3uHo3NLmTfkLfmZbt98E9cyA80zdBZ/Z5UCawBL+z1Wk7wqtPYFAQ0MwqqzOn7DNVyzJgRVXiRDa+EKKnSq0OH5vozI+mQY48YoDb8K+U/5/7vl3M5h1gdfa210psXa3C4GepmLl6fYXXyntgBFX0FsREkQOP0lV3RGQJUMnOzWaM7/XQ3BZyrCa/HR5uxm/qR0SH9GYdZNU5cDVXZOnDza4SCE9MRcD/adsRmiSAFU/6lVpc8/Rq18hfnwfx9KbyHqWUjqZv/2Y0ttKXonhYo+GksAg==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

The current patch series introduce the implementation for Xenbus and
Xenstore communication support.

Changes since v1:
- Add 'strdup' to nolibc
- Split Xenbus patch into multiple patches
- Remove 'xs_join' from Xenstore API
- Change 'xs_readf' to 'xs_scanf'
- Rewrite API for setting Xenstore permissions
- Redesign watches logic
- Rename 'xs_req' structure to 'xs_iovec'
- Rewrite IDs allocation logic for Xenstore requests
- Remove 'xenbus_wait_for_value' function from client API.
- Update documentation

Changes since v2:
- Keep error number sign in errptr.h macros
- Add 'strndup' to nolibc
- Add exportsyms.uk
- Bring back XS_IOVEC_STR_NULL
- Add 'xs_del_perm' function for deleting permissions
- Rename REQID_MAP_* macros to XS_REQ_POOL_*
- Use the xenstore thread for sending requests
- Allocate request IDs sequentially


Costin Lupu (10):
  errptr.h: Keep the sign for errno values in ERR2PTR, PTR2ERR
  lib/nolibc: Add strndup and strdup functions
  plat/xen: Add Xenbus driver registration support
  plat/xen: Add support for communication with Xenstore daemon
  plat/xen: Add API for Xenstore messages
  plat/xen: Introduce client API for Xenbus drivers
  plat/xen: Introduce Xenbus watch
  plat/xen: Add Xenstore watch support
  plat/xen: Add driver state functions to client API
  plat/xen: Add Xenbus device probing

 include/uk/errptr.h              |   4 +-
 lib/nolibc/exportsyms.uk         |   2 +
 lib/nolibc/include/string.h      |   2 +
 lib/nolibc/string.c              |  22 ++
 plat/xen/Config.uk               |   8 +
 plat/xen/Makefile.uk             |  15 +-
 plat/xen/include/xenbus/client.h | 125 +++++++
 plat/xen/include/xenbus/xenbus.h | 149 ++++++++
 plat/xen/include/xenbus/xs.h     | 301 ++++++++++++++++
 plat/xen/xenbus/client.c         | 239 +++++++++++++
 plat/xen/xenbus/exportsyms.uk    |  34 ++
 plat/xen/xenbus/xenbus.c         | 257 ++++++++++++++
 plat/xen/xenbus/xs.c             | 735 +++++++++++++++++++++++++++++++++++++++
 plat/xen/xenbus/xs_comms.c       | 622 +++++++++++++++++++++++++++++++++
 plat/xen/xenbus/xs_comms.h       |  64 ++++
 plat/xen/xenbus/xs_watch.c       | 121 +++++++
 plat/xen/xenbus/xs_watch.h       |  81 +++++
 17 files changed, 2778 insertions(+), 3 deletions(-)
 create mode 100644 plat/xen/include/xenbus/client.h
 create mode 100644 plat/xen/include/xenbus/xenbus.h
 create mode 100644 plat/xen/include/xenbus/xs.h
 create mode 100644 plat/xen/xenbus/client.c
 create mode 100644 plat/xen/xenbus/exportsyms.uk
 create mode 100644 plat/xen/xenbus/xenbus.c
 create mode 100644 plat/xen/xenbus/xs.c
 create mode 100644 plat/xen/xenbus/xs_comms.c
 create mode 100644 plat/xen/xenbus/xs_comms.h
 create mode 100644 plat/xen/xenbus/xs_watch.c
 create mode 100644 plat/xen/xenbus/xs_watch.h

-- 
2.11.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.