* [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
@ 2018-07-24 9:24 Cornelia Huck
2018-07-24 11:03 ` Christian Borntraeger
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Cornelia Huck @ 2018-07-24 9:24 UTC (permalink / raw)
To: qemu-s390x
Cc: Christian Borntraeger, Alexander Graf, Richard Henderson,
David Hildenbrand, Thomas Huth, Halil Pasic, Xiao Feng Ren,
qemu-devel, libvir-list, Cornelia Huck
This option has been deprecated for two releases; remove it.
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/3270-ccw.c | 2 +-
hw/s390x/css-bridge.c | 1 -
hw/s390x/css.c | 6 ++----
hw/s390x/s390-ccw.c | 2 +-
hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
hw/s390x/virtio-ccw.c | 2 +-
include/hw/s390x/css-bridge.h | 1 -
include/hw/s390x/css.h | 9 +++------
include/hw/s390x/s390-virtio-ccw.h | 1 -
qemu-deprecated.texi | 8 --------
qemu-options.hx | 10 ----------
target/s390x/cpu.c | 10 ----------
target/s390x/cpu.h | 1 -
13 files changed, 10 insertions(+), 80 deletions(-)
diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
index 3af13ea027..cf58b81fc0 100644
--- a/hw/s390x/3270-ccw.c
+++ b/hw/s390x/3270-ccw.c
@@ -104,7 +104,7 @@ static void emulated_ccw_3270_realize(DeviceState *ds, Error **errp)
SubchDev *sch;
Error *err = NULL;
- sch = css_create_sch(cdev->devno, cbus->squash_mcss, errp);
+ sch = css_create_sch(cdev->devno, errp);
if (!sch) {
return;
}
diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
index a02d708239..1bd6c8b458 100644
--- a/hw/s390x/css-bridge.c
+++ b/hw/s390x/css-bridge.c
@@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
/* Create bus on bridge device */
bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
cbus = VIRTUAL_CSS_BUS(bus);
- cbus->squash_mcss = s390_get_squash_mcss();
/* Enable hotplugging */
qbus_set_hotplug_handler(bus, dev, &error_abort);
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 5424ea4562..5a9fe45ce8 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -2359,15 +2359,13 @@ const PropertyInfo css_devid_ro_propinfo = {
.get = get_css_devid,
};
-SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp)
+SubchDev *css_create_sch(CssDevId bus_id, Error **errp)
{
uint16_t schid = 0;
SubchDev *sch;
if (bus_id.valid) {
- if (squash_mcss) {
- bus_id.cssid = channel_subsys.default_cssid;
- } else if (!channel_subsys.css[bus_id.cssid]) {
+ if (!channel_subsys.css[bus_id.cssid]) {
css_create_css_image(bus_id.cssid, false);
}
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
index 214c940593..d1280bf631 100644
--- a/hw/s390x/s390-ccw.c
+++ b/hw/s390x/s390-ccw.c
@@ -78,7 +78,7 @@ static void s390_ccw_realize(S390CCWDevice *cdev, char *sysfsdev, Error **errp)
goto out_err_propagate;
}
- sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, &err);
+ sch = css_create_sch(ccw_dev->devno, &err);
if (!sch) {
goto out_mdevid_free;
}
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 7983185d04..380a41d806 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -282,19 +282,8 @@ static void ccw_init(MachineState *machine)
virtio_ccw_register_hcalls();
s390_enable_css_support(s390_cpu_addr2state(0));
- /*
- * Non mcss-e enabled guests only see the devices from the default
- * css, which is determined by the value of the squash_mcss property.
- */
- if (css_bus->squash_mcss) {
- ret = css_create_css_image(0, true);
- } else {
- ret = css_create_css_image(VIRTUAL_CSSID, true);
- }
- if (qemu_opt_get(qemu_get_machine_opts(), "s390-squash-mcss")) {
- warn_report("The machine property 's390-squash-mcss' is deprecated"
- " (obsoleted by lifting the cssid restrictions).");
- }
+
+ ret = css_create_css_image(VIRTUAL_CSSID, true);
assert(ret == 0);
if (css_migration_enabled()) {
@@ -575,21 +564,6 @@ static void machine_set_loadparm(Object *obj, const char *val, Error **errp)
ms->loadparm[i] = ' '; /* pad right with spaces */
}
}
-static inline bool machine_get_squash_mcss(Object *obj, Error **errp)
-{
- S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
-
- return ms->s390_squash_mcss;
-}
-
-static inline void machine_set_squash_mcss(Object *obj, bool value,
- Error **errp)
-{
- S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
-
- ms->s390_squash_mcss = value;
-}
-
static inline void s390_machine_initfn(Object *obj)
{
object_property_add_bool(obj, "aes-key-wrap",
@@ -614,13 +588,6 @@ static inline void s390_machine_initfn(Object *obj)
" to upper case) to pass to machine loader, boot manager,"
" and guest kernel",
NULL);
- object_property_add_bool(obj, "s390-squash-mcss",
- machine_get_squash_mcss,
- machine_set_squash_mcss, NULL);
- object_property_set_description(obj, "s390-squash-mcss", "(deprecated) "
- "enable/disable squashing subchannels into the default css",
- NULL);
- object_property_set_bool(obj, false, "s390-squash-mcss", NULL);
}
static const TypeInfo ccw_machine_info = {
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 7ddb378d52..3156e8d6e1 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -700,7 +700,7 @@ static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp)
SubchDev *sch;
Error *err = NULL;
- sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, errp);
+ sch = css_create_sch(ccw_dev->devno, errp);
if (!sch) {
return;
}
diff --git a/include/hw/s390x/css-bridge.h b/include/hw/s390x/css-bridge.h
index cf0860432a..5a0203be5f 100644
--- a/include/hw/s390x/css-bridge.h
+++ b/include/hw/s390x/css-bridge.h
@@ -28,7 +28,6 @@ typedef struct VirtualCssBridge {
/* virtual css bus type */
typedef struct VirtualCssBus {
BusState parent_obj;
- bool squash_mcss;
} VirtualCssBus;
#define TYPE_VIRTUAL_CSS_BUS "virtual-css-bus"
diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
index 35facb47d2..9da5912921 100644
--- a/include/hw/s390x/css.h
+++ b/include/hw/s390x/css.h
@@ -266,11 +266,8 @@ extern const PropertyInfo css_devid_ro_propinfo;
/**
* Create a subchannel for the given bus id.
*
- * If @p bus_id is valid, and @p squash_mcss is true, verify that it is
- * not already in use in the default css, and find a free devno from the
- * default css image for it.
- * If @p bus_id is valid, and @p squash_mcss is false, verify that it is
- * not already in use, and find a free devno for it.
+ * If @p bus_id is valid, verify that it is not already in use, and find a
+ * free devno for it.
* If @p bus_id is not valid find a free subchannel id and device number
* across all subchannel sets and all css images starting from the default
* css image.
@@ -282,7 +279,7 @@ extern const PropertyInfo css_devid_ro_propinfo;
* The caller becomes owner of the returned subchannel structure and
* is responsible for unregistering and freeing it.
*/
-SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp);
+SubchDev *css_create_sch(CssDevId bus_id, Error **errp);
/** Turn on css migration */
void css_register_vmstate(void);
diff --git a/include/hw/s390x/s390-virtio-ccw.h b/include/hw/s390x/s390-virtio-ccw.h
index ab88d49d10..e9c4f4182b 100644
--- a/include/hw/s390x/s390-virtio-ccw.h
+++ b/include/hw/s390x/s390-virtio-ccw.h
@@ -29,7 +29,6 @@ typedef struct S390CcwMachineState {
bool aes_key_wrap;
bool dea_key_wrap;
uint8_t loadparm[8];
- bool s390_squash_mcss;
} S390CcwMachineState;
typedef struct S390CcwMachineClass {
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 9920a85adc..09f7b22fb1 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -126,14 +126,6 @@ The ``-nodefconfig`` argument is a synonym for ``-no-user-config``.
The @option{--balloon virtio} argument has been superseded by
@option{--device virtio-balloon}.
-@subsection -machine s390-squash-mcss=on|off (since 2.12.0)
-
-The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
-cssid to be chosen freely. Instead of squashing subchannels into the
-default channel subsystem image for guests that do not support multiple
-channel subsystems, all devices can be put into the default channel
-subsystem image.
-
@subsection -fsdev handle (since 2.12.0)
The ``handle'' fsdev backend does not support symlinks and causes the 9p
diff --git a/qemu-options.hx b/qemu-options.hx
index b1bf0f485f..e57cec96a5 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -43,7 +43,6 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
" suppress-vmdesc=on|off disables self-describing migration (default=off)\n"
" nvdimm=on|off controls NVDIMM support (default=off)\n"
" enforce-config-section=on|off enforce configuration section migration (default=off)\n"
- " s390-squash-mcss=on|off (deprecated) controls support for squashing into default css (default=off)\n"
" memory-encryption=@var{} memory encryption object to use (default=none)\n",
QEMU_ARCH_ALL)
STEXI
@@ -96,15 +95,6 @@ controls whether DEA wrapping keys will be created to allow
execution of DEA cryptographic functions. The default is on.
@item nvdimm=on|off
Enables or disables NVDIMM support. The default is off.
-@item s390-squash-mcss=on|off
-Enables or disables squashing subchannels into the default css.
-The default is off.
-NOTE: This property is deprecated and will be removed in future releases.
-The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
-cssid to be chosen freely. Instead of squashing subchannels into the
-default channel subsystem image for guests that do not support multiple
-channel subsystems, all devices can be put into the default channel
-subsystem image.
@item enforce-config-section=on|off
If @option{enforce-config-section} is set to @var{on}, force migration
code to send configuration section even if the machine-type sets the
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
index 271c5ce652..8ed4823d6e 100644
--- a/target/s390x/cpu.c
+++ b/target/s390x/cpu.c
@@ -421,16 +421,6 @@ void s390_crypto_reset(void)
}
}
-bool s390_get_squash_mcss(void)
-{
- if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
- NULL)) {
- return true;
- }
-
- return false;
-}
-
void s390_enable_css_support(S390CPU *cpu)
{
if (kvm_enabled()) {
diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index 2c3dd2d189..86b66dfeac 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -713,7 +713,6 @@ static inline void s390_do_cpu_load_normal(CPUState *cs, run_on_cpu_data arg)
/* cpu.c */
void s390_crypto_reset(void);
-bool s390_get_squash_mcss(void);
int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
void s390_cmma_reset(void);
void s390_enable_css_support(S390CPU *cpu);
--
2.14.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
@ 2018-07-24 11:03 ` Christian Borntraeger
2018-07-24 11:15 ` [Qemu-devel] [libvirt] " Peter Krempa
` (4 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Christian Borntraeger @ 2018-07-24 11:03 UTC (permalink / raw)
To: Cornelia Huck, qemu-s390x
Cc: Alexander Graf, Richard Henderson, David Hildenbrand,
Thomas Huth, Halil Pasic, Xiao Feng Ren, qemu-devel, libvir-list
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
On 07/24/2018 11:24 AM, Cornelia Huck wrote:
> This option has been deprecated for two releases; remove it.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> hw/s390x/3270-ccw.c | 2 +-
> hw/s390x/css-bridge.c | 1 -
> hw/s390x/css.c | 6 ++----
> hw/s390x/s390-ccw.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> hw/s390x/virtio-ccw.c | 2 +-
> include/hw/s390x/css-bridge.h | 1 -
> include/hw/s390x/css.h | 9 +++------
> include/hw/s390x/s390-virtio-ccw.h | 1 -
> qemu-deprecated.texi | 8 --------
> qemu-options.hx | 10 ----------
> target/s390x/cpu.c | 10 ----------
> target/s390x/cpu.h | 1 -
> 13 files changed, 10 insertions(+), 80 deletions(-)
>
> diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
> index 3af13ea027..cf58b81fc0 100644
> --- a/hw/s390x/3270-ccw.c
> +++ b/hw/s390x/3270-ccw.c
> @@ -104,7 +104,7 @@ static void emulated_ccw_3270_realize(DeviceState *ds, Error **errp)
> SubchDev *sch;
> Error *err = NULL;
>
> - sch = css_create_sch(cdev->devno, cbus->squash_mcss, errp);
> + sch = css_create_sch(cdev->devno, errp);
> if (!sch) {
> return;
> }
> diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> index a02d708239..1bd6c8b458 100644
> --- a/hw/s390x/css-bridge.c
> +++ b/hw/s390x/css-bridge.c
> @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> /* Create bus on bridge device */
> bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> cbus = VIRTUAL_CSS_BUS(bus);
> - cbus->squash_mcss = s390_get_squash_mcss();
>
> /* Enable hotplugging */
> qbus_set_hotplug_handler(bus, dev, &error_abort);
> diff --git a/hw/s390x/css.c b/hw/s390x/css.c
> index 5424ea4562..5a9fe45ce8 100644
> --- a/hw/s390x/css.c
> +++ b/hw/s390x/css.c
> @@ -2359,15 +2359,13 @@ const PropertyInfo css_devid_ro_propinfo = {
> .get = get_css_devid,
> };
>
> -SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp)
> +SubchDev *css_create_sch(CssDevId bus_id, Error **errp)
> {
> uint16_t schid = 0;
> SubchDev *sch;
>
> if (bus_id.valid) {
> - if (squash_mcss) {
> - bus_id.cssid = channel_subsys.default_cssid;
> - } else if (!channel_subsys.css[bus_id.cssid]) {
> + if (!channel_subsys.css[bus_id.cssid]) {
> css_create_css_image(bus_id.cssid, false);
> }
>
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 214c940593..d1280bf631 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -78,7 +78,7 @@ static void s390_ccw_realize(S390CCWDevice *cdev, char *sysfsdev, Error **errp)
> goto out_err_propagate;
> }
>
> - sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, &err);
> + sch = css_create_sch(ccw_dev->devno, &err);
> if (!sch) {
> goto out_mdevid_free;
> }
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 7983185d04..380a41d806 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -282,19 +282,8 @@ static void ccw_init(MachineState *machine)
> virtio_ccw_register_hcalls();
>
> s390_enable_css_support(s390_cpu_addr2state(0));
> - /*
> - * Non mcss-e enabled guests only see the devices from the default
> - * css, which is determined by the value of the squash_mcss property.
> - */
> - if (css_bus->squash_mcss) {
> - ret = css_create_css_image(0, true);
> - } else {
> - ret = css_create_css_image(VIRTUAL_CSSID, true);
> - }
> - if (qemu_opt_get(qemu_get_machine_opts(), "s390-squash-mcss")) {
> - warn_report("The machine property 's390-squash-mcss' is deprecated"
> - " (obsoleted by lifting the cssid restrictions).");
> - }
> +
> + ret = css_create_css_image(VIRTUAL_CSSID, true);
>
> assert(ret == 0);
> if (css_migration_enabled()) {
> @@ -575,21 +564,6 @@ static void machine_set_loadparm(Object *obj, const char *val, Error **errp)
> ms->loadparm[i] = ' '; /* pad right with spaces */
> }
> }
> -static inline bool machine_get_squash_mcss(Object *obj, Error **errp)
> -{
> - S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
> -
> - return ms->s390_squash_mcss;
> -}
> -
> -static inline void machine_set_squash_mcss(Object *obj, bool value,
> - Error **errp)
> -{
> - S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
> -
> - ms->s390_squash_mcss = value;
> -}
> -
> static inline void s390_machine_initfn(Object *obj)
> {
> object_property_add_bool(obj, "aes-key-wrap",
> @@ -614,13 +588,6 @@ static inline void s390_machine_initfn(Object *obj)
> " to upper case) to pass to machine loader, boot manager,"
> " and guest kernel",
> NULL);
> - object_property_add_bool(obj, "s390-squash-mcss",
> - machine_get_squash_mcss,
> - machine_set_squash_mcss, NULL);
> - object_property_set_description(obj, "s390-squash-mcss", "(deprecated) "
> - "enable/disable squashing subchannels into the default css",
> - NULL);
> - object_property_set_bool(obj, false, "s390-squash-mcss", NULL);
> }
>
> static const TypeInfo ccw_machine_info = {
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 7ddb378d52..3156e8d6e1 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -700,7 +700,7 @@ static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp)
> SubchDev *sch;
> Error *err = NULL;
>
> - sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, errp);
> + sch = css_create_sch(ccw_dev->devno, errp);
> if (!sch) {
> return;
> }
> diff --git a/include/hw/s390x/css-bridge.h b/include/hw/s390x/css-bridge.h
> index cf0860432a..5a0203be5f 100644
> --- a/include/hw/s390x/css-bridge.h
> +++ b/include/hw/s390x/css-bridge.h
> @@ -28,7 +28,6 @@ typedef struct VirtualCssBridge {
> /* virtual css bus type */
> typedef struct VirtualCssBus {
> BusState parent_obj;
> - bool squash_mcss;
> } VirtualCssBus;
>
> #define TYPE_VIRTUAL_CSS_BUS "virtual-css-bus"
> diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
> index 35facb47d2..9da5912921 100644
> --- a/include/hw/s390x/css.h
> +++ b/include/hw/s390x/css.h
> @@ -266,11 +266,8 @@ extern const PropertyInfo css_devid_ro_propinfo;
> /**
> * Create a subchannel for the given bus id.
> *
> - * If @p bus_id is valid, and @p squash_mcss is true, verify that it is
> - * not already in use in the default css, and find a free devno from the
> - * default css image for it.
> - * If @p bus_id is valid, and @p squash_mcss is false, verify that it is
> - * not already in use, and find a free devno for it.
> + * If @p bus_id is valid, verify that it is not already in use, and find a
> + * free devno for it.
> * If @p bus_id is not valid find a free subchannel id and device number
> * across all subchannel sets and all css images starting from the default
> * css image.
> @@ -282,7 +279,7 @@ extern const PropertyInfo css_devid_ro_propinfo;
> * The caller becomes owner of the returned subchannel structure and
> * is responsible for unregistering and freeing it.
> */
> -SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp);
> +SubchDev *css_create_sch(CssDevId bus_id, Error **errp);
>
> /** Turn on css migration */
> void css_register_vmstate(void);
> diff --git a/include/hw/s390x/s390-virtio-ccw.h b/include/hw/s390x/s390-virtio-ccw.h
> index ab88d49d10..e9c4f4182b 100644
> --- a/include/hw/s390x/s390-virtio-ccw.h
> +++ b/include/hw/s390x/s390-virtio-ccw.h
> @@ -29,7 +29,6 @@ typedef struct S390CcwMachineState {
> bool aes_key_wrap;
> bool dea_key_wrap;
> uint8_t loadparm[8];
> - bool s390_squash_mcss;
> } S390CcwMachineState;
>
> typedef struct S390CcwMachineClass {
> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
> index 9920a85adc..09f7b22fb1 100644
> --- a/qemu-deprecated.texi
> +++ b/qemu-deprecated.texi
> @@ -126,14 +126,6 @@ The ``-nodefconfig`` argument is a synonym for ``-no-user-config``.
> The @option{--balloon virtio} argument has been superseded by
> @option{--device virtio-balloon}.
>
> -@subsection -machine s390-squash-mcss=on|off (since 2.12.0)
> -
> -The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
> -cssid to be chosen freely. Instead of squashing subchannels into the
> -default channel subsystem image for guests that do not support multiple
> -channel subsystems, all devices can be put into the default channel
> -subsystem image.
> -
> @subsection -fsdev handle (since 2.12.0)
>
> The ``handle'' fsdev backend does not support symlinks and causes the 9p
> diff --git a/qemu-options.hx b/qemu-options.hx
> index b1bf0f485f..e57cec96a5 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -43,7 +43,6 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
> " suppress-vmdesc=on|off disables self-describing migration (default=off)\n"
> " nvdimm=on|off controls NVDIMM support (default=off)\n"
> " enforce-config-section=on|off enforce configuration section migration (default=off)\n"
> - " s390-squash-mcss=on|off (deprecated) controls support for squashing into default css (default=off)\n"
> " memory-encryption=@var{} memory encryption object to use (default=none)\n",
> QEMU_ARCH_ALL)
> STEXI
> @@ -96,15 +95,6 @@ controls whether DEA wrapping keys will be created to allow
> execution of DEA cryptographic functions. The default is on.
> @item nvdimm=on|off
> Enables or disables NVDIMM support. The default is off.
> -@item s390-squash-mcss=on|off
> -Enables or disables squashing subchannels into the default css.
> -The default is off.
> -NOTE: This property is deprecated and will be removed in future releases.
> -The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
> -cssid to be chosen freely. Instead of squashing subchannels into the
> -default channel subsystem image for guests that do not support multiple
> -channel subsystems, all devices can be put into the default channel
> -subsystem image.
> @item enforce-config-section=on|off
> If @option{enforce-config-section} is set to @var{on}, force migration
> code to send configuration section even if the machine-type sets the
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index 271c5ce652..8ed4823d6e 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -421,16 +421,6 @@ void s390_crypto_reset(void)
> }
> }
>
> -bool s390_get_squash_mcss(void)
> -{
> - if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
> - NULL)) {
> - return true;
> - }
> -
> - return false;
> -}
> -
> void s390_enable_css_support(S390CPU *cpu)
> {
> if (kvm_enabled()) {
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 2c3dd2d189..86b66dfeac 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -713,7 +713,6 @@ static inline void s390_do_cpu_load_normal(CPUState *cs, run_on_cpu_data arg)
>
> /* cpu.c */
> void s390_crypto_reset(void);
> -bool s390_get_squash_mcss(void);
> int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
> void s390_cmma_reset(void);
> void s390_enable_css_support(S390CPU *cpu);
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [libvirt] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
2018-07-24 11:03 ` Christian Borntraeger
@ 2018-07-24 11:15 ` Peter Krempa
2018-07-24 11:23 ` Cornelia Huck
2018-07-24 11:48 ` [Qemu-devel] " Thomas Huth
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Peter Krempa @ 2018-07-24 11:15 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
[-- Attachment #1: Type: text/plain, Size: 1041 bytes --]
On Tue, Jul 24, 2018 at 11:24:13 +0200, Cornelia Huck wrote:
> This option has been deprecated for two releases; remove it.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> hw/s390x/3270-ccw.c | 2 +-
> hw/s390x/css-bridge.c | 1 -
> hw/s390x/css.c | 6 ++----
> hw/s390x/s390-ccw.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> hw/s390x/virtio-ccw.c | 2 +-
> include/hw/s390x/css-bridge.h | 1 -
> include/hw/s390x/css.h | 9 +++------
> include/hw/s390x/s390-virtio-ccw.h | 1 -
> qemu-deprecated.texi | 8 --------
> qemu-options.hx | 10 ----------
> target/s390x/cpu.c | 10 ----------
> target/s390x/cpu.h | 1 -
> 13 files changed, 10 insertions(+), 80 deletions(-)
Looks like libvirt did not use this option at all according to my brief
grepping, so it should be okay to remove it.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [libvirt] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 11:15 ` [Qemu-devel] [libvirt] " Peter Krempa
@ 2018-07-24 11:23 ` Cornelia Huck
0 siblings, 0 replies; 15+ messages in thread
From: Cornelia Huck @ 2018-07-24 11:23 UTC (permalink / raw)
To: Peter Krempa
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
On Tue, 24 Jul 2018 13:15:50 +0200
Peter Krempa <pkrempa@redhat.com> wrote:
> On Tue, Jul 24, 2018 at 11:24:13 +0200, Cornelia Huck wrote:
> > This option has been deprecated for two releases; remove it.
> >
> > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> > ---
> > hw/s390x/3270-ccw.c | 2 +-
> > hw/s390x/css-bridge.c | 1 -
> > hw/s390x/css.c | 6 ++----
> > hw/s390x/s390-ccw.c | 2 +-
> > hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> > hw/s390x/virtio-ccw.c | 2 +-
> > include/hw/s390x/css-bridge.h | 1 -
> > include/hw/s390x/css.h | 9 +++------
> > include/hw/s390x/s390-virtio-ccw.h | 1 -
> > qemu-deprecated.texi | 8 --------
> > qemu-options.hx | 10 ----------
> > target/s390x/cpu.c | 10 ----------
> > target/s390x/cpu.h | 1 -
> > 13 files changed, 10 insertions(+), 80 deletions(-)
>
> Looks like libvirt did not use this option at all according to my brief
> grepping, so it should be okay to remove it.
Yes, the option has never been used to my knowledge.
Thanks for checking; it seems adding libvir-list as reviewer for
qemu-deprecated.texi is working as designed :)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
2018-07-24 11:03 ` Christian Borntraeger
2018-07-24 11:15 ` [Qemu-devel] [libvirt] " Peter Krempa
@ 2018-07-24 11:48 ` Thomas Huth
2018-07-30 13:25 ` Halil Pasic
` (2 subsequent siblings)
5 siblings, 0 replies; 15+ messages in thread
From: Thomas Huth @ 2018-07-24 11:48 UTC (permalink / raw)
To: Cornelia Huck, qemu-s390x
Cc: Christian Borntraeger, Alexander Graf, Richard Henderson,
David Hildenbrand, Halil Pasic, Xiao Feng Ren, qemu-devel,
libvir-list
On 24.07.2018 11:24, Cornelia Huck wrote:
> This option has been deprecated for two releases; remove it.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> hw/s390x/3270-ccw.c | 2 +-
> hw/s390x/css-bridge.c | 1 -
> hw/s390x/css.c | 6 ++----
> hw/s390x/s390-ccw.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> hw/s390x/virtio-ccw.c | 2 +-
> include/hw/s390x/css-bridge.h | 1 -
> include/hw/s390x/css.h | 9 +++------
> include/hw/s390x/s390-virtio-ccw.h | 1 -
> qemu-deprecated.texi | 8 --------
> qemu-options.hx | 10 ----------
> target/s390x/cpu.c | 10 ----------
> target/s390x/cpu.h | 1 -
> 13 files changed, 10 insertions(+), 80 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
` (2 preceding siblings ...)
2018-07-24 11:48 ` [Qemu-devel] " Thomas Huth
@ 2018-07-30 13:25 ` Halil Pasic
2018-07-30 13:43 ` Cornelia Huck
2018-08-01 10:21 ` Fam Zheng
5 siblings, 0 replies; 15+ messages in thread
From: Halil Pasic @ 2018-07-30 13:25 UTC (permalink / raw)
To: Cornelia Huck, qemu-s390x
Cc: Xiao Feng Ren, Thomas Huth, David Hildenbrand, libvir-list,
Alexander Graf, qemu-devel, Christian Borntraeger,
Richard Henderson
On 07/24/2018 11:24 AM, Cornelia Huck wrote:
> This option has been deprecated for two releases; remove it.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
> ---
> hw/s390x/3270-ccw.c | 2 +-
> hw/s390x/css-bridge.c | 1 -
> hw/s390x/css.c | 6 ++----
> hw/s390x/s390-ccw.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> hw/s390x/virtio-ccw.c | 2 +-
> include/hw/s390x/css-bridge.h | 1 -
> include/hw/s390x/css.h | 9 +++------
> include/hw/s390x/s390-virtio-ccw.h | 1 -
> qemu-deprecated.texi | 8 --------
> qemu-options.hx | 10 ----------
> target/s390x/cpu.c | 10 ----------
> target/s390x/cpu.h | 1 -
> 13 files changed, 10 insertions(+), 80 deletions(-)
>
> diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
> index 3af13ea027..cf58b81fc0 100644
> --- a/hw/s390x/3270-ccw.c
> +++ b/hw/s390x/3270-ccw.c
> @@ -104,7 +104,7 @@ static void emulated_ccw_3270_realize(DeviceState *ds, Error **errp)
> SubchDev *sch;
> Error *err = NULL;
>
> - sch = css_create_sch(cdev->devno, cbus->squash_mcss, errp);
> + sch = css_create_sch(cdev->devno, errp);
> if (!sch) {
> return;
> }
> diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> index a02d708239..1bd6c8b458 100644
> --- a/hw/s390x/css-bridge.c
> +++ b/hw/s390x/css-bridge.c
> @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> /* Create bus on bridge device */
> bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> cbus = VIRTUAL_CSS_BUS(bus);
> - cbus->squash_mcss = s390_get_squash_mcss();
>
> /* Enable hotplugging */
> qbus_set_hotplug_handler(bus, dev, &error_abort);
> diff --git a/hw/s390x/css.c b/hw/s390x/css.c
> index 5424ea4562..5a9fe45ce8 100644
> --- a/hw/s390x/css.c
> +++ b/hw/s390x/css.c
> @@ -2359,15 +2359,13 @@ const PropertyInfo css_devid_ro_propinfo = {
> .get = get_css_devid,
> };
>
> -SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp)
> +SubchDev *css_create_sch(CssDevId bus_id, Error **errp)
> {
> uint16_t schid = 0;
> SubchDev *sch;
>
> if (bus_id.valid) {
> - if (squash_mcss) {
> - bus_id.cssid = channel_subsys.default_cssid;
> - } else if (!channel_subsys.css[bus_id.cssid]) {
> + if (!channel_subsys.css[bus_id.cssid]) {
> css_create_css_image(bus_id.cssid, false);
> }
>
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 214c940593..d1280bf631 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -78,7 +78,7 @@ static void s390_ccw_realize(S390CCWDevice *cdev, char *sysfsdev, Error **errp)
> goto out_err_propagate;
> }
>
> - sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, &err);
> + sch = css_create_sch(ccw_dev->devno, &err);
> if (!sch) {
> goto out_mdevid_free;
> }
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 7983185d04..380a41d806 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -282,19 +282,8 @@ static void ccw_init(MachineState *machine)
> virtio_ccw_register_hcalls();
>
> s390_enable_css_support(s390_cpu_addr2state(0));
> - /*
> - * Non mcss-e enabled guests only see the devices from the default
> - * css, which is determined by the value of the squash_mcss property.
> - */
> - if (css_bus->squash_mcss) {
> - ret = css_create_css_image(0, true);
> - } else {
> - ret = css_create_css_image(VIRTUAL_CSSID, true);
> - }
> - if (qemu_opt_get(qemu_get_machine_opts(), "s390-squash-mcss")) {
> - warn_report("The machine property 's390-squash-mcss' is deprecated"
> - " (obsoleted by lifting the cssid restrictions).");
> - }
> +
> + ret = css_create_css_image(VIRTUAL_CSSID, true);
>
> assert(ret == 0);
> if (css_migration_enabled()) {
> @@ -575,21 +564,6 @@ static void machine_set_loadparm(Object *obj, const char *val, Error **errp)
> ms->loadparm[i] = ' '; /* pad right with spaces */
> }
> }
> -static inline bool machine_get_squash_mcss(Object *obj, Error **errp)
> -{
> - S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
> -
> - return ms->s390_squash_mcss;
> -}
> -
> -static inline void machine_set_squash_mcss(Object *obj, bool value,
> - Error **errp)
> -{
> - S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
> -
> - ms->s390_squash_mcss = value;
> -}
> -
> static inline void s390_machine_initfn(Object *obj)
> {
> object_property_add_bool(obj, "aes-key-wrap",
> @@ -614,13 +588,6 @@ static inline void s390_machine_initfn(Object *obj)
> " to upper case) to pass to machine loader, boot manager,"
> " and guest kernel",
> NULL);
> - object_property_add_bool(obj, "s390-squash-mcss",
> - machine_get_squash_mcss,
> - machine_set_squash_mcss, NULL);
> - object_property_set_description(obj, "s390-squash-mcss", "(deprecated) "
> - "enable/disable squashing subchannels into the default css",
> - NULL);
> - object_property_set_bool(obj, false, "s390-squash-mcss", NULL);
> }
>
> static const TypeInfo ccw_machine_info = {
> diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
> index 7ddb378d52..3156e8d6e1 100644
> --- a/hw/s390x/virtio-ccw.c
> +++ b/hw/s390x/virtio-ccw.c
> @@ -700,7 +700,7 @@ static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp)
> SubchDev *sch;
> Error *err = NULL;
>
> - sch = css_create_sch(ccw_dev->devno, cbus->squash_mcss, errp);
> + sch = css_create_sch(ccw_dev->devno, errp);
> if (!sch) {
> return;
> }
> diff --git a/include/hw/s390x/css-bridge.h b/include/hw/s390x/css-bridge.h
> index cf0860432a..5a0203be5f 100644
> --- a/include/hw/s390x/css-bridge.h
> +++ b/include/hw/s390x/css-bridge.h
> @@ -28,7 +28,6 @@ typedef struct VirtualCssBridge {
> /* virtual css bus type */
> typedef struct VirtualCssBus {
> BusState parent_obj;
> - bool squash_mcss;
> } VirtualCssBus;
>
> #define TYPE_VIRTUAL_CSS_BUS "virtual-css-bus"
> diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h
> index 35facb47d2..9da5912921 100644
> --- a/include/hw/s390x/css.h
> +++ b/include/hw/s390x/css.h
> @@ -266,11 +266,8 @@ extern const PropertyInfo css_devid_ro_propinfo;
> /**
> * Create a subchannel for the given bus id.
> *
> - * If @p bus_id is valid, and @p squash_mcss is true, verify that it is
> - * not already in use in the default css, and find a free devno from the
> - * default css image for it.
> - * If @p bus_id is valid, and @p squash_mcss is false, verify that it is
> - * not already in use, and find a free devno for it.
> + * If @p bus_id is valid, verify that it is not already in use, and find a
> + * free devno for it.
> * If @p bus_id is not valid find a free subchannel id and device number
> * across all subchannel sets and all css images starting from the default
> * css image.
> @@ -282,7 +279,7 @@ extern const PropertyInfo css_devid_ro_propinfo;
> * The caller becomes owner of the returned subchannel structure and
> * is responsible for unregistering and freeing it.
> */
> -SubchDev *css_create_sch(CssDevId bus_id, bool squash_mcss, Error **errp);
> +SubchDev *css_create_sch(CssDevId bus_id, Error **errp);
>
> /** Turn on css migration */
> void css_register_vmstate(void);
> diff --git a/include/hw/s390x/s390-virtio-ccw.h b/include/hw/s390x/s390-virtio-ccw.h
> index ab88d49d10..e9c4f4182b 100644
> --- a/include/hw/s390x/s390-virtio-ccw.h
> +++ b/include/hw/s390x/s390-virtio-ccw.h
> @@ -29,7 +29,6 @@ typedef struct S390CcwMachineState {
> bool aes_key_wrap;
> bool dea_key_wrap;
> uint8_t loadparm[8];
> - bool s390_squash_mcss;
> } S390CcwMachineState;
>
> typedef struct S390CcwMachineClass {
> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
> index 9920a85adc..09f7b22fb1 100644
> --- a/qemu-deprecated.texi
> +++ b/qemu-deprecated.texi
> @@ -126,14 +126,6 @@ The ``-nodefconfig`` argument is a synonym for ``-no-user-config``.
> The @option{--balloon virtio} argument has been superseded by
> @option{--device virtio-balloon}.
>
> -@subsection -machine s390-squash-mcss=on|off (since 2.12.0)
> -
> -The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
> -cssid to be chosen freely. Instead of squashing subchannels into the
> -default channel subsystem image for guests that do not support multiple
> -channel subsystems, all devices can be put into the default channel
> -subsystem image.
> -
> @subsection -fsdev handle (since 2.12.0)
>
> The ``handle'' fsdev backend does not support symlinks and causes the 9p
> diff --git a/qemu-options.hx b/qemu-options.hx
> index b1bf0f485f..e57cec96a5 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -43,7 +43,6 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
> " suppress-vmdesc=on|off disables self-describing migration (default=off)\n"
> " nvdimm=on|off controls NVDIMM support (default=off)\n"
> " enforce-config-section=on|off enforce configuration section migration (default=off)\n"
> - " s390-squash-mcss=on|off (deprecated) controls support for squashing into default css (default=off)\n"
> " memory-encryption=@var{} memory encryption object to use (default=none)\n",
> QEMU_ARCH_ALL)
> STEXI
> @@ -96,15 +95,6 @@ controls whether DEA wrapping keys will be created to allow
> execution of DEA cryptographic functions. The default is on.
> @item nvdimm=on|off
> Enables or disables NVDIMM support. The default is off.
> -@item s390-squash-mcss=on|off
> -Enables or disables squashing subchannels into the default css.
> -The default is off.
> -NOTE: This property is deprecated and will be removed in future releases.
> -The ``s390-squash-mcss=on`` property has been obsoleted by allowing the
> -cssid to be chosen freely. Instead of squashing subchannels into the
> -default channel subsystem image for guests that do not support multiple
> -channel subsystems, all devices can be put into the default channel
> -subsystem image.
> @item enforce-config-section=on|off
> If @option{enforce-config-section} is set to @var{on}, force migration
> code to send configuration section even if the machine-type sets the
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index 271c5ce652..8ed4823d6e 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -421,16 +421,6 @@ void s390_crypto_reset(void)
> }
> }
>
> -bool s390_get_squash_mcss(void)
> -{
> - if (object_property_get_bool(OBJECT(qdev_get_machine()), "s390-squash-mcss",
> - NULL)) {
> - return true;
> - }
> -
> - return false;
> -}
> -
> void s390_enable_css_support(S390CPU *cpu)
> {
> if (kvm_enabled()) {
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index 2c3dd2d189..86b66dfeac 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -713,7 +713,6 @@ static inline void s390_do_cpu_load_normal(CPUState *cs, run_on_cpu_data arg)
>
> /* cpu.c */
> void s390_crypto_reset(void);
> -bool s390_get_squash_mcss(void);
> int s390_set_memory_limit(uint64_t new_limit, uint64_t *hw_limit);
> void s390_cmma_reset(void);
> void s390_enable_css_support(S390CPU *cpu);
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
` (3 preceding siblings ...)
2018-07-30 13:25 ` Halil Pasic
@ 2018-07-30 13:43 ` Cornelia Huck
2018-08-01 10:21 ` Fam Zheng
5 siblings, 0 replies; 15+ messages in thread
From: Cornelia Huck @ 2018-07-30 13:43 UTC (permalink / raw)
To: qemu-s390x
Cc: Christian Borntraeger, Alexander Graf, Richard Henderson,
David Hildenbrand, Thomas Huth, Halil Pasic, Xiao Feng Ren,
qemu-devel, libvir-list
On Tue, 24 Jul 2018 11:24:13 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> This option has been deprecated for two releases; remove it.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> hw/s390x/3270-ccw.c | 2 +-
> hw/s390x/css-bridge.c | 1 -
> hw/s390x/css.c | 6 ++----
> hw/s390x/s390-ccw.c | 2 +-
> hw/s390x/s390-virtio-ccw.c | 37 ++-----------------------------------
> hw/s390x/virtio-ccw.c | 2 +-
> include/hw/s390x/css-bridge.h | 1 -
> include/hw/s390x/css.h | 9 +++------
> include/hw/s390x/s390-virtio-ccw.h | 1 -
> qemu-deprecated.texi | 8 --------
> qemu-options.hx | 10 ----------
> target/s390x/cpu.c | 10 ----------
> target/s390x/cpu.h | 1 -
> 13 files changed, 10 insertions(+), 80 deletions(-)
Queued to s390-next.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
` (4 preceding siblings ...)
2018-07-30 13:43 ` Cornelia Huck
@ 2018-08-01 10:21 ` Fam Zheng
2018-08-01 12:54 ` Cornelia Huck
5 siblings, 1 reply; 15+ messages in thread
From: Fam Zheng @ 2018-08-01 10:21 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
On Tue, 07/24 11:24, Cornelia Huck wrote:
> diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> index a02d708239..1bd6c8b458 100644
> --- a/hw/s390x/css-bridge.c
> +++ b/hw/s390x/css-bridge.c
> @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> /* Create bus on bridge device */
> bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> cbus = VIRTUAL_CSS_BUS(bus);
Not used now?
Fam
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-01 10:21 ` Fam Zheng
@ 2018-08-01 12:54 ` Cornelia Huck
2018-08-01 13:11 ` Cornelia Huck
0 siblings, 1 reply; 15+ messages in thread
From: Cornelia Huck @ 2018-08-01 12:54 UTC (permalink / raw)
To: Fam Zheng
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
On Wed, 1 Aug 2018 18:21:27 +0800
Fam Zheng <famz@redhat.com> wrote:
> On Tue, 07/24 11:24, Cornelia Huck wrote:
> > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > index a02d708239..1bd6c8b458 100644
> > --- a/hw/s390x/css-bridge.c
> > +++ b/hw/s390x/css-bridge.c
> > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > /* Create bus on bridge device */
> > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > cbus = VIRTUAL_CSS_BUS(bus);
>
> Not used now?
>
> Fam
Indeed, we can ditch the cbus variable.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-01 12:54 ` Cornelia Huck
@ 2018-08-01 13:11 ` Cornelia Huck
2018-08-01 13:18 ` Cornelia Huck
0 siblings, 1 reply; 15+ messages in thread
From: Cornelia Huck @ 2018-08-01 13:11 UTC (permalink / raw)
To: Fam Zheng
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
On Wed, 1 Aug 2018 14:54:51 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Wed, 1 Aug 2018 18:21:27 +0800
> Fam Zheng <famz@redhat.com> wrote:
>
> > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > index a02d708239..1bd6c8b458 100644
> > > --- a/hw/s390x/css-bridge.c
> > > +++ b/hw/s390x/css-bridge.c
> > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > /* Create bus on bridge device */
> > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > cbus = VIRTUAL_CSS_BUS(bus);
> >
> > Not used now?
> >
> > Fam
>
> Indeed, we can ditch the cbus variable.
...or not :) We still need it for the return value, which is processed
in ccw_init(). We could change the return code of the function to
BusState, but I'm not sure it is worth the hassle.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-01 13:11 ` Cornelia Huck
@ 2018-08-01 13:18 ` Cornelia Huck
2018-08-02 1:34 ` Fam Zheng
0 siblings, 1 reply; 15+ messages in thread
From: Cornelia Huck @ 2018-08-01 13:18 UTC (permalink / raw)
To: Fam Zheng
Cc: qemu-s390x, Xiao Feng Ren, Thomas Huth, David Hildenbrand,
libvir-list, Alexander Graf, qemu-devel, Halil Pasic,
Christian Borntraeger, Richard Henderson
On Wed, 1 Aug 2018 15:11:23 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Wed, 1 Aug 2018 14:54:51 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:
>
> > On Wed, 1 Aug 2018 18:21:27 +0800
> > Fam Zheng <famz@redhat.com> wrote:
> >
> > > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > > index a02d708239..1bd6c8b458 100644
> > > > --- a/hw/s390x/css-bridge.c
> > > > +++ b/hw/s390x/css-bridge.c
> > > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > > /* Create bus on bridge device */
> > > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > > cbus = VIRTUAL_CSS_BUS(bus);
> > >
> > > Not used now?
> > >
> > > Fam
> >
> > Indeed, we can ditch the cbus variable.
>
> ...or not :) We still need it for the return value, which is processed
> in ccw_init(). We could change the return code of the function to
> BusState, but I'm not sure it is worth the hassle.
...but we can indeed get rid of the cbus and qbus variables in
s390_ccw_realize().
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-01 13:18 ` Cornelia Huck
@ 2018-08-02 1:34 ` Fam Zheng
2018-08-02 7:15 ` Cornelia Huck
0 siblings, 1 reply; 15+ messages in thread
From: Fam Zheng @ 2018-08-02 1:34 UTC (permalink / raw)
To: Cornelia Huck
Cc: open list:virtio-ccw, renxiaof, Thomas Huth, david, libvir-list,
Alexander Graf, QEMU Developers, pasic, Christian Borntraeger,
rth
On Wed, Aug 1, 2018 at 9:18 PM Cornelia Huck <cohuck@redhat.com> wrote:
>
> On Wed, 1 Aug 2018 15:11:23 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:
>
> > On Wed, 1 Aug 2018 14:54:51 +0200
> > Cornelia Huck <cohuck@redhat.com> wrote:
> >
> > > On Wed, 1 Aug 2018 18:21:27 +0800
> > > Fam Zheng <famz@redhat.com> wrote:
> > >
> > > > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > > > index a02d708239..1bd6c8b458 100644
> > > > > --- a/hw/s390x/css-bridge.c
> > > > > +++ b/hw/s390x/css-bridge.c
> > > > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > > > /* Create bus on bridge device */
> > > > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > > > cbus = VIRTUAL_CSS_BUS(bus);
> > > >
> > > > Not used now?
> > > >
> > > > Fam
> > >
> > > Indeed, we can ditch the cbus variable.
> >
> > ...or not :) We still need it for the return value, which is processed
> > in ccw_init(). We could change the return code of the function to
> > BusState, but I'm not sure it is worth the hassle.
>
> ...but we can indeed get rid of the cbus and qbus variables in
> s390_ccw_realize().
I got this from a patchew.org test (make docker-test-clang@ubuntu):
/tmp/qemu-test/src/hw/s390x/3270-ccw.c:103:20: error: unused variable
'cbus' [-Werror,-Wunused-variable]
VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
^
1 error generated.
/tmp/qemu-test/src/rules.mak:69: recipe for target 'hw/s390x/3270-ccw.o' failed
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-02 1:34 ` Fam Zheng
@ 2018-08-02 7:15 ` Cornelia Huck
2018-08-02 7:33 ` Cornelia Huck
0 siblings, 1 reply; 15+ messages in thread
From: Cornelia Huck @ 2018-08-02 7:15 UTC (permalink / raw)
To: Fam Zheng
Cc: open list:virtio-ccw, renxiaof, Thomas Huth, david, libvir-list,
Alexander Graf, QEMU Developers, pasic, Christian Borntraeger,
rth
On Thu, 2 Aug 2018 09:34:37 +0800
Fam Zheng <famz@redhat.com> wrote:
> On Wed, Aug 1, 2018 at 9:18 PM Cornelia Huck <cohuck@redhat.com> wrote:
> >
> > On Wed, 1 Aug 2018 15:11:23 +0200
> > Cornelia Huck <cohuck@redhat.com> wrote:
> >
> > > On Wed, 1 Aug 2018 14:54:51 +0200
> > > Cornelia Huck <cohuck@redhat.com> wrote:
> > >
> > > > On Wed, 1 Aug 2018 18:21:27 +0800
> > > > Fam Zheng <famz@redhat.com> wrote:
> > > >
> > > > > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > > > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > > > > index a02d708239..1bd6c8b458 100644
> > > > > > --- a/hw/s390x/css-bridge.c
> > > > > > +++ b/hw/s390x/css-bridge.c
> > > > > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > > > > /* Create bus on bridge device */
> > > > > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > > > > cbus = VIRTUAL_CSS_BUS(bus);
> > > > >
> > > > > Not used now?
> > > > >
> > > > > Fam
> > > >
> > > > Indeed, we can ditch the cbus variable.
> > >
> > > ...or not :) We still need it for the return value, which is processed
> > > in ccw_init(). We could change the return code of the function to
> > > BusState, but I'm not sure it is worth the hassle.
> >
> > ...but we can indeed get rid of the cbus and qbus variables in
> > s390_ccw_realize().
>
> I got this from a patchew.org test (make docker-test-clang@ubuntu):
>
> /tmp/qemu-test/src/hw/s390x/3270-ccw.c:103:20: error: unused variable
> 'cbus' [-Werror,-Wunused-variable]
> VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
> ^
> 1 error generated.
> /tmp/qemu-test/src/rules.mak:69: recipe for target 'hw/s390x/3270-ccw.o' failed
Odd, why didn't I see that...
...oh wait. Why do I have -disable-werror set? I'll send a patch.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-02 7:15 ` Cornelia Huck
@ 2018-08-02 7:33 ` Cornelia Huck
2018-08-02 7:44 ` Cornelia Huck
0 siblings, 1 reply; 15+ messages in thread
From: Cornelia Huck @ 2018-08-02 7:33 UTC (permalink / raw)
To: Fam Zheng
Cc: open list:virtio-ccw, renxiaof, Thomas Huth, david, libvir-list,
Alexander Graf, QEMU Developers, pasic, Christian Borntraeger,
rth
On Thu, 2 Aug 2018 09:15:24 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Thu, 2 Aug 2018 09:34:37 +0800
> Fam Zheng <famz@redhat.com> wrote:
>
> > On Wed, Aug 1, 2018 at 9:18 PM Cornelia Huck <cohuck@redhat.com> wrote:
> > >
> > > On Wed, 1 Aug 2018 15:11:23 +0200
> > > Cornelia Huck <cohuck@redhat.com> wrote:
> > >
> > > > On Wed, 1 Aug 2018 14:54:51 +0200
> > > > Cornelia Huck <cohuck@redhat.com> wrote:
> > > >
> > > > > On Wed, 1 Aug 2018 18:21:27 +0800
> > > > > Fam Zheng <famz@redhat.com> wrote:
> > > > >
> > > > > > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > > > > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > > > > > index a02d708239..1bd6c8b458 100644
> > > > > > > --- a/hw/s390x/css-bridge.c
> > > > > > > +++ b/hw/s390x/css-bridge.c
> > > > > > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > > > > > /* Create bus on bridge device */
> > > > > > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > > > > > cbus = VIRTUAL_CSS_BUS(bus);
> > > > > >
> > > > > > Not used now?
> > > > > >
> > > > > > Fam
> > > > >
> > > > > Indeed, we can ditch the cbus variable.
> > > >
> > > > ...or not :) We still need it for the return value, which is processed
> > > > in ccw_init(). We could change the return code of the function to
> > > > BusState, but I'm not sure it is worth the hassle.
> > >
> > > ...but we can indeed get rid of the cbus and qbus variables in
> > > s390_ccw_realize().
> >
> > I got this from a patchew.org test (make docker-test-clang@ubuntu):
> >
> > /tmp/qemu-test/src/hw/s390x/3270-ccw.c:103:20: error: unused variable
> > 'cbus' [-Werror,-Wunused-variable]
> > VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
> > ^
> > 1 error generated.
> > /tmp/qemu-test/src/rules.mak:69: recipe for target 'hw/s390x/3270-ccw.o' failed
>
> Odd, why didn't I see that...
>
> ...oh wait. Why do I have -disable-werror set? I'll send a patch.
On second thought, I'll just merge in the following:
diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
index cf58b81fc0..2c8d16ccf7 100644
--- a/hw/s390x/3270-ccw.c
+++ b/hw/s390x/3270-ccw.c
@@ -98,9 +98,6 @@ static void emulated_ccw_3270_realize(DeviceState *ds, Error **errp)
EmulatedCcw3270Class *ck = EMULATED_CCW_3270_GET_CLASS(dev);
CcwDevice *cdev = CCW_DEVICE(ds);
CCWDeviceClass *cdk = CCW_DEVICE_GET_CLASS(cdev);
- DeviceState *parent = DEVICE(cdev);
- BusState *qbus = qdev_get_parent_bus(parent);
- VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
SubchDev *sch;
Error *err = NULL;
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
index d1280bf631..cad91ee626 100644
--- a/hw/s390x/s390-ccw.c
+++ b/hw/s390x/s390-ccw.c
@@ -67,8 +67,6 @@ static void s390_ccw_realize(S390CCWDevice *cdev, char *sysfsdev, Error **errp)
CcwDevice *ccw_dev = CCW_DEVICE(cdev);
CCWDeviceClass *ck = CCW_DEVICE_GET_CLASS(ccw_dev);
DeviceState *parent = DEVICE(ccw_dev);
- BusState *qbus = qdev_get_parent_bus(parent);
- VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
SubchDev *sch;
int ret;
Error *err = NULL;
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option
2018-08-02 7:33 ` Cornelia Huck
@ 2018-08-02 7:44 ` Cornelia Huck
0 siblings, 0 replies; 15+ messages in thread
From: Cornelia Huck @ 2018-08-02 7:44 UTC (permalink / raw)
To: Fam Zheng
Cc: open list:virtio-ccw, renxiaof, Thomas Huth, david, libvir-list,
Alexander Graf, QEMU Developers, pasic, Christian Borntraeger,
rth
On Thu, 2 Aug 2018 09:33:48 +0200
Cornelia Huck <cohuck@redhat.com> wrote:
> On Thu, 2 Aug 2018 09:15:24 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:
>
> > On Thu, 2 Aug 2018 09:34:37 +0800
> > Fam Zheng <famz@redhat.com> wrote:
> >
> > > On Wed, Aug 1, 2018 at 9:18 PM Cornelia Huck <cohuck@redhat.com> wrote:
> > > >
> > > > On Wed, 1 Aug 2018 15:11:23 +0200
> > > > Cornelia Huck <cohuck@redhat.com> wrote:
> > > >
> > > > > On Wed, 1 Aug 2018 14:54:51 +0200
> > > > > Cornelia Huck <cohuck@redhat.com> wrote:
> > > > >
> > > > > > On Wed, 1 Aug 2018 18:21:27 +0800
> > > > > > Fam Zheng <famz@redhat.com> wrote:
> > > > > >
> > > > > > > On Tue, 07/24 11:24, Cornelia Huck wrote:
> > > > > > > > diff --git a/hw/s390x/css-bridge.c b/hw/s390x/css-bridge.c
> > > > > > > > index a02d708239..1bd6c8b458 100644
> > > > > > > > --- a/hw/s390x/css-bridge.c
> > > > > > > > +++ b/hw/s390x/css-bridge.c
> > > > > > > > @@ -106,7 +106,6 @@ VirtualCssBus *virtual_css_bus_init(void)
> > > > > > > > /* Create bus on bridge device */
> > > > > > > > bus = qbus_create(TYPE_VIRTUAL_CSS_BUS, dev, "virtual-css");
> > > > > > > > cbus = VIRTUAL_CSS_BUS(bus);
> > > > > > >
> > > > > > > Not used now?
> > > > > > >
> > > > > > > Fam
> > > > > >
> > > > > > Indeed, we can ditch the cbus variable.
> > > > >
> > > > > ...or not :) We still need it for the return value, which is processed
> > > > > in ccw_init(). We could change the return code of the function to
> > > > > BusState, but I'm not sure it is worth the hassle.
> > > >
> > > > ...but we can indeed get rid of the cbus and qbus variables in
> > > > s390_ccw_realize().
> > >
> > > I got this from a patchew.org test (make docker-test-clang@ubuntu):
> > >
> > > /tmp/qemu-test/src/hw/s390x/3270-ccw.c:103:20: error: unused variable
> > > 'cbus' [-Werror,-Wunused-variable]
> > > VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
> > > ^
> > > 1 error generated.
> > > /tmp/qemu-test/src/rules.mak:69: recipe for target 'hw/s390x/3270-ccw.o' failed
> >
> > Odd, why didn't I see that...
> >
> > ...oh wait. Why do I have -disable-werror set? I'll send a patch.
>
> On second thought, I'll just merge in the following:
>
> diff --git a/hw/s390x/3270-ccw.c b/hw/s390x/3270-ccw.c
> index cf58b81fc0..2c8d16ccf7 100644
> --- a/hw/s390x/3270-ccw.c
> +++ b/hw/s390x/3270-ccw.c
> @@ -98,9 +98,6 @@ static void emulated_ccw_3270_realize(DeviceState *ds, Error **errp)
> EmulatedCcw3270Class *ck = EMULATED_CCW_3270_GET_CLASS(dev);
> CcwDevice *cdev = CCW_DEVICE(ds);
> CCWDeviceClass *cdk = CCW_DEVICE_GET_CLASS(cdev);
> - DeviceState *parent = DEVICE(cdev);
> - BusState *qbus = qdev_get_parent_bus(parent);
> - VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
> SubchDev *sch;
> Error *err = NULL;
>
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index d1280bf631..cad91ee626 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -67,8 +67,6 @@ static void s390_ccw_realize(S390CCWDevice *cdev, char *sysfsdev, Error **errp)
> CcwDevice *ccw_dev = CCW_DEVICE(cdev);
> CCWDeviceClass *ck = CCW_DEVICE_GET_CLASS(ccw_dev);
> DeviceState *parent = DEVICE(ccw_dev);
> - BusState *qbus = qdev_get_parent_bus(parent);
> - VirtualCssBus *cbus = VIRTUAL_CSS_BUS(qbus);
> SubchDev *sch;
> int ret;
> Error *err = NULL;
>
...and the one in virtio-ccw.c as well. I swear I'm not trying to break
some kind of reply-to-myself record here :)
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-08-02 7:44 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-24 9:24 [Qemu-devel] [PATCH for-3.1] s390x: remove 's390-squash-mcss' option Cornelia Huck
2018-07-24 11:03 ` Christian Borntraeger
2018-07-24 11:15 ` [Qemu-devel] [libvirt] " Peter Krempa
2018-07-24 11:23 ` Cornelia Huck
2018-07-24 11:48 ` [Qemu-devel] " Thomas Huth
2018-07-30 13:25 ` Halil Pasic
2018-07-30 13:43 ` Cornelia Huck
2018-08-01 10:21 ` Fam Zheng
2018-08-01 12:54 ` Cornelia Huck
2018-08-01 13:11 ` Cornelia Huck
2018-08-01 13:18 ` Cornelia Huck
2018-08-02 1:34 ` Fam Zheng
2018-08-02 7:15 ` Cornelia Huck
2018-08-02 7:33 ` Cornelia Huck
2018-08-02 7:44 ` Cornelia Huck
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.