qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 75b208: target/i386: fix operand order for PD


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 75b208: target/i386: fix operand order for PDEP and PEXT
Date: Fri, 11 Dec 2020 06:08:59 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 75b208c28316095c4685e8596ceb9e3f656592e2
      
https://github.com/qemu/qemu/commit/75b208c28316095c4685e8596ceb9e3f656592e2
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M target/i386/translate.c
    M tests/tcg/i386/Makefile.target
    A tests/tcg/i386/test-i386-bmi2.c

  Log Message:
  -----------
  target/i386: fix operand order for PDEP and PEXT

For PDEP and PEXT, the mask is provided in the memory (mod+r/m)
operand, and therefore is loaded in s->T0 by gen_ldst_modrm.
The source is provided in the second source operand (VEX.vvvv)
and therefore is loaded in s->T1.  Fix the order in which
they are passed to the helpers.

Reported-by: Lenard Szolnoki <blog@lenardszolnoki.com>
Analyzed-by: Lenard Szolnoki <blog@lenardszolnoki.com>
Fixes: https://bugs.launchpad.net/qemu/+bug/1605123
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c1bb5418e32ec70c72af332354b5963eab7a5579
      
https://github.com/qemu/qemu/commit/c1bb5418e32ec70c72af332354b5963eab7a5579
  Author: David Woodhouse <dwmw2@infradead.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/i386/kvm/apic.c
    M hw/i386/pc.c
    M include/standard-headers/asm-x86/kvm_para.h
    M target/i386/cpu.c
    M target/i386/kvm.c
    M target/i386/kvm_i386.h

  Log Message:
  -----------
  target/i386: Support up to 32768 CPUs without IRQ remapping

The IOAPIC has an 'Extended Destination ID' field in its RTE, which maps
to bits 11-4 of the MSI address. Since those address bits fall within a
given 4KiB page they were historically non-trivial to use on real hardware.

The Intel IOMMU uses the lowest bit to indicate a remappable format MSI,
and then the remaining 7 bits are part of the index.

