qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e2c959: pc: acpi: x2APIC support for MADT tab


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e2c959: pc: acpi: x2APIC support for MADT table and _MAT m...
Date: Tue, 25 Oct 2016 04:00:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e2c9593945879731f2f7ef1282520e5b94b251b5
      
https://github.com/qemu/qemu/commit/e2c9593945879731f2f7ef1282520e5b94b251b5
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/acpi/cpu.c
    M hw/i386/acpi-build.c
    M include/hw/acpi/acpi-defs.h

  Log Message:
  -----------
  pc: acpi: x2APIC support for MADT table and _MAT method

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


  Commit: 5eff33a2a10dd16ee336035f098fadf334cae6b1
      
https://github.com/qemu/qemu/commit/5eff33a2a10dd16ee336035f098fadf334cae6b1
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/acpi-build.c
    M include/hw/acpi/acpi-defs.h

  Log Message:
  -----------
  pc: acpi: x2APIC support for SRAT table

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


  Commit: f9dc175d84802e9a00161bc8d4356b90d6c52125
      
https://github.com/qemu/qemu/commit/f9dc175d84802e9a00161bc8d4356b90d6c52125
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/acpi/cpu_hotplug.c

  Log Message:
  -----------
  acpi: cphp: Force switch to modern cpu hotplug if APIC ID > 254

Switch to modern cpu hotplug at machine startup time if
a cpu present at boot has apic-id in range unsupported
by legacy cpu hotplug interface (i.e. > 254), to avoid
killing QEMU from legacy cpu hotplug code with error:
   "acpi: invalid cpu id: #apic-id#"

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


  Commit: 6a91cf04a1177f47a18d3c25873513a1ebfc2fcb
      
https://github.com/qemu/qemu/commit/6a91cf04a1177f47a18d3c25873513a1ebfc2fcb
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/acpi/cpu_hotplug.c
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: Leave max apic_id_limit only in legacy cpu hotplug code

That's enough to make old code that depends on it
to prevent QEMU starting with more than 255 CPUs.

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


  Commit: 33d7a288298f02df3eadd509735f0f75e3f80d73
      
https://github.com/qemu/qemu/commit/33d7a288298f02df3eadd509735f0f75e3f80d73
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/intc/apic_common.c
    M include/hw/i386/apic_internal.h
    M target-i386/cpu.c
    M target-i386/cpu.h

  Log Message:
  -----------
  pc: apic_common: Extend APIC ID property to 32bit

ACPI ID is 32 bit wide on CPUs with x2APIC support.
Extend 'id' property to support it.

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


  Commit: 4c34897aed0721ed6ea88168aa45579787534e25
      
https://github.com/qemu/qemu/commit/4c34897aed0721ed6ea88168aa45579787534e25
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/intc/apic_common.c

  Log Message:
  -----------
  pc: apic_common: Restore APIC ID to initial ID on reset

APIC ID should be restored to initial APIC ID
state after Reset and Power-On.

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


  Commit: facb07cd2a3d19ebe2e15380e906eed7d5f7063c
      
https://github.com/qemu/qemu/commit/facb07cd2a3d19ebe2e15380e906eed7d5f7063c
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/intc/apic_common.c

  Log Message:
  -----------
  pc: apic_common: Reset APIC ID to initial ID when switching into x2APIC mode

SDM: x2APIC State Transitions:
   State Changes From xAPIC Mode to x2APIC Mode
"
Any APIC ID value written to the memory-mapped
local APIC ID register is not preserved
"

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Radim Krčmář <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: e391c00970a3fe3448b78054fb917df751847b16
      
https://github.com/qemu/qemu/commit/e391c00970a3fe3448b78054fb917df751847b16
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/kvm/apic.c
    M target-i386/kvm.c
    M target-i386/kvm_i386.h

  Log Message:
  -----------
  pc: kvm_apic: Pass APIC ID depending on xAPIC/x2APIC mode

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Radim Krčmář <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: a3abd0f28eb863206b4466a5bb484eb0d4025819
      
https://github.com/qemu/qemu/commit/a3abd0f28eb863206b4466a5bb484eb0d4025819
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: Clarify FW_CFG_MAX_CPUS usage comment

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


  Commit: 079019f2e319bd1279681b6c1d7dde785d09e69e
      
