From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Kamil Szczęk" <kamil@szczek.dev>,
"Bernhard Beschow" <shentey@gmail.com>
Subject: Re: [PULL 18/20] hw/i386/pc: Unify vmport=auto handling
Date: Tue, 20 Aug 2024 21:48:48 +0200 [thread overview]
Message-ID: <ee5b8c9e-09fe-4b28-86fb-c6859085f988@linaro.org> (raw)
In-Reply-To: <20240819225116.17928-19-philmd@linaro.org>
Hi Kamil,
On 20/8/24 00:51, Philippe Mathieu-Daudé wrote:
> From: Kamil Szczęk <kamil@szczek.dev>
>
> The code which translates vmport=auto to on/off is currently separate
> for each PC machine variant, while being functionally equivalent.
> This moves the translation into a shared initialization function, while
> also tightening the enum assertion.
>
> Signed-off-by: Kamil Szczęk <kamil@szczek.dev>
> Reviewed-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Message-ID: <v8pz1uwgIYWkidgZK-o8H-qJvnSyl0641XVmNO43Qls307AA3QRPuad_py6xGe0JAxB6yDEe76oZ8tau_n-2Y6sJBCKzCujNbEUUFhd-ahI=@szczek.dev>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/i386/pc.c | 5 +++++
> hw/i386/pc_piix.c | 5 -----
> hw/i386/pc_q35.c | 5 -----
> 3 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index c74931d577..72229a24ff 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1217,6 +1217,11 @@ void pc_basic_device_init(struct PCMachineState *pcms,
> isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal);
> }
>
> + assert(pcms->vmport >= 0 && pcms->vmport < ON_OFF_AUTO__MAX);
Coverity reported:
>>> CID 1559533: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
>>> "pcms->vmport >= 0" is always true regardless of the values of
its operands. This occurs as the logical first operand of "&&".
QAPI enums are unsigned because they start at 0, see:
https://www.qemu.org/docs/master/devel/qapi-code-gen.html#enumeration-types
The generated C enumeration constants have values 0, 1, …, N-1
(in QAPI schema order), where N is the number of values. There
is an additional enumeration constant PREFIX__MAX with value N.
Could you post a patch to address this issue?
Thanks,
Phil.
> + if (pcms->vmport == ON_OFF_AUTO_AUTO) {
> + pcms->vmport = xen_enabled() ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
> + }
> +
> /* Super I/O */
> pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled,
> pcms->vmport != ON_OFF_AUTO_ON);
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index d9e69243b4..347afa4c37 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -310,11 +310,6 @@ static void pc_init1(MachineState *machine, const char *pci_type)
>
> pc_vga_init(isa_bus, pcmc->pci_enabled ? pcms->pcibus : NULL);
>
> - assert(pcms->vmport != ON_OFF_AUTO__MAX);
> - if (pcms->vmport == ON_OFF_AUTO_AUTO) {
> - pcms->vmport = xen_enabled() ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
> - }
> -
> /* init basic PC hardware */
> pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc,
> !MACHINE_CLASS(pcmc)->no_floppy, 0x4);
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 9d108b194e..f2d8edfa84 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -276,11 +276,6 @@ static void pc_q35_init(MachineState *machine)
> x86_register_ferr_irq(x86ms->gsi[13]);
> }
>
> - assert(pcms->vmport != ON_OFF_AUTO__MAX);
> - if (pcms->vmport == ON_OFF_AUTO_AUTO) {
> - pcms->vmport = ON_OFF_AUTO_ON;
> - }
> -
> /* init basic PC hardware */
> pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc, !mc->no_floppy,
> 0xff0104);
next prev parent reply other threads:[~2024-08-20 19:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-19 22:50 [PULL 00/20] Misc fixes for 2024-08-20 Philippe Mathieu-Daudé
2024-08-19 22:50 ` [PULL 01/20] hw/mips/loongson3_virt: Store core_iocsr into LoongsonMachineState Philippe Mathieu-Daudé
2024-08-19 22:50 ` [PULL 02/20] hw/mips/loongson3_virt: Fix condition of IPI IOCSR connection Philippe Mathieu-Daudé
2024-08-19 22:50 ` [PULL 03/20] qemu-options.hx: correct formatting -smbios type=4 Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 04/20] target/mips: Pass page table entry size as MemOp to get_pte() Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 05/20] target/mips: Use correct MMU index in get_pte() Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 06/20] target/mips: Load PTE as DATA Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 07/20] hw/dma/xilinx_axidma: Use semicolon at end of statement, not comma Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 08/20] hw/remote/message.c: Don't directly invoke DeviceClass:reset Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 09/20] linux-user/mips: Do not try to use removed R5900 CPU Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 10/20] linux-user/mips: Select Octeon68XX CPU for Octeon binaries Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 11/20] linux-user/mips: Select MIPS64R2-generic for Rel2 binaries Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 12/20] linux-user/mips: Select Loongson CPU for Loongson binaries Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 13/20] tests/avocado: exec_command should not consume console output Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 14/20] tests/avocado: Mark ppc_hv_tests.py as non-flaky after fixed console interaction Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 15/20] contrib/plugins/execlog: Fix shadowed declaration warning Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 16/20] target/sparc: Restrict STQF to sparcv9 Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 17/20] hw/ppc/Kconfig: Add missing SERIAL_ISA dependency to POWERNV machine Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 18/20] hw/i386/pc: Unify vmport=auto handling Philippe Mathieu-Daudé
2024-08-20 19:48 ` Philippe Mathieu-Daudé [this message]
2024-08-20 20:32 ` Kamil Szczęk
2024-08-20 22:45 ` Richard Henderson
2024-08-20 22:55 ` Kamil Szczęk
2024-08-19 22:51 ` [PULL 19/20] hw/i386/pc: Ensure vmport prerequisites are fulfilled Philippe Mathieu-Daudé
2024-08-19 22:51 ` [PULL 20/20] crypto/tlscredspsk: Free username on finalize Philippe Mathieu-Daudé
2024-08-20 6:50 ` [PULL 00/20] Misc fixes for 2024-08-20 Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ee5b8c9e-09fe-4b28-86fb-c6859085f988@linaro.org \
--to=philmd@linaro.org \
--cc=kamil@szczek.dev \
--cc=qemu-devel@nongnu.org \
--cc=shentey@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).