Where the remappable format bit isn't set, we can actually use the other
seven to allow external (IOAPIC and MSI) interrupts to reach up to 32768
CPUs instead of just the 255 permitted on bare metal.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <78097f9218300e63e751e077a0a5ca029b56ba46.camel@infradead.org>
[Fix UBSAN warning. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Signed-off-by: David Woodhouse <dwmw2@infradead.org>


  Commit: c2ba0515f2df58a661fcb5d6485139877d92ab1b
      
https://github.com/qemu/qemu/commit/c2ba0515f2df58a661fcb5d6485139877d92ab1b
  Author: Bin Meng <bin.meng@windriver.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M target/i386/seg_helper.c

  Log Message:
  -----------
  target/i386: seg_helper: Correct segment selector nullification in the 
RET/IRET helper

Per the SDM, when returning to outer privilege level, for segment
registers (ES, FS, GS, and DS) if the check fails, the segment
selector becomes null, but QEMU clears the base/limit/flags as well
as nullifying the segment selector, which should be a spec violation.

Real hardware seems to be compliant with the spec, at least on one
Coffee Lake board I tested.

Signed-off-by: Bin Meng <bin.meng@windriver.com>

Message-Id: <1605261378-77971-1-git-send-email-bmeng.cn@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: faf20793b5af15ed4bea9c40dd8e6ae46d51be23
      
https://github.com/qemu/qemu/commit/faf20793b5af15ed4bea9c40dd8e6ae46d51be23
  Author: Sunil Muthuswamy <sunilmut@microsoft.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M MAINTAINERS
    M hw/i386/x86.c
    M include/sysemu/whpx.h
    M softmmu/cpus.c
    M softmmu/vl.c
    M target/i386/cpu.c
    M target/i386/meson.build
    M target/i386/whp-dispatch.h
    M target/i386/whpx-all.c
    A target/i386/whpx-apic.c

  Log Message:
  -----------
  WHPX: support for the kernel-irqchip on/off

This patch adds support the kernel-irqchip option for
WHPX with on or off value. 'split' value is not supported
for the option. The option only works for the latest version
of Windows (ones that are coming out on Insiders). The
change maintains backward compatibility on older version of
Windows where this option is not supported.

Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Message-Id: 
<SN4PR2101MB0880B13258DA9251F8459F4DC0170@SN4PR2101MB0880.namprd21.prod.outlook.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a6195b5b368865cab9200807763a9ad84d4eba64
      
https://github.com/qemu/qemu/commit/a6195b5b368865cab9200807763a9ad84d4eba64
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/devel/loads-stores.rst

  Log Message:
  -----------
  docs/devel/loads-stores: Add regexp for DMA functions

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-3-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 169cbac12d4fad5922619a0b64ad0aa66e9365a7
      
https://github.com/qemu/qemu/commit/169cbac12d4fad5922619a0b64ad0aa66e9365a7
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M qom/object.c

  Log Message:
  -----------
  qom: eliminate identical functions

Most property release functions in qom/object.c only free the opaque
value.  Combine all of them into a single function.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9c211ad2ca09f47dc5563107a66c84141c966b7a
      
https://github.com/qemu/qemu/commit/9c211ad2ca09f47dc5563107a66c84141c966b7a
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/dma.h

  Log Message:
  -----------
  dma: Document address_space_map/address_space_unmap() prototypes

Add documentation based on address_space_map / address_space_unmap.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-4-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bb755f52863ed4b7e841b3d610589eb77592611e
      
https://github.com/qemu/qemu/commit/bb755f52863ed4b7e841b3d610589eb77592611e
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/dma.h
    M softmmu/dma-helpers.c

  Log Message:
  -----------
  dma: Let dma_memory_set() propagate MemTxResult

address_space_write() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-5-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9989bcd337c4405b43295170bc93e29fa7523e75
      
https://github.com/qemu/qemu/commit/9989bcd337c4405b43295170bc93e29fa7523e75
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/dma.h

  Log Message:
  -----------
  dma: Let dma_memory_rw() propagate MemTxResult

address_space_rw() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-6-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b1f51303af2840e5b9042f6fbe811331759cb557
      
https://github.com/qemu/qemu/commit/b1f51303af2840e5b9042f6fbe811331759cb557
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/dma.h

  Log Message:
  -----------
  dma: Let dma_memory_read() propagate MemTxResult

dma_memory_rw_relaxed() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-7-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 77c71d1d7436a6b5418e5fa9703733188cb9e60b
      
https://github.com/qemu/qemu/commit/77c71d1d7436a6b5418e5fa9703733188cb9e60b
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/dma.h

  Log Message:
  -----------
  dma: Let dma_memory_write() propagate MemTxResult

dma_memory_rw_relaxed() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-8-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b73299d04dc2d2196f86be129ddca0242831d413
      
https://github.com/qemu/qemu/commit/b73299d04dc2d2196f86be129ddca0242831d413
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Let pci_dma_rw() propagate MemTxResult

dma_memory_rw() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-9-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c27f498237bdbdf956e815de77bf63b003355f7e
      
https://github.com/qemu/qemu/commit/c27f498237bdbdf956e815de77bf63b003355f7e
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Let pci_dma_read() propagate MemTxResult

pci_dma_rw() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-10-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 00b46eccffd3e74f24906e8d251861625fa3222c
      
https://github.com/qemu/qemu/commit/00b46eccffd3e74f24906e8d251861625fa3222c
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  pci: Let pci_dma_write() propagate MemTxResult

pci_dma_rw() returns a MemTxResult type.
Do not discard it, return it to the caller.

Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201023151923.3243652-11-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5ade579ba9ae81adcb36b0ff185ce13cc560ed01
      
https://github.com/qemu/qemu/commit/5ade579ba9ae81adcb36b0ff185ce13cc560ed01
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/ssi/aspeed_smc.c
    M include/hw/ssi/aspeed_smc.h

  Log Message:
  -----------
  hw/ssi/aspeed_smc: Rename 'max_slaves' variable as 'max_peripherals'

In order to use inclusive terminology, rename max_slaves
as max_peripherals.

Patch generated using:

  $ sed -i s/slave/peripheral/ \
        hw/ssi/aspeed_smc.c include/hw/ssi/aspeed_smc.h

One line in aspeed_smc_read() has been manually tweaked
to pass checkpatch.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201012124955.3409127-2-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9ce89a22aed41e8486dddb27fbeea9f182b90516
      
https://github.com/qemu/qemu/commit/9ce89a22aed41e8486dddb27fbeea9f182b90516
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/hw/ssi/ssi.h

  Log Message:
  -----------
  hw/ssi: Update coding style to make checkpatch.pl happy

To make the next commit easier to review, clean this code first.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201012124955.3409127-3-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ec7e429bd250ecfb6528e27eec58ea9ee47cd95d
      
https://github.com/qemu/qemu/commit/ec7e429bd250ecfb6528e27eec58ea9ee47cd95d
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/arm/spitz.c
    M hw/arm/stellaris.c
    M hw/arm/tosa.c
    M hw/arm/z2.c
    M hw/block/m25p80.c
    M hw/display/ads7846.c
    M hw/display/ssd0323.c
    M hw/misc/max111x.c
    M hw/sd/ssi-sd.c
    M hw/ssi/pl022.c
    M hw/ssi/ssi.c
    M hw/ssi/xilinx_spips.c
    M include/hw/misc/max111x.h
    M include/hw/ssi/ssi.h

  Log Message:
  -----------
  hw/ssi: Rename SSI 'slave' as 'peripheral'

In order to use inclusive terminology, rename SSI 'slave' as
'peripheral', following the specification resolution:
https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/

Patch created mechanically using:

  $ sed -i s/SSISlave/SSIPeripheral/ $(git grep -l SSISlave)
  $ sed -i s/SSI_SLAVE/SSI_PERIPHERAL/ $(git grep -l SSI_SLAVE)
  $ sed -i s/ssi-slave/ssi-peripheral/ $(git grep -l ssi-slave)
  $ sed -i s/ssi_slave/ssi_peripheral/ $(git grep -l ssi_slave)
  $ sed -i s/ssi_create_slave/ssi_create_peripheral/ \
                                $(git grep -l ssi_create_slave)

Then in VMStateDescription vmstate_ssi_peripheral we restored
the "SSISlave" migration stream name (to avoid breaking migration).

Finally the following files have been manually tweaked:
 - hw/ssi/pl022.c
 - hw/ssi/xilinx_spips.c

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201012124955.3409127-4-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cfbef3f4eb3816099bf573bdb238e4aad8803c4c
      
https://github.com/qemu/qemu/commit/cfbef3f4eb3816099bf573bdb238e4aad8803c4c
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/stream.c
    M hw/dma/xilinx_axidma.c
    M hw/net/xilinx_axienet.c
    M hw/ssi/xilinx_spips.c
    M include/hw/ssi/xilinx_spips.h
    M include/hw/stream.h

  Log Message:
  -----------
  hw/core/stream: Rename StreamSlave as StreamSink

In order to use inclusive terminology, rename 'slave stream'
as 'sink stream'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-Id: <20200910070131.435543-3-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 484f86de7e00ec2096d2d12388caf8009aaae3eb
      
https://github.com/qemu/qemu/commit/484f86de7e00ec2096d2d12388caf8009aaae3eb
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/dma/xilinx_axidma.c

  Log Message:
  -----------
  hw/dma/xilinx_axidma: Rename StreamSlave as StreamSink

In order to use inclusive terminology, rename 'slave stream'
as 'sink stream'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-Id: <20200910070131.435543-4-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 357088b1ed241566551631a89f55b7c30c4403d6
      
https://github.com/qemu/qemu/commit/357088b1ed241566551631a89f55b7c30c4403d6
  Author: Philippe Mathieu-Daudé <philmd@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/net/xilinx_axienet.c

  Log Message:
  -----------
  hw/net/xilinx_axienet: Rename StreamSlave as StreamSink

In order to use inclusive terminology, rename 'slave stream'
as 'sink stream'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-Id: <20200910070131.435543-5-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2c4a83eb82eabca549ae5b55342976e6fb200a0b
      
https://github.com/qemu/qemu/commit/2c4a83eb82eabca549ae5b55342976e6fb200a0b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/alpha/dp264.c

  Log Message:
  -----------
  alpha: remove bios_name

Cc: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201026143028.3034018-2-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0ad3b5d3ee312e893d92be2de4b7123e03e6119d
      
https://github.com/qemu/qemu/commit/0ad3b5d3ee312e893d92be2de4b7123e03e6119d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/arm/cubieboard.c
    M hw/arm/highbank.c
    M hw/arm/npcm7xx_boards.c
    M hw/arm/orangepi.c
    M hw/arm/sbsa-ref.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c

  Log Message:
  -----------
  arm: remove bios_name

Get the firmware name from the MachineState object.

Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-4-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b57e3e9785271a20b00f43d469b3011d0127e565
      
https://github.com/qemu/qemu/commit/b57e3e9785271a20b00f43d469b3011d0127e565
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/hppa/machine.c

  Log Message:
  -----------
  hppa: remove bios_name

Cc: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201026143028.3034018-5-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7d435078afa08eb136bdcdc4f199fd26ddbc353b
      
https://github.com/qemu/qemu/commit/7d435078afa08eb136bdcdc4f199fd26ddbc353b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/i386/microvm.c
    M hw/i386/pc_sysfw.c
    M hw/i386/x86.c
    M include/hw/i386/x86.h

  Log Message:
  -----------
  i386: remove bios_name

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-6-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a408b81b2c6de437db7d6bd4aa8189185608b705
      
https://github.com/qemu/qemu/commit/a408b81b2c6de437db7d6bd4aa8189185608b705
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/lm32/milkymist.c

  Log Message:
  -----------
  lm32: remove bios_name

Cc: Michael Walle <michael@walle.cc>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-7-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1684273ca8144d8f7dc9c8e9fea17753a9c09fd8
      
https://github.com/qemu/qemu/commit/1684273ca8144d8f7dc9c8e9fea17753a9c09fd8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/m68k/mcf5208.c
    M hw/m68k/next-cube.c
    M hw/m68k/q800.c

  Log Message:
  -----------
  m68k: remove bios_name

Cc: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201026143028.3034018-8-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 59588bea5efa3f497a39a05ec94aed289afd3d2a
      
https://github.com/qemu/qemu/commit/59588bea5efa3f497a39a05ec94aed289afd3d2a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/mips/fuloong2e.c
    M hw/mips/jazz.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c

  Log Message:
  -----------
  mips: remove bios_name

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-9-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b029702bac28533bf8085f7c63c8b870d01acd47
      
https://github.com/qemu/qemu/commit/b029702bac28533bf8085f7c63c8b870d01acd47
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/moxie/moxiesim.c

  Log Message:
  -----------
  moxie: remove bios_name

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-10-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cd7b94989a468bbdca40f663f35ce954c44a8c3f
      
https://github.com/qemu/qemu/commit/cd7b94989a468bbdca40f663f35ce954c44a8c3f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/pnv.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c

  Log Message:
  -----------
  ppc: remove bios_name

Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-11-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ac6dd9b9f3dd6f0914a9c822fdeb43149bc9c9ff
      
https://github.com/qemu/qemu/commit/ac6dd9b9f3dd6f0914a9c822fdeb43149bc9c9ff
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/rx/rx-gdbsim.c
    M hw/rx/rx62n.c

  Log Message:
  -----------
  rx: move BIOS load from MCU to board

The ROM loader state is global and not part of the MCU, and the
BIOS is in machine->firmware.  So just like the kernel case,
load it in the board.

Due to the ordering between CPU reset and ROM reset, the ROM
has to be registered before the CPU is realized, otherwise
the reset vector is loaded before the ROM is there.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f03443954b5bab576880e373de8bd221a0818b02
      
https://github.com/qemu/qemu/commit/f03443954b5bab576880e373de8bd221a0818b02
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/s390x/ipl.c
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390: remove bios_name

Cc: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201026143028.3034018-13-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2893cad6b987fd4564b5793fee31c907c3638fa6
      
https://github.com/qemu/qemu/commit/2893cad6b987fd4564b5793fee31c907c3638fa6
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/sh4/shix.c

  Log Message:
  -----------
  sh4: remove bios_name

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201026143028.3034018-14-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 377ce9cb0f728270d8acbe2c04b68596a5b3be71
      
https://github.com/qemu/qemu/commit/377ce9cb0f728270d8acbe2c04b68596a5b3be71
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  sparc: remove bios_name

Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201026143028.3034018-15-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 43e61243cd0e89aa4e9492d8592f28c40a7c73ba
      
https://github.com/qemu/qemu/commit/43e61243cd0e89aa4e9492d8592f28c40a7c73ba
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/arm/digic_boards.c

  Log Message:
  -----------
  digic: remove bios_name

Pull defaults to digic4_board_init so that a MachineState is available.

Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d619f157a50f0c98baee2dce0b6a5ca66fa89ac9
      
https://github.com/qemu/qemu/commit/d619f157a50f0c98baee2dce0b6a5ca66fa89ac9
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/sysemu.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: remove bios_name

bios_name was a legacy variable used by machine code, but it is
no more.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201026143028.3034018-16-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6e504a989dece8136d58f9f7c42f6e22b1ce49ae
      
https://github.com/qemu/qemu/commit/6e504a989dece8136d58f9f7c42f6e22b1ce49ae
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/arm/aspeed.c
    M hw/display/pxa2xx_lcd.c
    M target/arm/arm-semi.c

  Log Message:
  -----------
  arm: do not use ram_size global

Use the machine properties instead.

Cc: qemu-ppc@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 58a70f169e33446a1a666145faaa1602b8a2ad3d
      
https://github.com/qemu/qemu/commit/58a70f169e33446a1a666145faaa1602b8a2ad3d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/cris/axis_dev88.c
    M hw/cris/boot.c
    M hw/cris/boot.h

  Log Message:
  -----------
  cris: do not use ram_size global

Use the machine properties instead.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bfdf22bc769a56d8e1fe7c72a28ef05c0a6d8596
      
https://github.com/qemu/qemu/commit/bfdf22bc769a56d8e1fe7c72a28ef05c0a6d8596
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/hppa/machine.c

  Log Message:
  -----------
  hppa: do not use ram_size global

Use the machine properties instead.

Cc: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 86378b29fa22a9854a084241bf51515e149133e4
      
https://github.com/qemu/qemu/commit/86378b29fa22a9854a084241bf51515e149133e4
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/i386/fw_cfg.c
    M hw/i386/vmport.c
    M hw/i386/xen/xen-hvm.c
    M hw/intc/apic_common.c
    M hw/smbios/smbios.c

  Log Message:
  -----------
  i386: do not use ram_size global

Use the loader parameters instead.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5601d24164551b3473588837c4f92ef1bbde0415
      
https://github.com/qemu/qemu/commit/5601d24164551b3473588837c4f92ef1bbde0415
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/m68k/mcf5206.c
    M hw/m68k/mcf5208.c
    M target/m68k/m68k-semi.c

  Log Message:
  -----------
  m68k: do not use ram_size global

Use the machine properties instead.

Cc: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 89ee4a098c130cea0aca50090388cdca41f89dd9
      
https://github.com/qemu/qemu/commit/89ee4a098c130cea0aca50090388cdca41f89dd9
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/microblaze/boot.c

  Log Message:
  -----------
  microblaze: do not use ram_size global

Use the equivalent argument to the function instead.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 74d6bf85257ee0344696e35de54fa24757a50b0f
      
https://github.com/qemu/qemu/commit/74d6bf85257ee0344696e35de54fa24757a50b0f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/mips/fuloong2e.c
    M hw/mips/malta.c

  Log Message:
  -----------
  mips: do not use ram_size global

Use the machine properties or loader parameters instead.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: eb09df927274c7a873557588a1a23398af47fbb6
      
https://github.com/qemu/qemu/commit/eb09df927274c7a873557588a1a23398af47fbb6
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/moxie/moxiesim.c

  Log Message:
  -----------
  moxie: do not use ram_size global

Use the loader parameters instead.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 541693a4195508a077fc10e5803d0a5b4f76838a
      
https://github.com/qemu/qemu/commit/541693a4195508a077fc10e5803d0a5b4f76838a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/nios2/boot.c

  Log Message:
  -----------
  nios2: do not use ram_size global

Use the equivalent argument to the function instead.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ead2b283ad7b828252011c35a9407204010138af
      
https://github.com/qemu/qemu/commit/ead2b283ad7b828252011c35a9407204010138af
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/ppc/prep.c
    M hw/ppc/spapr_vio.c

  Log Message:
  -----------
  ppc: do not use ram_size global

Use the machine properties instead.

Cc: qemu-ppc@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 82e69054656f86d00b263437ad04395a5f834248
      
https://github.com/qemu/qemu/commit/82e69054656f86d00b263437ad04395a5f834248
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/riscv/boot.c

  Log Message:
  -----------
  riscv: do not use ram_size global

Use the machine properties instead.

Cc: Alistair Francis <Alistair.Francis@wdc.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 382a04afa075927d843f11e9fb8c450a084bbfa8
      
https://github.com/qemu/qemu/commit/382a04afa075927d843f11e9fb8c450a084bbfa8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/s390x/ipl.c
    M hw/s390x/s390-skeys.c
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/excp_helper.c
    M target/s390x/mem_helper.c
    M target/s390x/mmu_helper.c

  Log Message:
  -----------
  s390x: do not use ram_size global

Use the machine properties instead.

Cc: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 48c0b1e45f364e75a450ddd0ebbbf84b28197d6e
      
https://github.com/qemu/qemu/commit/48c0b1e45f364e75a450ddd0ebbbf84b28197d6e
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/sparc64/sparc64.c
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  sparc64: do not use ram_size global

Use the machine properties instead.

Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b326b6ea7998912d0bb0565ffef34efdfe9016dc
      
https://github.com/qemu/qemu/commit/b326b6ea7998912d0bb0565ffef34efdfe9016dc
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/generic-loader.c
    M hw/core/numa.c
    M hw/virtio/virtio-balloon.c
    M include/exec/cpu-common.h
    M monitor/qmp-cmds.c
    M softmmu/vl.c

  Log Message:
  -----------
  make ram_size local to vl.c

Use the machine properties for the leftovers too.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 29daa894b6c31eae074dcb59a98ff3a309688754
      
https://github.com/qemu/qemu/commit/29daa894b6c31eae074dcb59a98ff3a309688754
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/char/serial.c

  Log Message:
  -----------
  hw/char/serial: Clean up unnecessary code

Since commit 5ec3a23e6c8 ("serial: convert PIO to new memory
api read/write") we don't need to worry about accesses bigger
than 8-bit. Use the extract()/deposit() functions to access
the correct part of the 16-bit 'divider' register.

Reported-by: Jonathan D. Belanger <jbelanger1@rochester.rr.com>
Buglink: https://bugs.launchpad.net/qemu/+bug/1904331
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201120161933.2514089-1-f4bug@amsat.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 991c180d740c04c2f8c08c8783ad868fc832589f
      
https://github.com/qemu/qemu/commit/991c180d740c04c2f8c08c8783ad868fc832589f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/specs/tpm.rst
    M python/qemu/machine.py
    M qemu-options.hx
    M tests/qtest/bios-tables-test.c
    M tests/qtest/pflash-cfi02-test.c
    M tests/qtest/test-filter-redirector.c
    M tests/qtest/vhost-user-test.c
    M tests/test-char.c

  Log Message:
  -----------
  treewide: do not use short-form boolean options

They are going to be deprecated, avoid warnings on stdout while the
tests run.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3df8c4f31a60101c61d7f49ce0a3635690bed579
      
https://github.com/qemu/qemu/commit/3df8c4f31a60101c61d7f49ce0a3635690bed579
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/machine.c
    M include/hw/boards.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract validation of -smp to machine.c

Once smp_parse is done, the validation operates on the MachineState.
There is no reason for that code to be in vl.c.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: db372edc06889445106796430567c07fce146490
      
https://github.com/qemu/qemu/commit/db372edc06889445106796430567c07fce146490
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: remove bogus check

There is no reason to prevent -preconfig -daemonize.  Of course if
no monitor is defined there will be no way to start the VM,
but that is a user error.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0546c0609cb5a8d90c1cbac8e0d64b5a048bbb19
      
https://github.com/qemu/qemu/commit/0546c0609cb5a8d90c1cbac8e0d64b5a048bbb19
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: split various early command line options to a separate function

Various options affect the global state of QEMU including the rest of
qemu_init, and they need to be called very early.  Group them together
in a function that is called at the beginning.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e0d17dfd22348eab63c5e19b7ee9c9212c2b8af8
      
https://github.com/qemu/qemu/commit/e0d17dfd22348eab63c5e19b7ee9c9212c2b8af8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/machine.c
    M include/hw/qdev-core.h
    M migration/migration.c
    M softmmu/qdev-monitor.c
    M softmmu/vl.c

  Log Message:
  -----------
  vl: move various initialization routines out of qemu_init

Some very simple initialization routines can be nested in existing
subsystem-level functions, do that to simplify qemu_init.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: efd7ab22fbc9e58c0aaa0fbc0a723e95972a626f
      
https://github.com/qemu/qemu/commit/efd7ab22fbc9e58c0aaa0fbc0a723e95972a626f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract qemu_init_subsystems

Group a bunch of subsystem initializations that can be done right
after command line parsing.  Remove initializations that can be done
simply as global variable initializers.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d8e4de41c95f701f79869080b23362f1325c8897
      
https://github.com/qemu/qemu/commit/d8e4de41c95f701f79869080b23362f1325c8897
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: move prelaunch part of qemu_init to new functions

The final part of qemu_init, starting with the completion of
board init, is already relatively clean.  Split it out of
qemu_init so that qemu_init keeps only the messy parts.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 58c91595a793b9f54b58a449121a2cf4b9f86cf0
      
https://github.com/qemu/qemu/commit/58c91595a793b9f54b58a449121a2cf4b9f86cf0
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/machine.c
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract various command line validation snippets to a new function

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 90285ec8bb1c47d4ef8349a765ba7c9a672212c8
      
https://github.com/qemu/qemu/commit/90285ec8bb1c47d4ef8349a765ba7c9a672212c8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: preconfig and loadvm are mutually exclusive

Just like -incoming.  Later we will add support for "-incoming defer
-preconfig", because there are cases (Xen, block layer) that want
to look at RUNSTATE_INMIGRATE.  -loadvm will remain mutually exclusive
with preconfig; the plan is to just do loadvm in the monitor, since
the user is already going to interact with it for preconfiguration.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4d2c17b0ef760881485a3d31f941117d9fc71bd8
      
https://github.com/qemu/qemu/commit/4d2c17b0ef760881485a3d31f941117d9fc71bd8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract various command line desugaring snippets to a new function

Keep the machine initialization sequence free of miscellaneous command
line parsing actions.

The only difference is that preallocation will always be done with one
thread if -smp is not provided; previously it was using mc->default_cpus,
which is almost always 1 anyway.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 32c02fdda49b8ace1517f1b95bfc215e0b92a154
      
https://github.com/qemu/qemu/commit/32c02fdda49b8ace1517f1b95bfc215e0b92a154
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/qemu/option.h
    M softmmu/vl.c
    M tests/test-qemu-opts.c
    M util/qemu-option.c

  Log Message:
  -----------
  qemu-option: restrict qemu_opts_set to merge-lists QemuOpts

qemu_opts_set is used to create default network backends and to
parse sugar options -kernel, -initrd, -append, -bios and -dtb.
These are very different uses:

I would *expect* a function named qemu_opts_set to set an option in a
merge-lists QemuOptsList, such as -kernel, and possibly to set an option
in a non-merge-lists QemuOptsList with non-NULL id, similar to -set.

However, it wouldn't *work* to use qemu_opts_set for the latter
because qemu_opts_set uses fail_if_exists==1. So, for non-merge-lists
QemuOptsList and non-NULL id, the semantics of qemu_opts_set (fail if the
(QemuOptsList, id) pair already exists) are debatable.

On the other hand, I would not expect qemu_opts_set to create a
non-merge-lists QemuOpts with a single option; which it does, though.
For this case of non-merge-lists QemuOptsList and NULL id, qemu_opts_set
hardly adds value over qemu_opts_parse.  It does skip some parsing and
unescaping, but that's not needed when creating default network
backends.

So qemu_opts_set has warty behavior for non-merge-lists QemuOptsList
if id is non-NULL, and it's mostly pointless if id is NULL.  My
solution to keeping the API as simple as possible is to limit
qemu_opts_set to merge-lists QemuOptsList.  For them, it's useful (we
don't want comma-unescaping for -kernel) *and* has sane semantics.
Network backend creation is switched to qemu_opts_parse.

qemu_opts_set is now only used on merge-lists QemuOptsList... except
in the testcase, which is changed to use a merge-list QemuOptsList.

With this change we can also remove the id parameter.  With the
parameter always NULL, we know that qemu_opts_create cannot fail
and can pass &error_abort to it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d8a798f62e0c0bc5f7bf4968f52ed5e9a6357465
      
https://github.com/qemu/qemu/commit/d8a798f62e0c0bc5f7bf4968f52ed5e9a6357465
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: create "-net nic -net user" default earlier

Create it together with other default backends, even though the processing is
done later.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8a7459744c7ab29b92dfcc7784dd76befc9b0b43
      
https://github.com/qemu/qemu/commit/8a7459744c7ab29b92dfcc7784dd76befc9b0b43
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: load plugins as late as possible

There is no need to load plugins in the middle of default device processing,
move -plugin handling just before preconfig is entered.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f650266bc53a0195fc227e4ba8e816ac6f2d19e8
      
https://github.com/qemu/qemu/commit/f650266bc53a0195fc227e4ba8e816ac6f2d19e8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract default devices to separate functions

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a3ef9bfb8808f615bd77dcc2ec5332e4cf670f92
      
https://github.com/qemu/qemu/commit/a3ef9bfb8808f615bd77dcc2ec5332e4cf670f92
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/machine.c
    M softmmu/vl.c

  Log Message:
  -----------
  vl: move CHECKPOINT_INIT after preconfig

Move CHECKPOINT_INIT right before the machine initialization is
completed.  Everything before is essentially an extension of
command line parsing.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 644186572dd3cb4603ef1a6cf83a81fd8c0b7904
      
https://github.com/qemu/qemu/commit/644186572dd3cb4603ef1a6cf83a81fd8c0b7904
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: separate qemu_create_early_backends

"Early" backends are created before the machine and can be used as
machine options.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 07a91b1ac6c7edc0009de1abcd55ff4f6bdb9a14
      
https://github.com/qemu/qemu/commit/07a91b1ac6c7edc0009de1abcd55ff4f6bdb9a14
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: separate qemu_create_late_backends

"Late" backends are created after the machine.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f5c9fcb82d37fe26aca1b8f68e1439ca3fd37587
      
https://github.com/qemu/qemu/commit/f5c9fcb82d37fe26aca1b8f68e1439ca3fd37587
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: separate qemu_create_machine

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7a84268dc9be3456e8d7d2fcc5ad0e3dec50899d
      
https://github.com/qemu/qemu/commit/7a84268dc9be3456e8d7d2fcc5ad0e3dec50899d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: separate qemu_apply_machine_options

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b24986e7845594f4ce394403d2b5c15e89ce04f8
      
https://github.com/qemu/qemu/commit/b24986e7845594f4ce394403d2b5c15e89ce04f8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: separate qemu_resolve_machine_memdev

This is a bit nasty: the machine is storing a string and later
resolving it.  We probably want to remove the memdev property
and instead make this a memory-set command.  "-M memdev" can be
handled a legacy option that is special cased by
machine_set_property.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7691bdef693c04e2a0c40846cda089c28016e043
      
https://github.com/qemu/qemu/commit/7691bdef693c04e2a0c40846cda089c28016e043
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: initialize displays before preconfig loop

Displays should be available before the monitor starts, so that
it is possible to use the graphical console to interact with
the monitor itself.

This patch is quite ugly, but all this is temporary.  The double
call to qemu_init_displays will go away as soon we can unify machine
initialization between the preconfig and "normal" flows, and so will
the preconfig_exit_requested variable (that is only preconfig_requested
remains).

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cca686b44aa1315df4cda4dee56ca601050fab71
      
https://github.com/qemu/qemu/commit/cca686b44aa1315df4cda4dee56ca601050fab71
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: move -global check earlier

The check has the same effect here, it only matters that it is performed
once all devices, both builtin and user-specified, have been created.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e69d50d621ccc1ab8b1048a3075ad944afebfed5
      
https://github.com/qemu/qemu/commit/e69d50d621ccc1ab8b1048a3075ad944afebfed5
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/migration/misc.h
    M migration/migration.c
    M softmmu/vl.c

  Log Message:
  -----------
  migration, vl: start migration via qmp_migrate_incoming

Make qemu_start_incoming_migration local to migration/migration.c.
By using the runstate instead of a separate flag, vl need not do
anything to setup deferred incoming migration.

qmp_migrate_incoming also does not need the deferred_incoming flag
anymore, because "-incoming PROTOCOL" will clear the "once" flag
before the main loop starts.  Therefore, later invocations of
the migrate-incoming command will fail with the existing
"The incoming migration has already been started" error message.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ee55686efbd7de8dce8c1437c6e38fb4f5398c24
      
https://github.com/qemu/qemu/commit/ee55686efbd7de8dce8c1437c6e38fb4f5398c24
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl: start VM via qmp_cont

Complement the previous patch by starting the VM with a QMP command.
The plan is that the user will be able to do the same, invoking two
commands "finish-machine-init" and "cont" instead of
"x-exit-preconfig".

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4cd29274729f6bfbb0202563929225bbbb861c1b
      
https://github.com/qemu/qemu/commit/4cd29274729f6bfbb0202563929225bbbb861c1b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M monitor/hmp.c

  Log Message:
  -----------
  hmp: introduce cmd_available

Combine the RUN_STATE_PRECONFIG and cmd_can_preconfig checks
into a single function, to avoid repeating the same expression
(or its negation after applying DeMorgan's rule) over and
over again.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2c65db5e58d2c74921077f6c064ba4c91ebde16a
      
https://github.com/qemu/qemu/commit/2c65db5e58d2c74921077f6c064ba4c91ebde16a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/arm/boot.c
    M hw/arm/digic_boards.c
    M hw/arm/highbank.c
    M hw/arm/npcm7xx_boards.c
    M hw/arm/sbsa-ref.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c
    M hw/avr/boot.c
    M hw/core/loader.c
    M hw/display/cg3.c
    M hw/display/tcx.c
    M hw/hppa/machine.c
    M hw/i386/x86.c
    M hw/lm32/milkymist.c
    M hw/m68k/mcf5208.c
    M hw/m68k/q800.c
    M hw/microblaze/boot.c
    M hw/mips/fuloong2e.c
    M hw/mips/jazz.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M hw/nios2/boot.c
    M hw/nvram/fw_cfg.c
    M hw/pci-host/prep.c
    M hw/pci/pci.c
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/pnv.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/sam460ex.c
    M hw/ppc/spapr.c
    M hw/ppc/virtex_ml507.c
    M hw/riscv/boot.c
    M hw/s390x/ipl.c
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    M include/qemu-common.h
    A include/qemu/datadir.h
    M include/sysemu/sysemu.h
    A softmmu/datadir.c
    M softmmu/meson.build
    M softmmu/vl.c
    M tests/qtest/fuzz/fuzz.c
    M ui/keymaps.c

  Log Message:
  -----------
  vl: extract softmmu/datadir.c

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6b21670cfda76e47a827810eea5eb3b518cb6521
      
https://github.com/qemu/qemu/commit/6b21670cfda76e47a827810eea5eb3b518cb6521
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/core/machine.c
    M include/sysemu/sysemu.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract machine done notifiers

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bf4d4056fb7ef7d629d003a338445db9801aa743
      
https://github.com/qemu/qemu/commit/bf4d4056fb7ef7d629d003a338445db9801aa743
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/sysemu/sysemu.h
    M softmmu/meson.build
    A softmmu/rtc.c
    M softmmu/vl.c

  Log Message:
  -----------
  vl: extract softmmu/rtc.c

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 46ee119fb64570c6efdff3342fbec3e86267bda3
      
https://github.com/qemu/qemu/commit/46ee119fb64570c6efdff3342fbec3e86267bda3
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M hw/ppc/spapr.c
    M include/sysemu/sysemu.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: remove serial_max_hds

serial_hd(i) is NULL if and only if i >= serial_max_hds().  Test
serial_hd(i) instead of bounding the loop at serial_max_hds(),
thus removing one more function that vl.c is expected to export.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4b7acd2ac82159fe193c0babf95aa9962d68a700
      
https://github.com/qemu/qemu/commit/4b7acd2ac82159fe193c0babf95aa9962d68a700
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M include/hw/boards.h
    M softmmu/vl.c

  Log Message:
  -----------
  vl: clean up -boot variables

Move more of them into MachineState, in preparation for moving initialization
of the machine out of vl.c.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ed7fa564cb104070213eb6184573a0074827bdb8
      
https://github.com/qemu/qemu/commit/ed7fa564cb104070213eb6184573a0074827bdb8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

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

  Log Message:
  -----------
  config-file: move -set implementation to vl.c

We want to make it independent of QemuOpts.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f79248b53bee83bb8e69c8b2e9d70d6d28039987
      
https://github.com/qemu/qemu/commit/f79248b53bee83bb8e69c8b2e9d70d6d28039987
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/sphinx/kerneldoc.py

  Log Message:
  -----------
  docs: temporarily disable the kernel-doc extension

Preserve bisectability while we update scripts/kernel-doc from Linux.
Without this patch, building with Sphinx 3 would break while we
revert our own Sphinx 3 support and replace it with Linux's.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 872e6c47a083be5afb82b40aae849c7108ae5584
      
https://github.com/qemu/qemu/commit/872e6c47a083be5afb82b40aae849c7108ae5584
  Author: André Almeida <andrealmeid@collabora.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  kernel-doc: fix processing nested structs with attributes

The current regular expression for strip attributes of structs (and
for nested ones as well) also removes all whitespaces that may
surround the attribute. After that, the code will split structs and
iterate for each symbol separated by comma at the end of struct
definition (e.g. "} alias1, alias2;"). However, if the nested struct
does not have any alias and has an attribute, it will result in a
empty string at the closing bracket (e.g "};"). This will make the
split return nothing and $newmember will keep uninitialized. Fix
that, by ensuring that the attribute substitution will leave at least
one whitespace.

Signed-off-by: André Almeida <andrealmeid@collabora.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-2-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b5a8dfb5328a5546d52522b4b3504a79464aa3cb
      
https://github.com/qemu/qemu/commit/b5a8dfb5328a5546d52522b4b3504a79464aa3cb
  Author: André Almeida <andrealmeid@collabora.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  kernel-doc: add support for ____cacheline_aligned_in_smp attribute

Subroutine dump_struct uses type attributes to check if the struct
syntax is valid. Then, it removes all attributes before using it for
output. `____cacheline_aligned_in_smp` is an attribute that is
not included in both steps. Add it, since it is used by kernel structs.

Signed-off-by: André Almeida <andrealmeid@collabora.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-3-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 65fb67bf73603a218aa1d39286a452058364f253
      
https://github.com/qemu/qemu/commit/65fb67bf73603a218aa1d39286a452058364f253
  Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts/kernel-doc: Add support for named variable macro arguments

Currently, when kernel-doc encounters a macro with a named variable
argument[1], such as this:

   #define hlist_for_each_entry_rcu(pos, head, member, cond...)

... it expects the variable argument to be documented as `cond...`,
rather than `cond`. This is semantically wrong, because the name (as
used in the macro body) is actually `cond`.

With this patch, kernel-doc will accept the name without dots (`cond`
in the example above) in doc comments, and warn if the name with dots
(`cond...`) is used and verbose mode[2] is enabled.

The support for the `cond...` syntax can be removed later, when the
documentation of all such macros has been switched to the new syntax.

Testing this patch on top of v5.4-rc6, `make htmldocs` shows a few
changes in log output and HTML output:

 1) The following warnings[3] are eliminated:

   ./include/linux/rculist.h:374: warning:
        Excess function parameter 'cond' description in 
'list_for_each_entry_rcu'
   ./include/linux/rculist.h:651: warning:
        Excess function parameter 'cond' description in 
'hlist_for_each_entry_rcu'

 2) For list_for_each_entry_rcu and hlist_for_each_entry_rcu, the
    correct description is shown

 3) Named variable arguments are shown without dots