https://github.com/qemu/qemu/commit/079019f2e319bd1279681b6c1d7dde785d09e69e
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/arm/virt.c
    M hw/ppc/spapr.c
    M include/sysemu/sysemu.h

  Log Message:
  -----------
  Increase MAX_CPUMASK_BITS from 255 to 288

so that it would be possible to increase maxcpus limit
for x86 target. Keep spapr/virt_arm at limit they used
to have 255.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 080ac219cc7d9c55adf925c3545b7450055ad625
      
https://github.com/qemu/qemu/commit/080ac219cc7d9c55adf925c3545b7450055ad625
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/pc.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pc: Add 'etc/boot-cpus' fw_cfg file for machine with more than 255 CPUs

Currently firmware uses 1 byte at 0x5F offset in RTC CMOS
to get number of CPUs present at boot. However 1 byte is
not enough to handle more than 255 CPUs.  So add a new
fw_cfg file that would allow QEMU to tell it.
For compat reasons add file only for machine types that
support more than 255 CPUs.

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


  Commit: 60c5e1040ec2c26e8da4786f7f35fbe2a8b599d1
      
https://github.com/qemu/qemu/commit/60c5e1040ec2c26e8da4786f7f35fbe2a8b599d1
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: Require IRQ remapping and EIM if there could be x2APIC CPUs

It would prevent starting guest with incorrect configs
where interrupts couldn't be delivered to CPUs with
APIC IDs > 255.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Radim Krčmář <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 00d0f9fd6602a27b204f672ef5bc8e69736c7ff1
      
https://github.com/qemu/qemu/commit/00d0f9fd6602a27b204f672ef5bc8e69736c7ff1
  Author: Igor Mammedov <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  pc: q35: Bump max_cpus to 288

Along with it for machine versions 2.7 and older keep
it at 255.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Radim Krčmář <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 39e329e341da375b8d66444ffe93c79d7a883350
      
https://github.com/qemu/qemu/commit/39e329e341da375b8d66444ffe93c79d7a883350
  Author: Laurent Vivier <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M exec.c
    M include/qom/cpu.h
    M qom/cpu.c

  Log Message:
  -----------
  exec: split cpu_exec_init()

Put in cpu_exec_initfn() what initializes the CPU,
and leave in cpu_exec_init() what adds it to the environment.

As cpu_exec_initfn() is called by all XX_cpu_initfn(), call it
directly in cpu_common_initfn().
cpu_exec_init() is now a realize function, it will be renamed
to cpu_exec_realizefn() and moved to the XX_cpu_realizefn()
function in a following patch.

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: ce5b1bbf624b977a55ff7f85bb3871682d03baff
      
https://github.com/qemu/qemu/commit/ce5b1bbf624b977a55ff7f85bb3871682d03baff
  Author: Laurent Vivier <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M exec.c
    M include/exec/exec-all.h
    M include/qom/cpu.h
    M target-alpha/cpu.c
    M target-arm/cpu-qom.h
    M target-arm/cpu.c
    M target-cris/cpu.c
    M target-i386/cpu.c
    M target-lm32/cpu.c
    M target-m68k/cpu.c
    M target-microblaze/cpu.c
    M target-mips/cpu.c
    M target-moxie/cpu.c
    M target-openrisc/cpu.c
    M target-ppc/translate_init.c
    M target-s390x/cpu.c
    M target-sh4/cpu.c
    M target-sparc/cpu.c
    M target-tilegx/cpu.c
    M target-tricore/cpu.c
    M target-unicore32/cpu.c
    M target-xtensa/cpu.c

  Log Message:
  -----------
  exec: move cpu_exec_init() calls to realize functions

Modify all CPUs to call it from XXX_cpu_realizefn() function.

Remove all the cannot_destroy_with_object_finalize_yet as
unsafe references have been moved to cpu_exec_realizefn().
(tested with QOM command provided by commit 4c315c27)

for arm:

Setting of cpu->mp_affinity is moved from arm_cpu_initfn()
to arm_cpu_realizefn() as setting of cpu_index is now done
in cpu_exec_realizefn(). To avoid to overwrite an user defined
value, we set it to an invalid value by default, and update
it in realize function only if the value is still invalid.

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Andrew Jones <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 7bbc124e7e8fb544288ccd1f5185643a7d0554b8
      
