qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] f77543: x86: add AVX512_VPOPCNTDQ features


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] f77543: x86: add AVX512_VPOPCNTDQ features
Date: Tue, 24 Jan 2017 09:00:22 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: f77543772dcd38fa438470d9b80bafbd3a3ebbd7
      
https://github.com/qemu/qemu/commit/f77543772dcd38fa438470d9b80bafbd3a3ebbd7
  Author: He Chen <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h

  Log Message:
  -----------
  x86: add AVX512_VPOPCNTDQ features

AVX512_VPOPCNTDQ: Vector POPCNT instructions for word and qwords.
variable precision.

Signed-off-by: He Chen <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 2a923a293df95334fa22634016efdd138f49da7f
      
https://github.com/qemu/qemu/commit/2a923a293df95334fa22634016efdd138f49da7f
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Remove AMD feature flag aliases from Opteron models

When CPU vendor is set to AMD, the AMD feature alias bits on
CPUID[0x80000001].EDX are already automatically copied from CPUID[1].EDX
on x86_cpu_realizefn(). When CPU vendor is Intel, those bits are
reserved and should be zero. On either case, those bits shouldn't be set
in the CPU model table.

Commit 726a8ff68677d8d5fba17eb0ffb85076bfb598dc removed those
bits from most CPU models, but the Opteron_* entries still have
them. Remove the alias bits from Opteron_* too.

Add an assert() to x86_register_cpudef_type() to ensure we don't
make the same mistake again.

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: bd72159db41d3d3c5f9afb1671d0320a77167569
      
https://github.com/qemu/qemu/commit/bd72159db41d3d3c5f9afb1671d0320a77167569
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M target/i386/cpu-qom.h
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Return migration-safe field on query-cpu-definitions

Return the migration-safe field on query-cpu-definitions. All CPU
models in x86 are migration-safe except "host".

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Acked-by: David Hildenbrand <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 9c6703fe82b29909cf2cf35b192892327841f71a
      
https://github.com/qemu/qemu/commit/9c6703fe82b29909cf2cf35b192892327841f71a
  Author: Dou Liyang <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Ensure the numa_post_machine_init func in the appropriate location

In the numa_post_machine_init(), we use CPU_FOREACH macro to set all
CPUs' namu_node. So, we should make sure that we call it after Qemu
has already initialied all the CPUs.

As we all know, the CPUs can be created by "-smp"(pc_new_cpu) or
"-device"(qdev_device_add) command. But, before the device init,
Qemu execute the numa_post_machine_init earlier. It makes the mapping
of NUMA nodes and CPUs incorrect.

The patch move the numa_post_machine_init func in the appropriate
location.

Signed-off-by: Dou Liyang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 726401be06c95cd66c91a60c702a524fdd1b6e9d
      
https://github.com/qemu/qemu/commit/726401be06c95cd66c91a60c702a524fdd1b6e9d
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M arch_init.c
    M include/qemu/config-file.h
    M vl.c

  Log Message:
  -----------
  arch_init: Remove unnecessary default_config_files table

The existing default_config_files table in arch_init.c has a
single entry, making it completely unnecessary. The whole code
can be replaced by a single qemu_read_config_file() call in vl.c.

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: f2098f483589ed894f732acab0dde48c8822a5ac
      
https://github.com/qemu/qemu/commit/f2098f483589ed894f732acab0dde48c8822a5ac
  Author: Igor Mammedov <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: cleanup: move smbios_set_cpuid() into pc_build_smbios()

move smbios_set_cpuid() close to the rest of smbios init code
where it belongs to instead of calling it from pc_cpus_init().

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 074281d62e62f3efab3b71161e9f0a5e8aebb0b3
      
https://github.com/qemu/qemu/commit/074281d62e62f3efab3b71161e9f0a5e8aebb0b3
  Author: Igor Mammedov <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: don't return cpu pointer from pc_new_cpu() as it's not needed anymore

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 80e5db303dc82e357df923dc2bfcb858c20282a0
      
https://github.com/qemu/qemu/commit/80e5db303dc82e357df923dc2bfcb858c20282a0
  Author: Igor Mammedov <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M hw/acpi/cpu.c
    M hw/acpi/cpu_hotplug.c
    M hw/i386/acpi-build.c
    M hw/i386/pc.c
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/boards.h
    M include/hw/i386/pc.h
    M stubs/pc_madt_cpu_entry.c

  Log Message:
  -----------
  machine: Make possible_cpu_arch_ids() return const pointer

make sure that external callers won't try to modify
possible_cpus and owner of possible_cpus can access
it directly when it modifies it.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: c1629c5ce3a23053abcfaf7760356b214a750e3c
      
https://github.com/qemu/qemu/commit/c1629c5ce3a23053abcfaf7760356b214a750e3c
  Author: Thomas Huth <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add an entry for hw/core/null-machine.c