[1]: https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
[2]: scripts/kernel-doc -v
[3]: See also 
https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?h=dev&id=5bc4bc0d6153617eabde275285b7b5a8137fdf3c

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Tested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-4-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 76083982a561fb9e24931b0e25cffb5865269eba
      
https://github.com/qemu/qemu/commit/76083982a561fb9e24931b0e25cffb5865269eba
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: proper handle @foo->bar()

The pattern @foo->bar() is valid, as it can be used by a
function pointer inside a struct passed as a parameter.

Right now, it causes a warning:

        ./drivers/firewire/core-transaction.c:606: WARNING: Inline strong 
start-string without end-string.

In this specific case, the kernel-doc markup is:

        /**
         * fw_core_remove_address_handler() - unregister an address handler
         * @handler: callback
         *
         * To be called in process context.
         *
         * When fw_core_remove_address_handler() returns, @handler->callback() 
is
         * guaranteed to not run on any CPU anymore.
         */

With seems valid on my eyes. So, instead of trying to hack
the kernel-doc markup, let's teach it about how to handle
such things. This should likely remove lots of other similar
warnings as well.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/48b46426d7bf6ff7529f20e5718fbf4e9758e62c.1586881715.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-5-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b1e8e720b649ad1b7275d7eeef841c2528a63fe1
      
