From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xensource.com
Cc: ian.jackson@eu.citrix.com
Subject: [PATCH 00 of 23] libxl: improved handling for default values in API
Date: Mon, 13 Feb 2012 16:52:46 +0000 [thread overview]
Message-ID: <patchbomb.1329151966@cosworth.uk.xensource.com> (raw)
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).
next reply other threads:[~2012-02-13 16:52 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-13 16:52 Ian Campbell [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=patchbomb.1329151966@cosworth.uk.xensource.com \
--to=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.