The "Machine core" section sounds like a good match for this file.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: e0ee9fd0bd8544e65f978f78162048b68cfde514
      
https://github.com/qemu/qemu/commit/e0ee9fd0bd8544e65f978f78162048b68cfde514
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M qemu-options.hx

  Log Message:
  -----------
  qemu-options: Rename variables on the -numa "cpus" option

Use @var{firstcpu} and @var{lastcpu} to make the metasyntatic
variables a bit clearer. While doing this, use @var only around
the metasyntatic variables, not including the square brackets and
hyphen.

The semantics of the "cpus" option will be clarified by rewriting
the whole -numa documentation in a follow-up patch.

Reported-by: Peter Maydell <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 3964ec6c0b49e4c2fa3e48fdbbb7d8ff0c1cb00b
      
https://github.com/qemu/qemu/commit/3964ec6c0b49e4c2fa3e48fdbbb7d8ff0c1cb00b
  Author: Thomas Huth <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M hw/core/Makefile.objs
    M hw/core/null-machine.c

  Log Message:
  -----------
  hw/core/null-machine: Add the possibility to instantiate a CPU and RAM

Sometimes it is useful to have just a machine with CPU and RAM, without
any further hardware in it, e.g. if you just want to do some instruction
debugging for TCG with a remote GDB attached to QEMU, or run some embedded
code with the "-semihosting" QEMU parameter. qemu-system-m68k already
features a "dummy" machine, and xtensa a "sim" machine for exactly this
purpose.
All target architectures have nowadays also a "none" machine, which would
be a perfect match for this, too - but it currently does not allow to add
CPU and RAM yet. Thus let's add these possibilities in a generic way to the
"none" machine, too, so that we hopefully do not need additional "dummy"
machines in the future anymore (and maybe can also get rid of the already
existing "dummy"/"sim" machines one day).
Note that the default behaviour of the "none" machine is not changed, i.e.
no CPU and no RAM is instantiated by default. You have explicitely got to
specify the CPU model with "-cpu" and the amount of RAM with "-m" to get
these new features.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: d74460ec1bfaad740eee79bf7cb111b1125ffdef
      
https://github.com/qemu/qemu/commit/d74460ec1bfaad740eee79bf7cb111b1125ffdef
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  kvm: Simplify invtsc check

Instead of searching the table we have just built, we can check
the env->features field directly.

Reviewed-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: d99569d9d8562c480e0befab601756b0b7b5d0e0
      
https://github.com/qemu/qemu/commit/d99569d9d8562c480e0befab601756b0b7b5d0e0
  Author: Eduardo Habkost <address@hidden>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  kvm: Allow invtsc migration if tsc-khz is set explicitly

We can safely allow a VM to be migrated with invtsc enabled if
tsc-khz is set explicitly, because:
* QEMU already refuses to start if it can't set the TSC frequency
  to the configured value.
* Management software is already required to keep device
  configuration (including CPU configuration) the same on
  migration source and destination.

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: a678502e4f7580a6f143f680404aaee57ac3f4b5
      
https://github.com/qemu/qemu/commit/a678502e4f7580a6f143f680404aaee57ac3f4b5
  Author: Peter Maydell <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M MAINTAINERS
    M arch_init.c
    M hw/acpi/cpu.c
    M hw/acpi/cpu_hotplug.c
    M hw/core/Makefile.objs
    M hw/core/null-machine.c
    M hw/i386/acpi-build.c
    M hw/i386/pc.c
    M include/hw/acpi/acpi_dev_interface.h
    M include/hw/boards.h
    M include/hw/i386/pc.h
    M include/qemu/config-file.h
    M qemu-options.hx
    M stubs/pc_madt_cpu_entry.c
    M target/i386/cpu-qom.h
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging

x86, machine, numa queue (2017-01-23)

# gpg: Signature made Mon 23 Jan 2017 23:26:59 GMT
# gpg:                using RSA key 0x2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <address@hidden>"
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/x86-and-machine-pull-request:
  kvm: Allow invtsc migration if tsc-khz is set explicitly
  kvm: Simplify invtsc check
  hw/core/null-machine: Add the possibility to instantiate a CPU and RAM
  qemu-options: Rename variables on the -numa "cpus" option
  MAINTAINERS: Add an entry for hw/core/null-machine.c
  machine: Make possible_cpu_arch_ids() return const pointer
  pc: don't return cpu pointer from pc_new_cpu() as it's not needed anymore
  pc: cleanup: move smbios_set_cpuid() into pc_build_smbios()
  arch_init: Remove unnecessary default_config_files table
  vl: Ensure the numa_post_machine_init func in the appropriate location
  i386: Return migration-safe field on query-cpu-definitions
  i386: Remove AMD feature flag aliases from Opteron models
  x86: add AVX512_VPOPCNTDQ features

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/d5e85105f65e...a678502e4f75

reply via email to

[Prev in Thread] Current Thread [Next in Thread]