https://github.com/qemu/qemu/commit/b1e8e720b649ad1b7275d7eeef841c2528a63fe1
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: accept negation like !@var

On a few places, it sometimes need to indicate a negation of a
parameter, like:

        !@fshared

This pattern happens, for example, at:

        kernel/futex.c

and it is perfectly valid. However, kernel-doc currently
transforms it into:

        !**fshared**

This won't do what it would be expected.

Fortunately, fixing the script is a simple matter of storing
the "!" before "@" and adding it after the bold markup, like:

        **!fshared**

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/0314b47f8c3e1f9db00d5375a73dc3cddd8a21f2.1586881715.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-6-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9f2b463ad8beb76acaf3f5d1654b660592760e68
      
https://github.com/qemu/qemu/commit/9f2b463ad8beb76acaf3f5d1654b660592760e68
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: accept blank lines on parameter description

Sphinx is very pedantic with respect to blank lines. Sometimes,
in order to make it to properly handle something, we need to
add a blank line. However, currently, any blank line inside a
kernel-doc comment like:

        /*
         * @foo: bar
         *
         *       foobar
         *
         * some description

will be considered as if "foobar" was part of the description.

This patch changes kernel-doc behavior. After it, foobar will
be considered as part of the parameter text. The description
will only be considered as such if it starts with:

zero spaces after asterisk:

        *foo

one space after asterisk:
        * foo

or have a explicit Description section:

        *   Description:

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/c07d2862792d75a2691d69c9eceb7b89a0164cc0.1586881715.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-7-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cd08b80952657ab9f9ca5b8f374982d9c3159f4a
      
https://github.com/qemu/qemu/commit/cd08b80952657ab9f9ca5b8f374982d9c3159f4a
  Author: Alexander A. Klimov <grandmaster@al2klimov.de>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  Replace HTTP links with HTTPS ones: documentation

Rationale:
Reduces attack surface on kernel devs opening the links for MITM
as HTTPS traffic is much harder to manipulate.

Deterministic algorithm:
For each file:
  For each line:
    If doesn't contain `\bxmlns\b`:
      For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
        If both the HTTP and HTTPS versions
        return 200 OK and serve the same content:
          Replace HTTP with HTTPS.

Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Link: https://lore.kernel.org/r/20200526060544.25127-1-grandmaster@al2klimov.de
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-8-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f0fd307d255c007547a467bf522512f45456dab5
      
https://github.com/qemu/qemu/commit/f0fd307d255c007547a467bf522512f45456dab5
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts/kernel-doc: parse __ETHTOOL_DECLARE_LINK_MODE_MASK

The __ETHTOOL_DECLARE_LINK_MODE_MASK macro is a variant of
DECLARE_BITMAP(), used by phylink.h. As we have already a
parser for DECLARE_BITMAP(), let's add one for this macro,
in order to avoid such warnings:

        ./include/linux/phylink.h:54: warning: Function parameter or member 
'__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising' not described in 
'phylink_link_state'
        ./include/linux/phylink.h:54: warning: Function parameter or member 
'__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising' not described in 
'phylink_link_state'

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/d1d1dea67a28117c0b0c33271b139c4455fef287.1592895969.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-9-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2552f59a348f5fc9df7af8175c20a195a1d93c4b
      
https://github.com/qemu/qemu/commit/2552f59a348f5fc9df7af8175c20a195a1d93c4b
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts/kernel-doc: handle function pointer prototypes

There are some function pointer prototypes inside the net
includes, like this one:

        int (*pcs_config)(struct phylink_config *config, unsigned int mode,
                          phy_interface_t interface, const unsigned long 
*advertising);

There's nothing wrong using it with kernel-doc, but we need to
add a rule for it to parse such kind of prototype.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/fec520dd731a273013ae06b7653a19c7d15b9562.1592895969.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-10-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 86cba21743bed485a9474696afb5dbb3d3372ea1
      
https://github.com/qemu/qemu/commit/86cba21743bed485a9474696afb5dbb3d3372ea1
  Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts/kernel-doc: optionally treat warnings as errors

The kbuild bot recently added the W=1 option, which triggered
documentation cleanups to squelch hundreds of kernel-doc warnings.

To make sure new kernel contributions don't add regressions to
kernel-doc descriptors, this patch suggests an option to treat
warnings as errors in CI/automated tests.

A -Werror command-line option is added to the kernel-doc script. When
this option is set, the script will return the number of warnings
found. The caller can then treat this positive return value as an
error and stop the build.

Using this command line option is however not straightforward when the
kernel-doc script is called from other scripts. To align with typical
kernel compilation or documentation generation, the Werror option is
also set by checking the KCFLAGS environment variable, or if
KDOC_WERROR is defined, as in the following examples:

KCFLAGS="-Wall -Werror" make W=1 sound/
KCFLAGS="-Wall -Werror" make W=1 drivers/soundwire/
KDOC_WERROR=1 make htmldocs

Note that in the last example the documentation build does not stop,
only an additional log is provided.

Credits to Randy Dunlap for suggesting the use of environment variables.

Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: 
https://lore.kernel.org/r/20200728162040.92467-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-11-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 697f668ad1f9e8aae6bb0666a367a1849f84f896
      
https://github.com/qemu/qemu/commit/697f668ad1f9e8aae6bb0666a367a1849f84f896
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  kernel-doc: include line numbers for function prototypes

This should solve bad error reports like this one:

        ./include/linux/iio/iio.h:0: WARNING: Unknown target name: "devm".

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/56eed0ba50cd726236acd12b11b55ce54854c5ea.1599660067.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-12-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5c51f435cbcb4fe0717733ec093bb942617dcf4f
      
https://github.com/qemu/qemu/commit/5c51f435cbcb4fe0717733ec093bb942617dcf4f
  Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  kernel-doc: add support for ____cacheline_aligned attribute

Subroutine dump_struct uses type attributes to check if the struct
syntax is valid. Then, it removes all attributes before using it for
output. `____cacheline_aligned` is an attribute that is
not included in both steps. Add it, since it is used by kernel structs.

Based on previous patch to add ____cacheline_aligned_in_smp.
Motivated by patches to reorder this attribute to before the
variable name.   Whilst we could do that in all cases, that would
be a massive change and it is more common in the kernel to place
this particular attribute after the variable name. A quick grep
suggests approximately 400 instances of which 341 have this
attribute just before a semicolon and hence after the variable name.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200910185415.653139-1-jic23@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-13-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 306b015cfb9394199d062a0d2ff7534d37d54510
      
https://github.com/qemu/qemu/commit/306b015cfb9394199d062a0d2ff7534d37d54510
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: add support for typedef enum

The PHY kernel-doc markup has gained support for documenting
a typedef enum.

However, right now the parser was not prepared for it.

So, add support for parsing it.

Fixes: 4069a572d423 ("net: phy: Document core PHY structures")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-14-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a832c9844de991f75fa5af3247ddd7205ef823d9
      
https://github.com/qemu/qemu/commit/a832c9844de991f75fa5af3247ddd7205ef823d9
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  Revert "scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments"

This reverts commit 92bb29f9b2c3d4a98eef5f0db935d4be291eec72.
We will replace the commit with the fix from Linux.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-15-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 46ae6e8f8225cc8e1aef13831e850154f3fd8ae6
      
https://github.com/qemu/qemu/commit/46ae6e8f8225cc8e1aef13831e850154f3fd8ae6
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/sphinx/kerneldoc.py
    M scripts/kernel-doc

  Log Message:
  -----------
  Revert "kernel-doc: Use c:struct for Sphinx 3.0 and later"

This reverts commit 152d1967f650f67b7ece3a5dda77d48069d72647.
We will replace the commit with the fix from Linux.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-16-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6d3a3cfc2f1ca323b671ecdb48f4b9ec73583ea4
      
https://github.com/qemu/qemu/commit/6d3a3cfc2f1ca323b671ecdb48f4b9ec73583ea4
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: make it more compatible with Sphinx 3.x

With Sphinx 3.x, the ".. c:type:" tag was changed to accept either:

        .. c:type:: typedef-like declaration
        .. c:type:: name

Using it for other types (including functions) don't work anymore.

So, there are newer tags for macro, enum, struct, union, and others,
which doesn't exist on older versions.

Add a check for the Sphinx version and change the produced tags
accordingly.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-17-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 60ef7c1801b02cf6ec0fa12906e0f1386ca7ab00
      
https://github.com/qemu/qemu/commit/60ef7c1801b02cf6ec0fa12906e0f1386ca7ab00
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: use a less pedantic markup for funcs on Sphinx 3.x

Unfortunately, Sphinx 3.x parser for c functions is too pedantic:

        https://github.com/sphinx-doc/sphinx/issues/8241

While it could be relaxed with some configurations, there are
several corner cases that it would make it hard to maintain,
and will require teaching conf.py about several macros.

So, let's instead use the :c:macro notation. This will
produce an output that it is not as nice as currently, but it
should still be acceptable, and will provide cross-references,
removing thousands of warnings when building with newer
versions of Sphinx.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-18-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5abfaa6a7f5b19a3c6eee5a5d1d5aed4e58c0d9d
      
https://github.com/qemu/qemu/commit/5abfaa6a7f5b19a3c6eee5a5d1d5aed4e58c0d9d
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: fix troubles with line counts

There's currently a bug with the way kernel-doc script
counts line numbers that can be seen with:

        $ ./scripts/kernel-doc -rst  -enable-lineno include/linux/math64.h >all 
&& ./scripts/kernel-doc -rst -internal -enable-lineno include/linux/math64.h 
>int && diff -U0 int all

        --- int 2020-09-28 12:58:08.927486808 +0200
        +++ all 2020-09-28 12:58:08.905486845 +0200
        @@ -1 +1 @@
        -#define LINENO 27
        +#define LINENO 26
        @@ -3 +3 @@
        -#define LINENO 16
        +#define LINENO 15
        @@ -9 +9 @@
        -#define LINENO 17
        +#define LINENO 16
        ...

This is happening with perl version 5.30.3, but I'm not
so sure if this is a perl bug, or if this is due to something
else.

In any case, fixing it is easy. Basically, when "-internal"
parameter is used, the process_export_file() function opens the
handle "IN". This makes the line number to be incremented, as the
handler for the main open is also "IN".

Fix the problem by using a different handler for the
main open().

While here, add a missing close for it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-19-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 78c8c92c5da30f2134da28196f40ab13ca9f778a
      
https://github.com/qemu/qemu/commit/78c8c92c5da30f2134da28196f40ab13ca9f778a
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: reimplement -nofunction argument

Right now, the build system doesn't use -nofunction, as
it is pretty much useless, because it doesn't consider
the other output modes (extern, internal), working only
with all.

Also, it is limited to exclude functions.

Re-implement it in order to allow excluding any symbols from
the document output, no matter what mode is used.

The parameter was also renamed to "-nosymbol", as it express
better its meaning.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-20-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3999ffcf132e0dc39c9cce1a616f2f4c5fbdc630
      
https://github.com/qemu/qemu/commit/3999ffcf132e0dc39c9cce1a616f2f4c5fbdc630
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: fix typedef identification

Some typedef expressions are output as normal functions.

As we need to be clearer about the type with Sphinx 3.x,
detect such cases.

While here, fix a wrongly-indented block.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-21-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0c77185233391cf984192efa4caa77c37579e159
      
https://github.com/qemu/qemu/commit/0c77185233391cf984192efa4caa77c37579e159
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: don't mangle with parameter list

While kernel-doc needs to parse parameters in order to
identify its name, it shouldn't be touching the type,
as parsing it is very difficult, and errors happen.

One current error is when parsing this parameter:

        const u32 (*tab)[256]

Found at ./lib/crc32.c, on this function:

        u32 __pure crc32_be_generic (u32 crc, unsigned char const *p, size_t 
len, const u32 (*tab)[256], u32 polynomial);

The current logic mangles it, producing this output:

        const u32 ( *tab

That's something that it is not recognizeable.

So, instead, let's push the argument as-is, and use it
when printing the function prototype and when describing
each argument.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-22-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 486966e4a4e2cc0647e01f9902b8c1752c44d38e
      
https://github.com/qemu/qemu/commit/486966e4a4e2cc0647e01f9902b8c1752c44d38e
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/sphinx/kerneldoc.py
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: allow passing desired Sphinx C domain dialect

When kernel-doc is called via kerneldoc.py, there's no need to
auto-detect the Sphinx version, as the Sphinx module already
knows it. So, add an optional parameter to allow changing the
Sphinx dialect.

As kernel-doc can also be manually called, keep the auto-detection
logic if the parameter was not specified. On such case, emit
a warning if sphinx-build can't be found at PATH.

I ended using a suggestion from Joe for using a more readable
regex, instead of using a complex one with a hidden group like:

        m/^(\d+)\.(\d+)(?:\.?(\d+)?)/

in order to get the optional <patch> argument.

Thanks-to: Joe Perches <joe@perches.com>
Suggested-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-23-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4f5f16a193abbb15abfde9e6c18d4115d7168bd2
      
https://github.com/qemu/qemu/commit/4f5f16a193abbb15abfde9e6c18d4115d7168bd2
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: fix line number handling

Address several issues related to pointing to the wrong line
number:

1) ensure that line numbers will always be initialized

   When section is the default (Description), the line number
   is not initializing, producing this:

        $ ./scripts/kernel-doc --enable-lineno 
./drivers/media/v4l2-core/v4l2-mem2mem.c|less

        **Description**

        #define LINENO 0
        In case of streamoff or release called on any context,
        1] If the context is currently running, then abort job will be called
        2] If the context is queued, then the context will be removed from
           the job_queue

  Which is not right. Ensure that the line number will always
  be there. After applied, the result now points to the right location:

        **Description**

        #define LINENO 410
        In case of streamoff or release called on any context,
        1] If the context is currently running, then abort job will be called
        2] If the context is queued, then the context will be removed from
           the job_queue

2) The line numbers for function prototypes are always + 1,
   because it is taken at the line after handling the prototype.
   Change the logic to point to the next line after the /** */
   block;

