From: Thomas Huth <thuth@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Miroslav Rezanina <mrezanin@redhat.com>
Subject: [PATCH 1/3] hw/i386/pc: Allow to compile without CONFIG_FDC_ISA
Date: Thu, 25 Apr 2024 20:43:13 +0200 [thread overview]
Message-ID: <20240425184315.553329-2-thuth@redhat.com> (raw)
In-Reply-To: <20240425184315.553329-1-thuth@redhat.com>
The q35 machine can work without FDC. But to be able to also link
a QEMU binary that does not include the FDC code, we have to make
it possible to disable the spots that call into the FDC code.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/i386/pc.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 08c7de416f..93c48f6747 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -439,16 +439,19 @@ static void pc_boot_set(void *opaque, const char *boot_device, Error **errp)
static void pc_cmos_init_floppy(MC146818RtcState *rtc_state, ISADevice *floppy)
{
- int val, nb, i;
+ int val, nb;
FloppyDriveType fd_type[2] = { FLOPPY_DRIVE_TYPE_NONE,
FLOPPY_DRIVE_TYPE_NONE };
+#ifdef CONFIG_FDC_ISA
/* floppy type */
if (floppy) {
- for (i = 0; i < 2; i++) {
+ for (int i = 0; i < 2; i++) {
fd_type[i] = isa_fdc_get_drive_type(floppy, i);
}
}
+#endif
+
val = (cmos_get_fd_drive_type(fd_type[0]) << 4) |
cmos_get_fd_drive_type(fd_type[1]);
mc146818rtc_set_cmos_data(rtc_state, 0x10, val);
@@ -1132,7 +1135,7 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl,
int i;
DriveInfo *fd[MAX_FD];
qemu_irq *a20_line;
- ISADevice *fdc, *i8042, *port92, *vmmouse;
+ ISADevice *i8042, *port92, *vmmouse;
serial_hds_isa_init(isa_bus, 0, MAX_ISA_SERIAL_PORTS);
parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS);
@@ -1142,11 +1145,13 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl,
create_fdctrl |= !!fd[i];
}
if (create_fdctrl) {
- fdc = isa_new(TYPE_ISA_FDC);
+#ifdef CONFIG_FDC_ISA
+ ISADevice *fdc = isa_new(TYPE_ISA_FDC);
if (fdc) {
isa_realize_and_unref(fdc, isa_bus, &error_fatal);
isa_fdc_init_drives(fdc, fd);
}
+#endif
}
if (!create_i8042) {
--
2.44.0
next prev parent reply other threads:[~2024-04-25 18:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-25 18:43 [PATCH 0/3] Make it possible to compile the x86 binaries without FDC Thomas Huth
2024-04-25 18:43 ` Thomas Huth [this message]
2024-05-06 14:26 ` [PATCH 1/3] hw/i386/pc: Allow to compile without CONFIG_FDC_ISA Philippe Mathieu-Daudé
2024-04-25 18:43 ` [PATCH 2/3] hw/i386/Kconfig: Allow to compile Q35 without FDC_ISA Thomas Huth
2024-04-25 18:43 ` [RFC PATCH 3/3] hw/i386: Add the possibility to use i440fx and isapc without FDC Thomas Huth
2024-04-25 20:56 ` [PATCH 0/3] Make it possible to compile the x86 binaries " Philippe Mathieu-Daudé
2024-04-26 5:08 ` Thomas Huth
2024-04-29 10:31 ` Kevin Wolf
2024-05-06 14:27 ` Philippe Mathieu-Daudé
2024-05-06 15:59 ` Paolo Bonzini
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=20240425184315.553329-2-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mrezanin@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.