Message ID | 20240425184315.553329-1-thuth@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Make it possible to compile the x86 binaries without FDC | expand |
Hi Thomas, On 25/4/24 20:43, Thomas Huth wrote: > For downstream versions of QEMU, we'd like to be able to compile QEMU > without the FDC code included (since it's not required for modern VMs > anymore and the FDC code has rather a bad reputation, see the VENOM CVE). IIRC you still need to keep the i440fx+piix machine DS due to migration compatibility, right? Are you able to migrate a VM booted with FDC to a non-FDC one? > The q35 machine can already be instantiated without FDC, but for being > able to link a binary without the FDC code, the Kconfig file needs some > tweaks and there are two spots in the pc code that directly call functions > from the FDC code - those need to be disabled via #ifdefs. Is it useful to you to have q35 without FDC but i440fx+piix with? Or are you removing it from i440fx+piix due to shared code with q35? > The third patch changes the i440fx and isapc machine types so that > they can work without the FDC device, too, in case it has not been > compiled into the binary. It's marked as RFC since I assume that the > FDC was originally a fix compononent of these motherboards, so I'm > unsure whether we should allow the disablement there. OTOH, it seems > to work fine, and the FDC is only disabled when it is not available > in the binary, so I hope this patch is fine, too. > > Thomas Huth (3): > hw/i386/pc: Allow to compile without CONFIG_FDC_ISA > hw/i386/Kconfig: Allow to compile Q35 without FDC_ISA > hw/i386: Add the possibility to use i440fx and isapc without FDC > > hw/i386/pc.c | 13 +++++++++---- > hw/i386/pc_piix.c | 6 ++++-- > hw/i386/Kconfig | 2 +- > 3 files changed, 14 insertions(+), 7 deletions(-) >
On 25/04/2024 22.56, Philippe Mathieu-Daudé wrote: > Hi Thomas, > > On 25/4/24 20:43, Thomas Huth wrote: >> For downstream versions of QEMU, we'd like to be able to compile QEMU >> without the FDC code included (since it's not required for modern VMs >> anymore and the FDC code has rather a bad reputation, see the VENOM CVE). > > IIRC you still need to keep the i440fx+piix machine DS due to > migration compatibility, right? > > Are you able to migrate a VM booted with FDC to a non-FDC one? Migration from a machine with FDC to one without is likely not possible. But that's also not the purpose of this series. It's about having the possibility to build a QEMU binary without FDC at all in case you don't have to support old machine types with FDC anymore. >> The q35 machine can already be instantiated without FDC, but for being >> able to link a binary without the FDC code, the Kconfig file needs some >> tweaks and there are two spots in the pc code that directly call functions >> from the FDC code - those need to be disabled via #ifdefs. > > Is it useful to you to have q35 without FDC but i440fx+piix with? > Or are you removing it from i440fx+piix due to shared code with q35? I think it might get useful. Thomas
[ Cc: qemu-block ] Am 25.04.2024 um 20:43 hat Thomas Huth geschrieben: > For downstream versions of QEMU, we'd like to be able to compile QEMU > without the FDC code included (since it's not required for modern VMs > anymore and the FDC code has rather a bad reputation, see the VENOM CVE). > > The q35 machine can already be instantiated without FDC, but for being > able to link a binary without the FDC code, the Kconfig file needs some > tweaks and there are two spots in the pc code that directly call functions > from the FDC code - those need to be disabled via #ifdefs. > > The third patch changes the i440fx and isapc machine types so that > they can work without the FDC device, too, in case it has not been > compiled into the binary. It's marked as RFC since I assume that the > FDC was originally a fix compononent of these motherboards, so I'm > unsure whether we should allow the disablement there. OTOH, it seems > to work fine, and the FDC is only disabled when it is not available > in the binary, so I hope this patch is fine, too. > > Thomas Huth (3): > hw/i386/pc: Allow to compile without CONFIG_FDC_ISA > hw/i386/Kconfig: Allow to compile Q35 without FDC_ISA > hw/i386: Add the possibility to use i440fx and isapc without FDC > > hw/i386/pc.c | 13 +++++++++---- > hw/i386/pc_piix.c | 6 ++++-- > hw/i386/Kconfig | 2 +- > 3 files changed, 14 insertions(+), 7 deletions(-) > > -- > 2.44.0 > >
On 25/4/24 20:43, Thomas Huth wrote: > Thomas Huth (3): > hw/i386/pc: Allow to compile without CONFIG_FDC_ISA > hw/i386/Kconfig: Allow to compile Q35 without FDC_ISA > hw/i386: Add the possibility to use i440fx and isapc without FDC Series: Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Thu, Apr 25, 2024 at 8:43 PM Thomas Huth <thuth@redhat.com> wrote: > OTOH, it seems > to work fine, and the FDC is only disabled when it is not available > in the binary, so I hope this patch is fine, too. We do the same for parallel so i think it should be fine---definitely for -nodefaults, and I'd say in general too. The CMOS byte already has a way to communicate no-floppy (0, see cmos_get_fd_drive_type). Paolo