https://github.com/qemu/qemu/commit/7bbc124e7e8fb544288ccd1f5185643a7d0554b8
  Author: Laurent Vivier <address@hidden>
  Date:   2016-10-24 (Mon, 24 Oct 2016)

  Changed paths:
    M exec.c
    M include/qom/cpu.h
    M qom/cpu.c
    M target-i386/cpu-qom.h
    M target-i386/cpu.c
    M target-ppc/cpu-qom.h
    M target-ppc/translate_init.c

  Log Message:
  -----------
  exec: call cpu_exec_exit() from a CPU unrealize common function

As cpu_exec_exit() mirrors the cpu_exec_realizefn(),
rename it as cpu_exec_unrealizefn().

Create and register a cpu_common_unrealizefn() function for
the CPU device class and call cpu_exec_unrealizefn() from
this function.

Remove cpu_exec_exit() from cpu_common_finalize()
(which mirrors init, not realize), and as x86_cpu_unrealizefn()
and ppc_cpu_unrealizefn() overwrite the device class unrealize function,
add a call to a parent_unrealize pointer.

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: c43e853afecc7bbe4b24aabdf109b4abd63f7054
      
https://github.com/qemu/qemu/commit/c43e853afecc7bbe4b24aabdf109b4abd63f7054
  Author: Peter Maydell <address@hidden>
  Date:   2016-10-25 (Tue, 25 Oct 2016)

  Changed paths:
    M exec.c
    M hw/acpi/cpu.c
    M hw/acpi/cpu_hotplug.c
    M hw/arm/virt.c
    M hw/i386/acpi-build.c
    M hw/i386/kvm/apic.c
    M hw/i386/pc.c
    M hw/i386/pc_q35.c
    M hw/intc/apic_common.c
    M hw/ppc/spapr.c
    M include/exec/exec-all.h
    M include/hw/acpi/acpi-defs.h
    M include/hw/i386/apic_internal.h
    M include/hw/i386/pc.h
    M include/qom/cpu.h
    M include/sysemu/sysemu.h
    M qom/cpu.c
    M target-alpha/cpu.c
    M target-arm/cpu-qom.h
    M target-arm/cpu.c
    M target-cris/cpu.c
    M target-i386/cpu-qom.h
    M target-i386/cpu.c
    M target-i386/cpu.h
    M target-i386/kvm.c
    M target-i386/kvm_i386.h
    M target-lm32/cpu.c
    M target-m68k/cpu.c
    M target-microblaze/cpu.c
    M target-mips/cpu.c
    M target-moxie/cpu.c
    M target-openrisc/cpu.c
    M target-ppc/cpu-qom.h
    M target-ppc/translate_init.c
    M target-s390x/cpu.c
    M target-sh4/cpu.c
    M target-sparc/cpu.c
    M target-tilegx/cpu.c
    M target-tricore/cpu.c
    M target-unicore32/cpu.c
    M target-xtensa/cpu.c

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

x86 and CPU queue, 2016-10-24

x2APIC support to APIC code, cpu_exec_init() refactor on all
architectures, and other x86 changes.

# gpg: Signature made Mon 24 Oct 2016 20:51:14 BST
# 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-pull-request:
  exec: call cpu_exec_exit() from a CPU unrealize common function
  exec: move cpu_exec_init() calls to realize functions
  exec: split cpu_exec_init()
  pc: q35: Bump max_cpus to 288
  pc: Require IRQ remapping and EIM if there could be x2APIC CPUs
  pc: Add 'etc/boot-cpus' fw_cfg file for machine with more than 255 CPUs
  Increase MAX_CPUMASK_BITS from 255 to 288
  pc: Clarify FW_CFG_MAX_CPUS usage comment
  pc: kvm_apic: Pass APIC ID depending on xAPIC/x2APIC mode
  pc: apic_common: Reset APIC ID to initial ID when switching into x2APIC mode
  pc: apic_common: Restore APIC ID to initial ID on reset
  pc: apic_common: Extend APIC ID property to 32bit
  pc: Leave max apic_id_limit only in legacy cpu hotplug code
  acpi: cphp: Force switch to modern cpu hotplug if APIC ID > 254
  pc: acpi: x2APIC support for SRAT table
  pc: acpi: x2APIC support for MADT table and _MAT method

Conflicts:
        target-arm/cpu.c

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


Compare: https://github.com/qemu/qemu/compare/fe4c04071f70...c43e853afecc

reply via email to

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