From: Igor Mammedov <imammedo@redhat.com>
To: Corey Minyard <minyard@acm.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org, Corey Minyard <cminyard@mvista.com>
Subject: Re: [Qemu-devel] [PATCH v3 14/16] acpi: Add a way for devices to add ACPI tables
Date: Tue, 14 Jul 2015 09:36:19 +0200 [thread overview]
Message-ID: <20150714093619.1493a426@nial.brq.redhat.com> (raw)
In-Reply-To: <55A433D1.5030102@acm.org>
On Mon, 13 Jul 2015 16:55:29 -0500
Corey Minyard <minyard@acm.org> wrote:
> On 07/09/2015 03:25 AM, Igor Mammedov wrote:
> > On Wed, 8 Jul 2015 22:39:24 +0200
> > Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> >>
> >> On 08/07/2015 21:26, Igor Mammedov wrote:
> >>>> This was suggested by Michael, so I think you should read the reviews
> >>>> of earlier versions first.
> >>> That is basically the same as hooks in v1 only the other way around
> >>> with all drawbacks attached.
> >>>
> >>> Just dropping this universal way to scatter ACPI code all over QEMU
> >>> and calling ipmi_encode_one_acpi() "[15/16] ipmi: Add ACPI table entries"
> >>> directly from build_ssdt() would simplify series quite a bit.
> >> On the other hand, it would be much harder to make IPMI optional unless
> >> you want to add a bunch of ugly stubs. Same for SMBIOS. Especially
> > it's no the case if one uses QOM properties to fetch info.
> > it's a bit verbose but works well without need for ugly stubs.
> >
> >> when you can have the same ACPI and SMBIOS tables in both x86 and ARM
> >> virtual machines, it becomes a little more the device business to
> >> provide ACPI and SMBIOS information.
> > For a generic way for device to supply information to ACPI,
> > I was thinking about introducing interface that device might implement
> > for example if it should have _CRS in its ACPI description.
> > Then APCI core could query for devices that implement interface
> > and build AML code based on resource values (i.e. base address,
> > size, irq #, e.t.c) it gets from device.
>
> I'm just getting back from vacation and catching up.
>
> I would agree that implementing an interface is a more consistent
> way to do this than the way it's done now. If it's ok with everyone,
> I'll work on implementing this.
Implementing interface shouldn't block this series.
I'm ok with this series ACPI wise if you drop 14/16 and do as suggested
above + address comment on 15/16.
It would require minimal changes and get us an interesting device
to play with without significant delays.
I would do the same with SMBIOS side as well.
Implementing interface could be made on top along with conversion
of current code that fetches resource info from devices manually.
>
> I'm not sure that resource values are enough to do this, though.
> IPMI has some custom fields (_IFT, _SRV, _STR) and lots of optional
> fields (_ADR, _UID, _STA), how would you do these fields?
fields names are part of ACPI spec,
maybe interface should have methods for returning these fields.
_ADR - for example for PCI devices should address of device on bus
_SRV - return packed revision number
_IFT - return interface number
_STR, _UID, _STA - I'd leave them to board/firmware to decide how to
name/enumerate/detect presence (i.e. in acpi-build.c)
>
> -corey
>
> >
> >> So overall I'm happy with the way it was done here. I and Michael
> >> disagreed on several details, but not enough to fight over it...
> > I won't fight over it either, but it's my opinion how it should be
> > done.
> >
> >> Paolo
> >>
> >>> I'd do the same for SMBIOS entries as well, i.e. drop similar
> >>> universal way for devices to supply SMBIOS info (it's not their
> >>> business) and just call ipmi_encode_one_smbios() to add ipmi specific
> >>> entry if device is present. Again simplifying series even more.
> >>>
> >>> that roughly would save us 300 lines of not really necessary code
> >>> and keep things consistent with a way we are managing ssdt now.
>
next prev parent reply other threads:[~2015-07-14 7:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 1:11 [Qemu-devel] [PATCH v3 00/16] Add an IPMI device to QEMU minyard
2015-06-09 1:11 ` [Qemu-devel] [PATCH v3 01/16] Add a base IPMI interface minyard
2015-06-09 1:11 ` [Qemu-devel] [PATCH v3 02/16] ipmi: Add a local BMC simulation minyard
2015-06-09 1:11 ` [Qemu-devel] [PATCH v3 03/16] ipmi: Add an external connection simulation interface minyard
2015-06-09 1:11 ` [Qemu-devel] [PATCH v3 04/16] ipmi: Add an ISA KCS low-level interface minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 05/16] ipmi: Add a BT " minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 06/16] ipmi: Add tests minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 07/16] ipmi: Add documentation minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 08/16] ipmi: Add migration capability to the IPMI devices minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 09/16] ipmi: Add a firmware configuration repository minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 10/16] ipmi: Add firmware registration to the ISA interface minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 11/16] smbios: Add a function to directly add an entry minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 12/16] pc: Postpone SMBIOS table installation to post machine init minyard
2015-07-03 8:17 ` Michael S. Tsirkin
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 13/16] ipmi: Add SMBIOS table entry minyard
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 14/16] acpi: Add a way for devices to add ACPI tables minyard
2015-07-03 8:21 ` Michael S. Tsirkin
2015-07-03 8:27 ` Michael S. Tsirkin
2015-07-07 8:08 ` Igor Mammedov
2015-07-08 17:44 ` Paolo Bonzini
2015-07-08 19:26 ` Igor Mammedov
2015-07-08 20:39 ` Paolo Bonzini
2015-07-09 8:25 ` Igor Mammedov
2015-07-13 21:55 ` Corey Minyard
2015-07-14 7:36 ` Igor Mammedov [this message]
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 15/16] ipmi: Add ACPI table entries minyard
2015-07-07 9:47 ` Igor Mammedov
2015-06-09 1:12 ` [Qemu-devel] [PATCH v3 16/16] bios: Add tests for the IPMI ACPI and SMBIOS entries minyard
2015-07-03 0:30 ` [Qemu-devel] [PATCH v3 00/16] Add an IPMI device to QEMU Benjamin Herrenschmidt
2015-07-03 6:50 ` Paolo Bonzini
2015-07-03 8:23 ` Michael S. Tsirkin
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=20150714093619.1493a426@nial.brq.redhat.com \
--to=imammedo@redhat.com \
--cc=cminyard@mvista.com \
--cc=minyard@acm.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).