3) The "DOC:" line number should point to the same line as this
   markup is found, and not to the next one.

Probably part of the issues were due to a but that was causing
the line number offset to be incremented by one, if --export
were used.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-24-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ac3617d90c38d7169698908198be1398c7edc693
      
https://github.com/qemu/qemu/commit/ac3617d90c38d7169698908198be1398c7edc693
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: try to use c:function if possible

There are a few namespace clashes by using c:macro everywhere:

basically, when using it, we can't have something like:

        .. c:struct:: pwm_capture

        .. c:macro:: pwm_capture

So, we need to use, instead:

        .. c:function:: int pwm_capture (struct pwm_device * pwm, struct 
pwm_capture * result, unsigned long timeout)

for the function declaration.

The kernel-doc change was proposed by Jakob Lykke Andersen here:

        
https://github.com/jakobandersen/linux_docs/commit/6fd2076ec001cca7466857493cd678df4dfe4a65

Although I did a different implementation.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-25-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 47da500a7edcdd3626997ea5c0c11a502631e3dc
      
https://github.com/qemu/qemu/commit/47da500a7edcdd3626997ea5c0c11a502631e3dc
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  Revert "kernel-doc: Handle function typedefs without asterisks"

This reverts commit 3cd3c5193cde5242e243c25759f85802e267994f.
We will replace the commit with the fix from Linux.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-26-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3e72dc01358106b9606ca8cbaf3dedbb0e53addf
      
