All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00 of 26 V3] libxl: improved handling for default values in API
@ 2012-02-23 13:01 Ian Campbell
  2012-02-23 13:01 ` [PATCH 01 of 26 V3] libxl: remove sysctl.h from public interface Ian Campbell
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: Ian Campbell @ 2012-02-23 13:01 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.

For reviewer convenience I've also put the series in git (based on
IanJ's git tree at: git://xenbits.xen.org/people/iwj/xen-unstable.git
(because IanJ was the reviewer who asked for it...)

The following changes since commit e4296962b0e5d913929164b913f47fe288ab783e:

  tools/hotplug: remove 4 from default runlevel in xencommons (2012-02-20 18:58:07 +0000)

are available in the git repository at:
  git://xenbits.xen.org/people/ianc/xen-unstable.git for-ianj/libxl

Changes since last time:

* Added two unrelated patches to remove Xen public headers from
  libxl's API to the head of the queue
* Produce _dispose and _init for all Aggregate types.
* Be more assertive about why we should drop the 8M slack on PV.
* Happens to fix stubdomains, broken by 24612:54000bca7a6a due to not
  setting the CPU affinity for the stub domain.
Changes since the time before:

* 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] 27+ messages in thread

end of thread, other threads:[~2012-02-23 13:02 UTC | newest]

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

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.