From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
"Kevin Wolf" <kwolf@redhat.com>, "Thomas Huth" <thuth@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
"Max Reitz" <mreitz@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"John Snow" <jsnow@redhat.com>,
"Richard Henderson" <rth@twiddle.net>
Subject: Re: [PATCH v9 05/10] acpi: move aml builder code for i8042 (kbd+mouse) device
Date: Thu, 18 Jun 2020 16:05:53 -0400 [thread overview]
Message-ID: <20200618160506-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200617071138.11159-6-kraxel@redhat.com>
On Wed, Jun 17, 2020 at 09:11:33AM +0200, Gerd Hoffmann wrote:
> DSDT change: isa device order changes in case MI1 (ipmi) is present.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> hw/i386/acpi-build.c | 39 --------------------------------
> hw/input/pckbd.c | 31 +++++++++++++++++++++++++
> tests/data/acpi/pc/DSDT.ipmikcs | Bin 5086 -> 5086 bytes
> tests/data/acpi/q35/DSDT.ipmibt | Bin 7827 -> 7827 bytes
> 4 files changed, 31 insertions(+), 39 deletions(-)
Please don't add binary file diffs together with source changes.
Pls follow the process outlined in tests/qtest/bios-tables-test.c.
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 45297d9a90e7..13113e83dfe2 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -938,42 +938,6 @@ static void build_hpet_aml(Aml *table)
> aml_append(table, scope);
> }
>
> -static Aml *build_kbd_device_aml(void)
> -{
> - Aml *dev;
> - Aml *crs;
> -
> - dev = aml_device("KBD");
> - aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0303")));
> -
> - aml_append(dev, aml_name_decl("_STA", aml_int(0xf)));
> -
> - crs = aml_resource_template();
> - aml_append(crs, aml_io(AML_DECODE16, 0x0060, 0x0060, 0x01, 0x01));
> - aml_append(crs, aml_io(AML_DECODE16, 0x0064, 0x0064, 0x01, 0x01));
> - aml_append(crs, aml_irq_no_flags(1));
> - aml_append(dev, aml_name_decl("_CRS", crs));
> -
> - return dev;
> -}
> -
> -static Aml *build_mouse_device_aml(void)
> -{
> - Aml *dev;
> - Aml *crs;
> -
> - dev = aml_device("MOU");
> - aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0F13")));
> -
> - aml_append(dev, aml_name_decl("_STA", aml_int(0xf)));
> -
> - crs = aml_resource_template();
> - aml_append(crs, aml_irq_no_flags(12));
> - aml_append(dev, aml_name_decl("_CRS", crs));
> -
> - return dev;
> -}
> -
> static Aml *build_vmbus_device_aml(VMBusBridge *vmbus_bridge)
> {
> Aml *dev;
> @@ -1019,9 +983,6 @@ static void build_isa_devices_aml(Aml *table)
> Aml *scope = aml_scope("_SB.PCI0.ISA");
> Object *obj = object_resolve_path_type("", TYPE_ISA_BUS, &ambiguous);
>
> - aml_append(scope, build_kbd_device_aml());
> - aml_append(scope, build_mouse_device_aml());
> -
> if (ambiguous) {
> error_report("Multiple ISA busses, unable to define IPMI ACPI data");
> } else if (!obj) {
> diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c
> index 60a41303203a..29d633ca9478 100644
> --- a/hw/input/pckbd.c
> +++ b/hw/input/pckbd.c
> @@ -26,6 +26,7 @@
> #include "qemu/log.h"
> #include "hw/isa/isa.h"
> #include "migration/vmstate.h"
> +#include "hw/acpi/aml-build.h"
> #include "hw/input/ps2.h"
> #include "hw/irq.h"
> #include "hw/input/i8042.h"
> @@ -561,12 +562,42 @@ static void i8042_realizefn(DeviceState *dev, Error **errp)
> qemu_register_reset(kbd_reset, s);
> }
>
> +static void i8042_build_aml(ISADevice *isadev, Aml *scope)
> +{
> + Aml *kbd;
> + Aml *mou;
> + Aml *crs;
> +
> + crs = aml_resource_template();
> + aml_append(crs, aml_io(AML_DECODE16, 0x0060, 0x0060, 0x01, 0x01));
> + aml_append(crs, aml_io(AML_DECODE16, 0x0064, 0x0064, 0x01, 0x01));
> + aml_append(crs, aml_irq_no_flags(1));
> +
> + kbd = aml_device("KBD");
> + aml_append(kbd, aml_name_decl("_HID", aml_eisaid("PNP0303")));
> + aml_append(kbd, aml_name_decl("_STA", aml_int(0xf)));
> + aml_append(kbd, aml_name_decl("_CRS", crs));
> +
> + crs = aml_resource_template();
> + aml_append(crs, aml_irq_no_flags(12));
> +
> + mou = aml_device("MOU");
> + aml_append(mou, aml_name_decl("_HID", aml_eisaid("PNP0F13")));
> + aml_append(mou, aml_name_decl("_STA", aml_int(0xf)));
> + aml_append(mou, aml_name_decl("_CRS", crs));
> +
> + aml_append(scope, kbd);
> + aml_append(scope, mou);
> +}
> +
> static void i8042_class_initfn(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
> + ISADeviceClass *isa = ISA_DEVICE_CLASS(klass);
>
> dc->realize = i8042_realizefn;
> dc->vmsd = &vmstate_kbd_isa;
> + isa->build_aml = i8042_build_aml;
> set_bit(DEVICE_CATEGORY_INPUT, dc->categories);
> }
>
> diff --git a/tests/data/acpi/pc/DSDT.ipmikcs b/tests/data/acpi/pc/DSDT.ipmikcs
> index c285651131dc2ab8b0f32de750d7ac02a8b09936..1c19e2f354d022279d7e1343fa7212396d8c25a0 100644
> GIT binary patch
> delta 20
> ccmcboeouYFO2)~oOdgY0GRAE7Wtu1m09c?0ga7~l
>
> delta 20
> ccmcboeouYFO2)|_8Dl1|Wc1kV%QR6C0AuwCZvX%Q
>
> diff --git a/tests/data/acpi/q35/DSDT.ipmibt b/tests/data/acpi/q35/DSDT.ipmibt
> index 38723daef80421ea528b2ad2d411e7357df43956..0173c3668a6cdef80127de7880a19cb5c5ea7dc0 100644
> GIT binary patch
> delta 20
> ccmbPiJK1)F4%6fgChy5QOfj1;GaZly08TOoX8-^I
>
> delta 20
> ccmbPiJK1)F4%6gvrkKe(Ox~L>GaZly08Od~RsaA1
>
> --
> 2.18.4
next prev parent reply other threads:[~2020-06-18 20:07 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 7:11 [PATCH v9 00/10] acpi: i386 tweaks Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 01/10] acpi: bios-tables-test: show more context on asl diffs Gerd Hoffmann
2020-06-17 7:31 ` Philippe Mathieu-Daudé
2020-06-17 7:11 ` [PATCH v9 02/10] acpi: move aml builder code for floppy device Gerd Hoffmann
2020-06-17 8:40 ` Thomas Huth
2020-06-17 11:31 ` Gerd Hoffmann
2020-06-17 11:34 ` Thomas Huth
2020-06-18 20:07 ` Michael S. Tsirkin
2020-06-17 7:11 ` [PATCH v9 03/10] floppy: make isa_fdc_get_drive_max_chs static Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 04/10] floppy: move cmos_get_fd_drive_type() from pc Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 05/10] acpi: move aml builder code for i8042 (kbd+mouse) device Gerd Hoffmann
2020-06-18 20:05 ` Michael S. Tsirkin [this message]
2020-06-17 7:11 ` [PATCH v9 06/10] acpi: factor out fw_cfg_add_acpi_dsdt() Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 07/10] acpi: simplify build_isa_devices_aml() Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 08/10] acpi: drop serial/parallel enable bits from dsdt Gerd Hoffmann
2020-06-18 20:08 ` Michael S. Tsirkin
2020-06-17 7:11 ` [PATCH v9 09/10] acpi: drop build_piix4_pm() Gerd Hoffmann
2020-06-17 7:11 ` [PATCH v9 10/10] acpi: q35: drop _SB.PCI0.ISA.LPCD opregion Gerd Hoffmann
2020-06-17 7:24 ` [PATCH v9 00/10] acpi: i386 tweaks no-reply
2020-06-17 7:42 ` no-reply
2020-06-17 7:47 ` no-reply
2020-06-18 20:09 ` 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=20200618160506-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=lvivier@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
/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 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.