All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>, qemu-devel@nongnu.org
Cc: ghammer@redhat.com, pbonzini@redhat.com, lcapitulino@redhat.com,
	ehabkost@redhat.com, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v17 0/9] Virtual Machine Generation ID
Date: Tue, 19 Jan 2016 17:49:30 +0100	[thread overview]
Message-ID: <569E691A.3030500@redhat.com> (raw)
In-Reply-To: <20160119154830.251d2510@nial.brq.redhat.com>

On 01/19/16 15:48, Igor Mammedov wrote:
> Here is SSDT ASL diff with vmgenid device present that
> Laszlo's asked for:
> 
> @@ -135,6 +135,11 @@ DefinitionBlock ("tests/acpi-test-data/pc/SSDT.aml", "SSDT", 1, "BOCHS ", "BXPCS
>          })
>      }
>  
> +    Method (\_GPE._E00, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
> +    {
> +        Notify (\_SB.PCI0.VGEN, 0x80) // Status Change
> +    }
> +

Thanks a lot! I have one comment for this: I think _E00 cannot be used.
Please see the argument in my earlier (now obsolete) patch:

  [PATCH FYI 02/13] hw/acpi: add i386 callbacks for injecting GPE 04
                    when the VMGENID changes

  http://thread.gmane.org/gmane.comp.emulators.qemu/357940/focus=361705

Thanks!
Laszlo


>      Scope (\_SB)
>      {
>          Device (PCI0.PRES)
> @@ -703,6 +708,28 @@ DefinitionBlock ("tests/acpi-test-data/pc/SSDT.aml", "SSDT", 1, "BOCHS ", "BXPCS
>                  DVNT (PCIU, One)
>                  DVNT (PCID, 0x03)
>              }
> +
> +            Device (VGEN)
> +            {
> +                Name (_HID, "QEMU0003")  // _HID: Hardware ID
> +                Name (_CID, "VM_Gen_Counter")  // _CID: Compatible ID
> +                Name (_DDN, "VM_Gen_Counter")  // _DDN: DOS Device Name
> +                Name (ADDR, Package (0x02)
> +                {
> +                    0xFEBF0000, 
> +                    Zero
> +                })
> +                Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
> +                {
> +                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
> +                        0x0000000000000000, // Granularity
> +                        0x00000000FEBF0000, // Range Minimum
> +                        0x00000000FEBF0FFF, // Range Maximum
> +                        0x0000000000000000, // Translation Offset
> +                        0x0000000000001000, // Length
> +                        ,, , AddressRangeMemory, TypeStatic)
> +                })
> +            }
>          }
>      }
>  }
> 
> 
> 'make V=1 check' doesn't show it since I've forgot to extend
> bios-tables-test with vmgenid variant, but it should be
> a separate patch anyway and I'd prefer to do it after
> I merge DSDT with SSDT, which will reduce number of
> test blobs we keep in tree along with other benefits.
> 
> On Tue, 19 Jan 2016 14:06:20 +0100
> Igor Mammedov <imammedo@redhat.com> wrote:
> 
>> It's respin of v14* series which uses a PCI BAR to map
>> VGID page in guest AS.
>>
>> Changes since v14:
>>   - statically reserve used BAR resources in SSDT, so
>>     that Windows won't claim them during PCI rebalancing
>>   - support VGID page in high mem in addition to low mem
>>   - add QMP/HMP interfaces to get/set VM Generation ID
>>   - do not consume a PCI slot by default and attach
>>     vmgenid device as a function of multifuction
>>     ISA bridge.
>>   - allow only one vmgenid device instance
>>
>>
>> Tested with WS2012R2x64.
>> Git tree for testing:
>> https://github.com/imammedo/qemu.git vmgenid_v17
>>
>> * v14, https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg00530.html
>>
>> Gal Hammer (1):
>>   docs: vm generation id device's description
>>
>> Igor Mammedov (8):
>>   acpi: extend ACPI interface to provide access to ACPI registers and
>>     SCI irq
>>   pc: add a Virtual Machine Generation ID device
>>   tests: add a unit test for the vmgenid device.
>>   qmp/hmp: add query-vm-generation-id and 'info vm-generation-id'
>>     commands
>>   qmp/hmp: add set-vm-generation-id commands
>>   add MachineClass->default_props for setting default device properties
>>   pc: put PIIX3 in slot 1 explicitly and cleanup functions assignment
>>   pc/q53: by default put vmgenid device as an function of ISA bridge
>>
>>  default-configs/i386-softmmu.mak     |   1 +
>>  default-configs/x86_64-softmmu.mak   |   1 +
>>  docs/specs/pci-ids.txt               |   1 +
>>  docs/specs/vmgenid.txt               |  36 +++++++
>>  hmp-commands-info.hx                 |  13 +++
>>  hmp-commands.hx                      |  13 +++
>>  hmp.c                                |  21 ++++
>>  hmp.h                                |   2 +
>>  hw/acpi/piix4.c                      |  17 ++++
>>  hw/i386/acpi-build.c                 |  56 ++++++++++-
>>  hw/i386/pc_piix.c                    |  29 ++++--
>>  hw/i386/pc_q35.c                     |  12 +++
>>  hw/isa/lpc_ich9.c                    |  16 +++
>>  hw/isa/vt82c686.c                    |  19 ++++
>>  hw/misc/Makefile.objs                |   1 +
>>  hw/misc/vmgenid.c                    | 183 +++++++++++++++++++++++++++++++++++
>>  hw/pci-host/piix.c                   |   9 +-
>>  include/hw/acpi/acpi.h               |   1 +
>>  include/hw/acpi/acpi_dev_interface.h |   9 ++
>>  include/hw/boards.h                  |   1 +
>>  include/hw/i386/ich9.h               |   3 +-
>>  include/hw/i386/pc.h                 |   9 +-
>>  include/hw/misc/vmgenid.h            |  27 ++++++
>>  include/hw/pci/pci.h                 |   1 +
>>  qapi-schema.json                     |  18 ++++
>>  qmp-commands.hx                      |  41 ++++++++
>>  stubs/Makefile.objs                  |   1 +
>>  stubs/vmgenid.c                      |  13 +++
>>  tests/Makefile                       |   2 +
>>  tests/vmgenid-test.c                 |  92 ++++++++++++++++++
>>  vl.c                                 |   4 +
>>  31 files changed, 636 insertions(+), 16 deletions(-)
>>  create mode 100644 docs/specs/vmgenid.txt
>>  create mode 100644 hw/misc/vmgenid.c
>>  create mode 100644 include/hw/misc/vmgenid.h
>>  create mode 100644 stubs/vmgenid.c
>>  create mode 100644 tests/vmgenid-test.c
>>
> 

  reply	other threads:[~2016-01-19 16:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-19 13:06 [Qemu-devel] [PATCH v17 0/9] Virtual Machine Generation ID Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 1/9] acpi: extend ACPI interface to provide access to ACPI registers and SCI irq Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 2/9] docs: vm generation id device's description Igor Mammedov
