[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/5] i8259: move TYPE_INTERRUPT_STATS_PROVIDER u
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH 5/5] i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper |
Date: |
Fri, 15 Dec 2017 08:30:30 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 |
On 12/10/2017 03:38 AM, Peter Xu wrote:
> Now both classes (i8259, i8259-kvm) support this. Move this upper to
> the common class code.
>
> Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/i386/kvm/i8259.c | 7 -------
> hw/intc/i8259.c | 7 -------
> hw/intc/i8259_common.c | 7 +++++++
> 3 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/hw/i386/kvm/i8259.c b/hw/i386/kvm/i8259.c
> index 57abe091b0..b91e98074e 100644
> --- a/hw/i386/kvm/i8259.c
> +++ b/hw/i386/kvm/i8259.c
> @@ -140,15 +140,12 @@ static void kvm_i8259_class_init(ObjectClass *klass,
> void *data)
> KVMPICClass *kpc = KVM_PIC_CLASS(klass);
> PICCommonClass *k = PIC_COMMON_CLASS(klass);
> DeviceClass *dc = DEVICE_CLASS(klass);
> - InterruptStatsProviderClass *ic = INTERRUPT_STATS_PROVIDER_CLASS(klass);
>
> dc->reset = kvm_pic_reset;
> kpc->parent_realize = dc->realize;
> dc->realize = kvm_pic_realize;
> k->pre_save = kvm_pic_get;
> k->post_load = kvm_pic_put;
> - ic->get_statistics = pic_get_statistics;
> - ic->print_info = pic_print_info;
> }
>
> static const TypeInfo kvm_i8259_info = {
> @@ -157,10 +154,6 @@ static const TypeInfo kvm_i8259_info = {
> .instance_size = sizeof(PICCommonState),
> .class_init = kvm_i8259_class_init,
> .class_size = sizeof(KVMPICClass),
> - .interfaces = (InterfaceInfo[]) {
> - { TYPE_INTERRUPT_STATS_PROVIDER },
> - { }
> - },
> };
>
> static void kvm_pic_register_types(void)
> diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c
> index d9b9666aff..1602255a87 100644
> --- a/hw/intc/i8259.c
> +++ b/hw/intc/i8259.c
> @@ -442,13 +442,10 @@ static void i8259_class_init(ObjectClass *klass, void
> *data)
> {
> PICClass *k = PIC_CLASS(klass);
> DeviceClass *dc = DEVICE_CLASS(klass);
> - InterruptStatsProviderClass *ic = INTERRUPT_STATS_PROVIDER_CLASS(klass);
>
> k->parent_realize = dc->realize;
> dc->realize = pic_realize;
> dc->reset = pic_reset;
> - ic->get_statistics = pic_get_statistics;
> - ic->print_info = pic_print_info;
> }
>
> static const TypeInfo i8259_info = {
> @@ -457,10 +454,6 @@ static const TypeInfo i8259_info = {
> .parent = TYPE_PIC_COMMON,
> .class_init = i8259_class_init,
> .class_size = sizeof(PICClass),
> - .interfaces = (InterfaceInfo[]) {
> - { TYPE_INTERRUPT_STATS_PROVIDER },
> - { }
> - },
> };
>
> static void pic_register_types(void)
> diff --git a/hw/intc/i8259_common.c b/hw/intc/i8259_common.c
> index 7efd2e8012..c75c880157 100644
> --- a/hw/intc/i8259_common.c
> +++ b/hw/intc/i8259_common.c
> @@ -178,6 +178,7 @@ static Property pic_properties_common[] = {
> static void pic_common_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
> + InterruptStatsProviderClass *ic = INTERRUPT_STATS_PROVIDER_CLASS(klass);
>
> dc->vmsd = &vmstate_pic_common;
> dc->props = pic_properties_common;
> @@ -189,6 +190,8 @@ static void pic_common_class_init(ObjectClass *klass,
> void *data)
> * code.
> */
> dc->user_creatable = false;
> + ic->get_statistics = pic_get_statistics;
> + ic->print_info = pic_print_info;
> }
>
> static const TypeInfo pic_common_type = {
> @@ -198,6 +201,10 @@ static const TypeInfo pic_common_type = {
> .class_size = sizeof(PICCommonClass),
> .class_init = pic_common_class_init,
> .abstract = true,
> + .interfaces = (InterfaceInfo[]) {
> + { TYPE_INTERRUPT_STATS_PROVIDER },
> + { }
> + },
> };
>
> static void pic_common_register_types(void)
>
- [Qemu-devel] [PATCH 1/5] i8259: convert DPRINTFs into trace, (continued)
- [Qemu-devel] [PATCH 1/5] i8259: convert DPRINTFs into trace, Peter Xu, 2017/12/10
- [Qemu-devel] [PATCH 2/5] i8259: use DEBUG_IRQ_COUNT always, Peter Xu, 2017/12/10
- [Qemu-devel] [PATCH 3/5] i8259: generalize statistics into common code, Peter Xu, 2017/12/10
- [Qemu-devel] [PATCH 4/5] kvm-i8259: support "info pic" and "info irq", Peter Xu, 2017/12/10
- [Qemu-devel] [PATCH 5/5] i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper, Peter Xu, 2017/12/10
- Re: [Qemu-devel] [PATCH 5/5] i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper,
Philippe Mathieu-Daudé <=
- Re: [Qemu-devel] [PATCH 0/5] i8259: cleanups and enhancements, Paolo Bonzini, 2017/12/19