Message ID | 20190821163341.16309-1-damien.hedde@greensocs.com (mailing list archive) |
---|---|
Headers | show |
Series | Multi-phase reset mechanism | expand |
Patchew URL: https://patchew.org/QEMU/20190821163341.16309-1-damien.hedde@greensocs.com/ Hi, This series seems to have some coding style problems. See output below for more information: Type: series Subject: [Qemu-devel] [PATCH v4 00/10] Multi-phase reset mechanism Message-id: 20190821163341.16309-1-damien.hedde@greensocs.com === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/20190821163341.16309-1-damien.hedde@greensocs.com -> patchew/20190821163341.16309-1-damien.hedde@greensocs.com Submodule 'capstone' (https://git.qemu.org/git/capstone.git) registered for path 'capstone' Submodule 'dtc' (https://git.qemu.org/git/dtc.git) registered for path 'dtc' Submodule 'roms/QemuMacDrivers' (https://git.qemu.org/git/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers' Submodule 'roms/SLOF' (https://git.qemu.org/git/SLOF.git) registered for path 'roms/SLOF' Submodule 'roms/edk2' (https://git.qemu.org/git/edk2.git) registered for path 'roms/edk2' Submodule 'roms/ipxe' (https://git.qemu.org/git/ipxe.git) registered for path 'roms/ipxe' Submodule 'roms/openbios' (https://git.qemu.org/git/openbios.git) registered for path 'roms/openbios' Submodule 'roms/openhackware' (https://git.qemu.org/git/openhackware.git) registered for path 'roms/openhackware' Submodule 'roms/opensbi' (https://git.qemu.org/git/opensbi.git) registered for path 'roms/opensbi' Submodule 'roms/qemu-palcode' (https://git.qemu.org/git/qemu-palcode.git) registered for path 'roms/qemu-palcode' Submodule 'roms/seabios' (https://git.qemu.org/git/seabios.git/) registered for path 'roms/seabios' Submodule 'roms/seabios-hppa' (https://git.qemu.org/git/seabios-hppa.git) registered for path 'roms/seabios-hppa' Submodule 'roms/sgabios' (https://git.qemu.org/git/sgabios.git) registered for path 'roms/sgabios' Submodule 'roms/skiboot' (https://git.qemu.org/git/skiboot.git) registered for path 'roms/skiboot' Submodule 'roms/u-boot' (https://git.qemu.org/git/u-boot.git) registered for path 'roms/u-boot' Submodule 'roms/u-boot-sam460ex' (https://git.qemu.org/git/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex' Submodule 'slirp' (https://git.qemu.org/git/libslirp.git) registered for path 'slirp' Submodule 'tests/fp/berkeley-softfloat-3' (https://git.qemu.org/git/berkeley-softfloat-3.git) registered for path 'tests/fp/berkeley-softfloat-3' Submodule 'tests/fp/berkeley-testfloat-3' (https://git.qemu.org/git/berkeley-testfloat-3.git) registered for path 'tests/fp/berkeley-testfloat-3' Submodule 'ui/keycodemapdb' (https://git.qemu.org/git/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into 'capstone'... Submodule path 'capstone': checked out '22ead3e0bfdb87516656453336160e0a37b066bf' Cloning into 'dtc'... Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536' Cloning into 'roms/QemuMacDrivers'... Submodule path 'roms/QemuMacDrivers': checked out '90c488d5f4a407342247b9ea869df1c2d9c8e266' Cloning into 'roms/SLOF'... Submodule path 'roms/SLOF': checked out '7bfe584e321946771692711ff83ad2b5850daca7' Cloning into 'roms/edk2'... Submodule path 'roms/edk2': checked out '20d2e5a125e34fc8501026613a71549b2a1a3e54' Submodule 'SoftFloat' (https://github.com/ucb-bar/berkeley-softfloat-3.git) registered for path 'ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' Submodule 'CryptoPkg/Library/OpensslLib/openssl' (https://github.com/openssl/openssl) registered for path 'CryptoPkg/Library/OpensslLib/openssl' Cloning into 'ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3'... Submodule path 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037' Cloning into 'CryptoPkg/Library/OpensslLib/openssl'... Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl': checked out '50eaac9f3337667259de725451f201e784599687' Submodule 'boringssl' (https://boringssl.googlesource.com/boringssl) registered for path 'boringssl' Submodule 'krb5' (https://github.com/krb5/krb5) registered for path 'krb5' Submodule 'pyca.cryptography' (https://github.com/pyca/cryptography.git) registered for path 'pyca-cryptography' Cloning into 'boringssl'... Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl': checked out '2070f8ad9151dc8f3a73bffaa146b5e6937a583f' Cloning into 'krb5'... Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5': checked out 'b9ad6c49505c96a088326b62a52568e3484f2168' Cloning into 'pyca-cryptography'... Submodule path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography': checked out '09403100de2f6f1cdd0d484dcb8e620f1c335c8f' Cloning into 'roms/ipxe'... Submodule path 'roms/ipxe': checked out 'de4565cbe76ea9f7913a01f331be3ee901bb6e17' Cloning into 'roms/openbios'... Submodule path 'roms/openbios': checked out 'c79e0ecb84f4f1ee3f73f521622e264edd1bf174' Cloning into 'roms/openhackware'... Submodule path 'roms/openhackware': checked out 'c559da7c8eec5e45ef1f67978827af6f0b9546f5' Cloning into 'roms/opensbi'... Submodule path 'roms/opensbi': checked out 'ce228ee0919deb9957192d723eecc8aaae2697c6' Cloning into 'roms/qemu-palcode'... Submodule path 'roms/qemu-palcode': checked out 'bf0e13698872450164fa7040da36a95d2d4b326f' Cloning into 'roms/seabios'... Submodule path 'roms/seabios': checked out 'a5cab58e9a3fb6e168aba919c5669bea406573b4' Cloning into 'roms/seabios-hppa'... Submodule path 'roms/seabios-hppa': checked out '0f4fe84658165e96ce35870fd19fc634e182e77b' Cloning into 'roms/sgabios'... Submodule path 'roms/sgabios': checked out 'cbaee52287e5f32373181cff50a00b6c4ac9015a' Cloning into 'roms/skiboot'... Submodule path 'roms/skiboot': checked out '261ca8e779e5138869a45f174caa49be6a274501' Cloning into 'roms/u-boot'... Submodule path 'roms/u-boot': checked out 'd3689267f92c5956e09cc7d1baa4700141662bff' Cloning into 'roms/u-boot-sam460ex'... Submodule path 'roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588' Cloning into 'slirp'... Submodule path 'slirp': checked out '126c04acbabd7ad32c2b018fe10dfac2a3bc1210' Cloning into 'tests/fp/berkeley-softfloat-3'... Submodule path 'tests/fp/berkeley-softfloat-3': checked out 'b64af41c3276f97f0e181920400ee056b9c88037' Cloning into 'tests/fp/berkeley-testfloat-3'... Submodule path 'tests/fp/berkeley-testfloat-3': checked out '5a59dcec19327396a011a17fd924aed4fec416b3' Cloning into 'ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' Switched to a new branch 'test' 89a6fbd docs/devel/reset.txt: add documentation about warm reset e23e78e hw/core/: add warm reset helpers for devices and buses 02fd837 hw/core/resettable: add support for warm reset 015bdfc hw/core/qdev: replace deprecated device_legacy_reset when hotplugging device 2467320 hw/s390x/ipl.c: replace deprecated qbus_reset_all registration 52a1958 vl.c: replace deprecated qbus_reset_all registration 335ff4c docs/devel/reset.txt: create doc about Resettable interface 9b58ee1 hw/core: add Resettable interface in Bus and Device classes aa62637 hw/core: create Resettable QOM interface 6336094 add device_legacy_reset function to prepare for reset api change === OUTPUT BEGIN === 1/10 Checking commit 6336094315df (add device_legacy_reset function to prepare for reset api change) 2/10 Checking commit aa62637a8f9b (hw/core: create Resettable QOM interface) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #62: new file mode 100644 total: 0 errors, 1 warnings, 395 lines checked Patch 2/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 3/10 Checking commit 9b58ee15ffc4 (hw/core: add Resettable interface in Bus and Device classes) 4/10 Checking commit 335ff4c97c54 (docs/devel/reset.txt: create doc about Resettable interface) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #14: new file mode 100644 total: 0 errors, 1 warnings, 237 lines checked Patch 4/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 5/10 Checking commit 52a19580dc1c (vl.c: replace deprecated qbus_reset_all registration) 6/10 Checking commit 246732015660 (hw/s390x/ipl.c: replace deprecated qbus_reset_all registration) 7/10 Checking commit 015bdfcc4bf7 (hw/core/qdev: replace deprecated device_legacy_reset when hotplugging device) 8/10 Checking commit 02fd837431e5 (hw/core/resettable: add support for warm reset) 9/10 Checking commit e23e78e680c6 (hw/core/: add warm reset helpers for devices and buses) ERROR: return is not a function, parentheses are not required #34: FILE: hw/core/bus.c:90: + return (cur_type & type); ERROR: return is not a function, parentheses are not required #61: FILE: hw/core/qdev.c:297: + return (cur_type & type); total: 2 errors, 0 warnings, 95 lines checked Patch 9/10 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 10/10 Checking commit 89a6fbdf06e7 (docs/devel/reset.txt: add documentation about warm reset) === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20190821163341.16309-1-damien.hedde@greensocs.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
ping ! Any comments ? Thanks, Damien On 8/21/19 6:33 PM, Damien Hedde wrote: > Hi all, > > Here's the 4th version of the multi-phase reset proposal patches. > Previous version can be found here: > https://lists.gnu.org/archive/html/qemu-devel/2019-07/msg06365.html > > The purpose of this series is to split the current reset procedure into > multiple phases. This will help to solve some ordering difficulties we have > during reset. Please see patch 4 which adds documentation for more details. > > Compared to previous version, I've reduced the scope of the series to > multi-phase basics. In particular, I've removed migration-related features > which can be added and discussed later when we've settled the api. I've also > not included the change to the new api for the ~20 impacted files because it > highly depends on whether we handle cold vs warm reset difference or not. I'll > handle them when we'll advance on this point. > > I've isolated in patch 2 to 4, the multi-phase base mechanism handling only > cold reset as suggested by David. > Patches 5 and 6 do trivial modifications related to the registration of reset > handler in the main system reset. > Patch 7 handles the hotplug device reset case. > These first 7 patches form a multi-phase basics independent subset; the first 6 > do not modify the behavior. I'd really like to move forward on them as we have > things depending on the basic multi-phase capability only (in particular the > clock-tree support). > > Nevertheless I've kept in this series the addition of warm reset (in patches 8 > to 10) so we can continue the discussion. Even if we don't introduce warm > reset, it allows discussion about multiple reset type support. > Maybe I should have put these 3 patches in their own (rfc ?) series, since > there was lot of questioning about the warm reset and talking about handling > other resets like bus specific ones. > > I've tested that the actual reset order was not modified by these patches by > tracing calls to individual reset method after and before applying the series. > > > Changes v3 -> v4 > general: > + various comments and typos > patch 1: add device_legacy_reset function to prepare for reset api change > + squash of 2 patches from v3 (asked by Peter and David) > patch 2: Create Resettable QOM interface > + ResetType enum (only cold for now) (David and Philippe's remark) > + ResetState to factorize most of the code (to address David's concern) > + all phases order is now children-to-parent (Peter's remark) > + assert/deassert removed to isolate migration related features > patch 3: add Resettable interface in Bus and Device classes > + squash of 2 patches (make Device and Bus Resettable & switch to > resettable api) since patch 2 has reduced their size. > + adaptation to patch 2 changes (warm reset, state and methods) > + isolate hotplug reset change into patch 7 (Peter's remark) > + fix qdev/qbus_reset_not doing a cold reset (Peter's remark) > + call helper device_reset_cold instead of device_reset (David's remark) > patch 4: docs/devel/reset.txt: create doc about Resettable interface > + various improvements > + in this patch, doc is reduced to cold multi-phase reset with no "in reset" > state (other parts are kept for following commits) > patch 5: vl.c: replace deprecated qbus_reset_all registration > + suggested comment improvement from Peter > patch 6: hw/s390x/ipl.c: replace deprecated qbus_reset_all registration > + suggested comment improvement from Peter > > Thanks for your feedback, > Damien > > Damien Hedde (10): > add device_legacy_reset function to prepare for reset api change > hw/core: create Resettable QOM interface > hw/core: add Resettable interface in Bus and Device classes > docs/devel/reset.txt: create doc about Resettable interface > vl.c: replace deprecated qbus_reset_all registration > hw/s390x/ipl.c: replace deprecated qbus_reset_all registration > hw/core/qdev: replace deprecated device_legacy_reset when hotplugging > device > hw/core/resettable: add support for warm reset > hw/core/: add warm reset helpers for devices and buses > docs/devel/reset.txt: add documentation about warm reset > > Makefile.objs | 1 + > docs/devel/reset.txt | 284 +++++++++++++++++++++++++++++++++++++++ > hw/audio/intel-hda.c | 2 +- > hw/core/Makefile.objs | 1 + > hw/core/bus.c | 64 +++++++++ > hw/core/qdev.c | 86 +++++++++--- > hw/core/resettable.c | 199 +++++++++++++++++++++++++++ > hw/core/trace-events | 36 +++++ > hw/hyperv/hyperv.c | 2 +- > hw/i386/pc.c | 2 +- > hw/ide/microdrive.c | 8 +- > hw/intc/spapr_xive.c | 2 +- > hw/ppc/pnv_psi.c | 2 +- > hw/ppc/spapr_pci.c | 2 +- > hw/ppc/spapr_vio.c | 2 +- > hw/s390x/ipl.c | 10 +- > hw/s390x/s390-pci-inst.c | 2 +- > hw/scsi/vmw_pvscsi.c | 2 +- > hw/sd/omap_mmc.c | 2 +- > hw/sd/pl181.c | 2 +- > include/hw/qdev-core.h | 100 +++++++++++++- > include/hw/resettable.h | 171 +++++++++++++++++++++++ > tests/Makefile.include | 1 + > vl.c | 10 +- > 24 files changed, 949 insertions(+), 44 deletions(-) > create mode 100644 docs/devel/reset.txt > create mode 100644 hw/core/resettable.c > create mode 100644 hw/core/trace-events > create mode 100644 include/hw/resettable.h >