https://github.com/qemu/qemu/commit/3e72dc01358106b9606ca8cbaf3dedbb0e53addf
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  Revert "kernel-doc: Handle function typedefs that return pointers"

This reverts commit 19ab6044be0c55d529e875e3ee16fdd5c3b54d33.
We will replace the commit with the fix from Linux.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-27-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 01a7917d9bd4fcf2805f1cfb2288c65fe4619303
      
https://github.com/qemu/qemu/commit/01a7917d9bd4fcf2805f1cfb2288c65fe4619303
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: fix typedef parsing

The include/linux/genalloc.h file defined this typedef:

        typedef unsigned long (*genpool_algo_t)(unsigned long *map,unsigned 
long size,unsigned long start,unsigned int nr,void *data, struct gen_pool 
*pool, unsigned long start_addr);

Because it has a type composite of two words (unsigned long),
the parser gets the typedef name wrong:

.. c:macro:: long

   **Typedef**: Allocation callback function type definition

Fix the regex in order to accept composite types when
defining a typedef for a function pointer.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/328e8018041cc44f7a1684e57f8d111230761c4f.1603792384.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-28-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e495a1b26cd2f39b2808fd644f4da15db22340b0
      
https://github.com/qemu/qemu/commit/e495a1b26cd2f39b2808fd644f4da15db22340b0
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: split typedef complex regex