2016-01-20 16:40   ` Eric Blake
2016-01-21 12:43     ` Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 3/9] pc: add a Virtual Machine Generation ID device Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 4/9] tests: add a unit test for the vmgenid device Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 5/9] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands Igor Mammedov
2016-01-20 16:44   ` Eric Blake
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 6/9] qmp/hmp: add set-vm-generation-id commands Igor Mammedov
2016-01-20 16:48   ` Eric Blake
2016-01-21 12:46     ` Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 7/9] add MachineClass->default_props for setting default device properties Igor Mammedov
2016-01-23 14:59   ` Eduardo Habkost
2016-01-26 10:28     ` Igor Mammedov
2016-01-26 14:12       ` Eduardo Habkost
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 8/9] pc: put PIIX3 in slot 1 explicitly and cleanup functions assignment Igor Mammedov
2016-01-19 13:06 ` [Qemu-devel] [PATCH v17 9/9] pc/q53: by default put vmgenid device as an function of ISA bridge Igor Mammedov
2016-01-19 14:48 ` [Qemu-devel] [PATCH v17 0/9] Virtual Machine Generation ID Igor Mammedov
2016-01-19 16:49   ` Laszlo Ersek [this message]
2016-01-20  9:18     ` Igor Mammedov
2016-01-20 14:20       ` Laszlo Ersek
2016-01-21 13:08         ` Igor Mammedov

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=569E691A.3030500@redhat.com \
    --to=lersek@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=ghammer@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=mst@redhat.com \
    --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 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.