qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 3c0c47: spapr: Correctly set query_hotpluggab


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 3c0c47: spapr: Correctly set query_hotpluggable_cpus hook ...
Date: Mon, 08 Aug 2016 05:00:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3c0c47e3464f3c54bd3f1cc6d4da2cbf7465e295
      
https://github.com/qemu/qemu/commit/3c0c47e3464f3c54bd3f1cc6d4da2cbf7465e295
  Author: David Gibson <address@hidden>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr.h

  Log Message:
  -----------
  spapr: Correctly set query_hotpluggable_cpus hook based on machine version

Prior to c8721d3 "spapr: Error out when CPU hotplug is attempted on older
pseries machines", attempting to use query-hotpluggable-cpus on pseries-2.6
and earlier machine types would SEGV.

That change fixed that, but due to some unexpected interactions in init
order and a brown-paper-bag worthy failure to test, it accidentally
disabled query-hotpluggable-cpus for all pseries machine types, including
the current one which should allow it.

In fact, query_hotpluggable_cpus needs to be non-NULL when and only when
the dr_cpu_enabled flag in sPAPRMachineClass is set, which makes
dr_cpu_enabled itself redundant.

This patch removes dr_cpu_enabled, instead directly setting
query_hotpluggable_cpus from the machine class_init functions, and using
that to determine the availability of CPU hotplug when necessary.

Signed-off-by: David Gibson <address@hidden>


  Commit: 16275edb342342625cd7e7ac2048436474465b50
      
https://github.com/qemu/qemu/commit/16275edb342342625cd7e7ac2048436474465b50
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M hw/ide/macio.c

  Log Message:
  -----------
  macio: set res_count value to 0 after non-block ATAPI DMA transfers

res_count should be set to the number of outstanding bytes after a DBDMA
request. Unfortunately this wasn't being set to zero by the non-block
transfer codepath meaning drivers that checked the descriptor result for
such requests (e.g reading the CDROM TOC) would assume from a non-zero result
that the transfer had failed.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 57c0eb1e0d6d8f01550d10cf08747f25cd537777
      
https://github.com/qemu/qemu/commit/57c0eb1e0d6d8f01550d10cf08747f25cd537777
  Author: David Gibson <address@hidden>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M hw/ppc/spapr_iommu.c

  Log Message:
  -----------
  spapr: Fix undefined behaviour in spapr_tce_reset()

When a TCE table (sPAPR IOMMU context) is in disabled state (which is true
by default for the 64-bit window), it has tcet->nb_table == 0 and
tcet->table == NULL.  However, on system reset, spapr_tce_reset() executes,
which unconditionally calls
  memset(tcet->table, 0, table_size);

We get away with this in practice, because it's a zero length memset(),
but memset() on a NULL pointer is undefined behaviour, so we should not
call it in this case.

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


  Commit: cbda16c010a2e1e7cd6e5441cef87663fbe1ef75
      
https://github.com/qemu/qemu/commit/cbda16c010a2e1e7cd6e5441cef87663fbe1ef75
  Author: Peter Maydell <address@hidden>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M hw/ide/macio.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_iommu.c
    M include/hw/ppc/spapr.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160808' into 
staging

ppc patch queue 2016-08-08

This batch has several last minute bug fixes to be merged for
qemu-2.7.

# gpg: Signature made Mon 08 Aug 2016 03:40:58 BST
# gpg:                using RSA key 0x6C38CACA20D9B392
# gpg: Good signature from "David Gibson <address@hidden>"
# gpg:                 aka "David Gibson (Red Hat) <address@hidden>"
# gpg:                 aka "David Gibson (ozlabs.org) <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-2.7-20160808:
  spapr: Fix undefined behaviour in spapr_tce_reset()
  macio: set res_count value to 0 after non-block ATAPI DMA transfers
  spapr: Correctly set query_hotpluggable_cpus hook based on machine version

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


Compare: https://github.com/qemu/qemu/compare/cf5198d58088...cbda16c010a2

reply via email to

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