The typedef regex for function prototypes are very complex.
Split them into 3 separate regex and then join them using
qr.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/3a4af999a0d62d4ab9dfae1cdefdfcad93383356.1603792384.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-29-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a1b8a57a0e114571b66baf6a6b8bd1c3f1f00d83
      
https://github.com/qemu/qemu/commit/a1b8a57a0e114571b66baf6a6b8bd1c3f1f00d83
  Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: use :c:union when needed

Sphinx C domain code after 3.2.1 will start complaning if :c:struct
would be used for an union type:

        .../Documentation/gpu/drm-kms-helpers:352: ../drivers/video/hdmi.c:851: 
WARNING: C 'identifier' cross-reference uses wrong tag: reference name is 
'union hdmi_infoframe' but found name is 'struct hdmi_infoframe'. Full 
reference name is 'union hdmi_infoframe'. Full found name is 'struct 
hdmi_infoframe'.

So, let's address this issue too in advance, in order to
avoid future issues.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: 
https://lore.kernel.org/r/6e4ec3eec914df62389a299797a3880ae4490f35.1603791716.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-30-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 07d7186c309b55f89d51fb50a0eaa332b8c0d5d8
      
https://github.com/qemu/qemu/commit/07d7186c309b55f89d51fb50a0eaa332b8c0d5d8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M docs/sphinx/kerneldoc.py

  Log Message:
  -----------
  Revert "docs: temporarily disable the kernel-doc extension"

