xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00 of 23] libxl: improved handling for default values in API
@ 2012-02-13 16:52 Ian Campbell
  2012-02-13 16:52 ` [PATCH 01 of 23] libxl: Document _init/_dispose/_setdefault functions Ian Campbell
                   ` (22 more replies)
  0 siblings, 23 replies; 55+ messages in thread
From: Ian Campbell @ 2012-02-13 16:52 UTC (permalink / raw)
  To: xen-devel; +Cc: ian.jackson

Introduce a mechanism for users of libxl to explicitly say "pick the
default for me".

To do this each field has a distinguished "init_val" and each struct
has a "_setdefault" method which sets (idempotently) the defaults for
fields which have not been set to an explicit value.

Previously I went through some contortions (with "timer_mode" in
particular but also with *_memkb fields) to try and arrange that this
distinguished value was the all zeroes bit pattern.

Instead of that pain this time I have arranged that the IDL supports
the specification the distinguished val for each type/field and we
autogenerate an _init function for each data type based on that.

Changes since last time:

* I have posted large parts of the previous series as
  * libxl: drop device_model_info
  * libxl: API updates + xl: JSON
  These have been committed thereby reducing the size of this series.
* _init function support as described above
* Dropped final patch to actually select stubdoms when possible --
  this needs more investigation/sanity checking.

This series has been lightly tested with PV domains (with and without
PVFB) and HVM domains (with and without stubdom).

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2012-02-21 15:27 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-13 16:52 [PATCH 00 of 23] libxl: improved handling for default values in API Ian Campbell
2012-02-13 16:52 ` [PATCH 01 of 23] libxl: Document _init/_dispose/_setdefault functions Ian Campbell
2012-02-20 19:08   ` Ian Jackson
2012-02-21 10:18     ` Ian Campbell
2012-02-13 16:52 ` [PATCH 02 of 23] libxl: provide _init and _setdefault for libxl_domain_create_info Ian Campbell
2012-02-20 19:09   ` Ian Jackson
2012-02-13 16:52 ` [PATCH 03 of 23] libxl: provide _init and _setdefault for libxl_domain_build_info Ian Campbell
2012-02-13 16:52 ` [PATCH 04 of 23] libxl: use an explicit LIBXL_TIMER_MODE_DEFAULT value Ian Campbell
2012-02-20 19:16   ` Ian Jackson
2012-02-13 16:52 ` [PATCH 05 of 23] libxl: drop 8M slack for PV guests Ian Campbell
2012-02-20 19:15   ` Ian Jackson
2012-02-21 10:10     ` Stefano Stabellini
2012-02-21 10:10       ` Ian Campbell
2012-02-21 10:53         ` David Vrabel
2012-02-21 10:59           ` Ian Campbell
2012-02-21 15:27         ` Dan Magenheimer
2012-02-13 16:52 ` [PATCH 06 of 23] libxl: allow specification of testidl random seed Ian Campbell
2012-02-20 19:18   ` Ian Jackson
2012-02-13 16:52 ` [PATCH 07 of 23] libxl: introduce a descriminating default value for memkb fields Ian Campbell
2012-02-20 19:24   ` Ian Jackson
2012-02-13 16:52 ` [PATCH 08 of 23] libxl: disk: use _init/_setdefault Ian Campbell
2012-02-13 16:52 ` [PATCH 09 of 23] libxl: nic: " Ian Campbell
2012-02-13 16:52 ` [PATCH 10 of 23] libxl: vfb/vkb: " Ian Campbell
2012-02-13 16:52 ` [PATCH 11 of 23] libxl: make libxl_device_console internal Ian Campbell
2012-02-20 19:20   ` Ian Jackson
2012-02-21 10:23     ` Ian Campbell
2012-02-21 12:31       ` Ian Jackson
2012-02-13 16:52 ` [PATCH 12 of 23] libxl: pci: use _init/_setdefault Ian Campbell
2012-02-13 16:52 ` [PATCH 13 of 23] libxl: add new "defbool" built in type Ian Campbell
2012-02-20 19:14   ` Ian Jackson
2012-02-21 10:24     ` Ian Campbell
2012-02-13 16:53 ` [PATCH 14 of 23] libxl: make boolean members of libxl_domain_create_info into libxl_defbool Ian Campbell
2012-02-20 19:18   ` Ian Jackson
2012-02-13 16:53 ` [PATCH 15 " Ian Campbell
2012-02-20 19:25   ` Ian Jackson
2012-02-21 10:58     ` Ian Campbell
2012-02-13 16:53 ` [PATCH 16 of 23] libxl: switch generation id control to libxl_defbool Ian Campbell
2012-02-20 19:16   ` Ian Jackson
2012-02-21 11:01   ` Ian Campbell
2012-02-13 16:53 ` [PATCH 17 of 23] libxl: use defbool for graphics related options Ian Campbell
2012-02-20 19:22   ` Ian Jackson
2012-02-13 16:53 ` [PATCH 18 of 23] libxl: do not explicitly initialise members of build info to zero Ian Campbell
2012-02-20 19:20   ` Ian Jackson
2012-02-13 16:53 ` [PATCH 19 of 23] libxl: switch device model selection over to libxl_defbool Ian Campbell
2012-02-13 16:53 ` [PATCH 20 of 23] libxl: add libxl_domain_build_info_init_type Ian Campbell
2012-02-20 19:22   ` Ian Jackson
2012-02-20 19:24   ` Ian Jackson
2012-02-13 16:53 ` [PATCH 21 of 23] libxl: Make IDL KeyedUnion keyvar an idl.Field Ian Campbell
2012-02-20 19:17   ` Ian Jackson
2012-02-13 16:53 ` [PATCH 22 of 23] libxl: idl: generate KeyedUnion key member as part of the KeyedUnion Ian Campbell
2012-02-13 17:08   ` Ian Jackson
2012-02-13 17:13     ` Ian Campbell
2012-02-13 16:53 ` [PATCH 23 of 23] libxl: autogenerate libxl_FOO_init and libxl_FOO_init_FIELD Ian Campbell
2012-02-20 19:24   ` Ian Jackson
2012-02-21 10:11     ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).