~ubuntu-branches/ubuntu/vivid/qemu/vivid

« back to all changes in this revision

Viewing changes to include/hw/qdev-properties.h

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2014-02-25 22:31:43 UTC
  • mfrom: (1.8.5)
  • Revision ID: package-import@ubuntu.com-20140225223143-odhqxfc60wxrjl15
Tags: 2.0.0~rc1+dfsg-0ubuntu1
* Merge 2.0.0-rc1
* debian/rules: consolidate ppc filter entries.
* Move qemu-system-arch64 into qemu-system-arm
* debian/patches/define-trusty-machine-type.patch: define a trusty machine
  type, currently the same as pc-i440fx-2.0, to put is in a better position
  to enable live migrations from trusty onward.  (LP: #1294823)
* debian/control: build-dep on libfdt >= 1.4.0  (LP: #1295072)
* Merge latest upstream git to commit dc9528f
* Debian/rules:
  - remove -enable-uname-release=2.6.32
  - don't make the aarch64 target Ubuntu-specific.
* Remove patches which are now upstream:
  - fix-smb-security-share.patch
  - slirp-smb-redirect-port-445-too.patch 
  - linux-user-Implement-sendmmsg-syscall.patch (better version is upstream)
  - signal-added-a-wrapper-for-sigprocmask-function.patch
  - ubuntu/signal-sigsegv-protection-on-do_sigprocmask.patch
  - ubuntu/Don-t-block-SIGSEGV-at-more-places.patch
  - ubuntu/ppc-force-cpu-threads-count-to-be-power-of-2.patch
* add link for /usr/share/qemu/bios-256k.bin
* Remove all linaro patches.
* Remove all arm64/ patches.  Many but not all are upstream.
* Remove CVE-2013-4377.patch which is upstream.
* debian/control-in: don't make qemu-system-aarch64 ubuntu-specific

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
extern PropertyInfo qdev_prop_uint32;
13
13
extern PropertyInfo qdev_prop_int32;
14
14
extern PropertyInfo qdev_prop_uint64;
15
 
extern PropertyInfo qdev_prop_hex8;
16
 
extern PropertyInfo qdev_prop_hex32;
17
 
extern PropertyInfo qdev_prop_hex64;
18
15
extern PropertyInfo qdev_prop_size;
19
16
extern PropertyInfo qdev_prop_string;
20
17
extern PropertyInfo qdev_prop_chr;
25
22
extern PropertyInfo qdev_prop_drive;
26
23
extern PropertyInfo qdev_prop_netdev;
27
24
extern PropertyInfo qdev_prop_vlan;
 
25
extern PropertyInfo qdev_prop_iothread;
28
26
extern PropertyInfo qdev_prop_pci_devfn;
29
27
extern PropertyInfo qdev_prop_blocksize;
30
28
extern PropertyInfo qdev_prop_pci_host_devaddr;
111
109
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_int32, int32_t)
112
110
#define DEFINE_PROP_UINT64(_n, _s, _f, _d)                      \
113
111
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint64, uint64_t)
114
 
#define DEFINE_PROP_HEX8(_n, _s, _f, _d)                       \
115
 
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex8, uint8_t)
116
 
#define DEFINE_PROP_HEX32(_n, _s, _f, _d)                       \
117
 
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex32, uint32_t)
118
 
#define DEFINE_PROP_HEX64(_n, _s, _f, _d)                       \
119
 
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex64, uint64_t)
120
112
#define DEFINE_PROP_SIZE(_n, _s, _f, _d)                       \
121
113
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_size, uint64_t)
122
114
#define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d)                   \
123
115
    DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t)
124
116
 
 
117
/*
 
118
 * Please avoid pointer properties.  If you must use them, you must
 
119
 * cover them in their device's class init function as follows:
 
120
 *
 
121
 * - If the property must be set, the device cannot be used with
 
122
 *   device_add, so add code like this:
 
123
 *   |* Reason: pointer property "NAME-OF-YOUR-PROP" *|
 
124
 *   DeviceClass *dc = DEVICE_CLASS(class);
 
125
 *   dc->cannot_instantiate_with_device_add_yet = true;
 
126
 *
 
127
 * - If the property may safely remain null, document it like this:
 
128
 *   |*
 
129
 *    * Note: pointer property "interrupt_vector" may remain null, thus
 
130
 *    * no need for dc->cannot_instantiate_with_device_add_yet = true;
 
131
 *    *|
 
132
 */
125
133
#define DEFINE_PROP_PTR(_n, _s, _f)             \
126
134
    DEFINE_PROP(_n, _s, _f, qdev_prop_ptr, void*)
 
135
 
127
136
#define DEFINE_PROP_CHR(_n, _s, _f)             \
128
137
    DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharDriverState*)
129
138
#define DEFINE_PROP_STRING(_n, _s, _f)             \
134
143
    DEFINE_PROP(_n, _s, _f, qdev_prop_vlan, NICPeers)
135
144
#define DEFINE_PROP_DRIVE(_n, _s, _f) \
136
145
    DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *)
 
146
#define DEFINE_PROP_IOTHREAD(_n, _s, _f)             \
 
147
    DEFINE_PROP(_n, _s, _f, qdev_prop_iothread, IOThread *)
137
148
#define DEFINE_PROP_MACADDR(_n, _s, _f)         \
138
149
    DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr)
139
150
#define DEFINE_PROP_LOSTTICKPOLICY(_n, _s, _f, _d) \
151
162
 
152
163
/* Set properties between creation and init.  */
153
164
void *qdev_get_prop_ptr(DeviceState *dev, Property *prop);
154
 
void qdev_prop_parse(DeviceState *dev, const char *name, const char *value,
155
 
                     Error **errp);
156
165
void qdev_prop_set_bit(DeviceState *dev, const char *name, bool value);
157
166
void qdev_prop_set_uint8(DeviceState *dev, const char *name, uint8_t value);
158
167
void qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value);
195
204
 */
196
205
void qdev_prop_set_after_realize(DeviceState *dev, const char *name,
197
206
                                 Error **errp);
 
207
 
 
208
/**
 
209
 * qdev_prop_allow_set_link_before_realize:
 
210
 *
 
211
 * Set the #Error object if an attempt is made to set the link after realize.
 
212
 * This function should be used as the check() argument to
 
213
 * object_property_add_link().
 
214
 */
 
215
void qdev_prop_allow_set_link_before_realize(Object *obj, const char *name,
 
216
                                             Object *val, Error **errp);
 
217
 
198
218
#endif