This reverts commit fd68a72875cf318f4310726f842139119c5f45d5.  We're
done with the update of kernel-doc and we can restore kernel-doc's
functionality.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 953d0c333e2825656ba1ec5bd1c18bc53485b39c
      
https://github.com/qemu/qemu/commit/953d0c333e2825656ba1ec5bd1c18bc53485b39c
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M scripts/kernel-doc

  Log Message:
  -----------
  scripts: kernel-doc: remove unnecessary change wrt Linux

A comment in kernel-doc mentions QEMU's qatomic_set macro, but since
this code originated in Linux we should just revert it and stay as close
to the kernel's copy of the script as possible.

The change was introduced (more or less unintentionally) in QEMU commit
commit d73415a31547, which did a global search-and-replace of QEMU's
atomic access macros.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b785d25e91718a660546a6550f64b3c543af7754
      
https://github.com/qemu/qemu/commit/b785d25e91718a660546a6550f64b3c543af7754
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-12-11 (Fri, 11 Dec 2020)

  Changed paths:
    M MAINTAINERS
    M docs/devel/loads-stores.rst
    M docs/specs/tpm.rst
    M docs/sphinx/kerneldoc.py
    M hw/alpha/dp264.c
    M hw/arm/aspeed.c
    M hw/arm/boot.c
    M hw/arm/cubieboard.c
    M hw/arm/digic_boards.c
    M hw/arm/highbank.c
    M hw/arm/npcm7xx_boards.c
    M hw/arm/orangepi.c
    M hw/arm/sbsa-ref.c
    M hw/arm/spitz.c
    M hw/arm/stellaris.c
    M hw/arm/tosa.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c
    M hw/arm/z2.c
    M hw/avr/boot.c
    M hw/block/m25p80.c
    M hw/char/serial.c
    M hw/core/generic-loader.c
    M hw/core/loader.c
    M hw/core/machine.c
    M hw/core/numa.c
    M hw/core/stream.c
    M hw/cris/axis_dev88.c
    M hw/cris/boot.c
    M hw/cris/boot.h
    M hw/display/ads7846.c
    M hw/display/cg3.c
    M hw/display/pxa2xx_lcd.c
    M hw/display/ssd0323.c
    M hw/display/tcx.c
    M hw/dma/xilinx_axidma.c
    M hw/hppa/machine.c
    M hw/i386/fw_cfg.c
    M hw/i386/kvm/apic.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/i386/pc_sysfw.c
    M hw/i386/vmport.c
    M hw/i386/x86.c
    M hw/i386/xen/xen-hvm.c
    M hw/intc/apic_common.c
    M hw/lm32/milkymist.c
    M hw/m68k/mcf5206.c
    M hw/m68k/mcf5208.c
    M hw/m68k/next-cube.c
    M hw/m68k/q800.c
    M hw/microblaze/boot.c
    M hw/mips/fuloong2e.c
    M hw/mips/jazz.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M hw/misc/max111x.c
    M hw/moxie/moxiesim.c
    M hw/net/xilinx_axienet.c
    M hw/nios2/boot.c
    M hw/nvram/fw_cfg.c
    M hw/pci-host/prep.c
    M hw/pci/pci.c
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/pnv.c
    M hw/ppc/ppc405_boards.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/prep.c
    M hw/ppc/sam460ex.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_vio.c
    M hw/ppc/virtex_ml507.c
    M hw/riscv/boot.c
    M hw/rx/rx-gdbsim.c
    M hw/rx/rx62n.c
    M hw/s390x/ipl.c
    M hw/s390x/s390-skeys.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/sd/ssi-sd.c
    M hw/sh4/shix.c
    M hw/smbios/smbios.c
    M hw/sparc/leon3.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sparc64.c
    M hw/sparc64/sun4u.c
    M hw/ssi/aspeed_smc.c
    M hw/ssi/pl022.c
    M hw/ssi/ssi.c
    M hw/ssi/xilinx_spips.c
    M hw/virtio/virtio-balloon.c
    M include/exec/cpu-common.h
    M include/hw/boards.h
    M include/hw/i386/x86.h
    M include/hw/misc/max111x.h
    M include/hw/pci/pci.h
    M include/hw/qdev-core.h
    M include/hw/ssi/aspeed_smc.h
    M include/hw/ssi/ssi.h
    M include/hw/ssi/xilinx_spips.h
    M include/hw/stream.h
    M include/migration/misc.h
    M include/qemu-common.h
    M include/qemu/config-file.h
    A include/qemu/datadir.h
    M include/qemu/option.h
    M include/standard-headers/asm-x86/kvm_para.h
    M include/sysemu/dma.h
    M include/sysemu/sysemu.h
    M include/sysemu/whpx.h
    M migration/migration.c
    M monitor/hmp.c
    M monitor/qmp-cmds.c
    M python/qemu/machine.py
    M qemu-options.hx
    M qom/object.c
    M scripts/kernel-doc
    M softmmu/cpus.c
    A softmmu/datadir.c
    M softmmu/dma-helpers.c
    M softmmu/meson.build
    M softmmu/qdev-monitor.c
    A softmmu/rtc.c
    M softmmu/vl.c
    M target/arm/arm-semi.c
    M target/i386/cpu.c
    M target/i386/kvm.c
    M target/i386/kvm_i386.h
    M target/i386/meson.build
    M target/i386/seg_helper.c
    M target/i386/translate.c
    M target/i386/whp-dispatch.h
    M target/i386/whpx-all.c
    A target/i386/whpx-apic.c
    M target/m68k/m68k-semi.c
    M target/s390x/excp_helper.c
    M target/s390x/mem_helper.c
    M target/s390x/mmu_helper.c
    M tests/qtest/bios-tables-test.c
    M tests/qtest/fuzz/fuzz.c
    M tests/qtest/pflash-cfi02-test.c
    M tests/qtest/test-filter-redirector.c
    M tests/qtest/vhost-user-test.c
    M tests/tcg/i386/Makefile.target
    A tests/tcg/i386/test-i386-bmi2.c
    M tests/test-char.c
    M tests/test-qemu-opts.c
    M ui/keymaps.c
    M util/qemu-config.c
    M util/qemu-option.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* Fix for NULL segments (Bin Meng)
* Support for 32768 CPUs on x86 without IOMMU (David)
* PDEP/PEXT fix and testcase (myself)
* Remove bios_name and ram_size globals (myself)
* qemu_init rationalization (myself)
* Update kernel-doc (myself + upstream patches)
* Propagate MemTxResult across DMA and PCI functions (Philippe)
* Remove master/slave when applicable (Philippe)
* WHPX support for in-kernel irqchip (Sunil)

# gpg: Signature made Thu 10 Dec 2020 17:21:50 GMT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini-gitlab/tags/for-upstream: (113 commits)
  scripts: kernel-doc: remove unnecessary change wrt Linux
  Revert "docs: temporarily disable the kernel-doc extension"
  scripts: kernel-doc: use :c:union when needed
  scripts: kernel-doc: split typedef complex regex
  scripts: kernel-doc: fix typedef parsing
  Revert "kernel-doc: Handle function typedefs that return pointers"
  Revert "kernel-doc: Handle function typedefs without asterisks"
  scripts: kernel-doc: try to use c:function if possible
  scripts: kernel-doc: fix line number handling
  scripts: kernel-doc: allow passing desired Sphinx C domain dialect
  scripts: kernel-doc: don't mangle with parameter list
  scripts: kernel-doc: fix typedef identification
  scripts: kernel-doc: reimplement -nofunction argument
  scripts: kernel-doc: fix troubles with line counts
  scripts: kernel-doc: use a less pedantic markup for funcs on Sphinx 3.x
  scripts: kernel-doc: make it more compatible with Sphinx 3.x
  Revert "kernel-doc: Use c:struct for Sphinx 3.0 and later"
  Revert "scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments"
  scripts: kernel-doc: add support for typedef enum
  kernel-doc: add support for ____cacheline_aligned attribute
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/33744604d768...b785d25e9171



reply via email to

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