From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49579) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGBzn-0004CL-Ay for qemu-devel@nongnu.org; Mon, 04 Jan 2016 15:44:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGBzm-0007vX-7L for qemu-devel@nongnu.org; Mon, 04 Jan 2016 15:44:51 -0500 References: <1451506316-31975-1-git-send-email-rkagan@virtuozzo.com> <1451506316-31975-5-git-send-email-rkagan@virtuozzo.com> From: John Snow Message-ID: <568AD9BA.8040902@redhat.com> Date: Mon, 4 Jan 2016 15:44:42 -0500 MIME-Version: 1.0 In-Reply-To: <1451506316-31975-5-git-send-email-rkagan@virtuozzo.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 4/6] expose floppy drive geometry and CMOS type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Roman Kagan , qemu-devel@nongnu.org Cc: Kevin Wolf , Eduardo Habkost , qemu-block@nongnu.org, "Michael S. Tsirkin" , qemu-stable@nongnu.org, Igor Mammedov , Paolo Bonzini , Richard Henderson On 12/30/2015 03:11 PM, Roman Kagan wrote: > Make it possible to query the geometry and the CMOS type of a floppy > drive outside of the respective source files. > > It will be useful, in particular, when dynamically building ACPI tables, > and will allow to properly populate the corresponding ACPI objects and > thus enable BIOS-less systems to access the floppy drives. > > Signed-off-by: Roman Kagan > Cc: "Michael S. Tsirkin" > Cc: Eduardo Habkost > Cc: Igor Mammedov > Cc: John Snow > Cc: Kevin Wolf > Cc: Paolo Bonzini > Cc: Richard Henderson > Cc: qemu-block@nongnu.org > Cc: qemu-stable@nongnu.org > --- > no changes since v4 > > changes since v3: > - split out into a separate patch to faciliate review > > hw/block/fdc.c | 11 +++++++++++ > hw/i386/pc.c | 2 +- > include/hw/block/fdc.h | 2 ++ > include/hw/i386/pc.h | 1 + > 4 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/hw/block/fdc.c b/hw/block/fdc.c > index 4292ece..c858c5f 100644 > --- a/hw/block/fdc.c > +++ b/hw/block/fdc.c > @@ -2408,6 +2408,17 @@ FDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i) > return isa->state.drives[i].drive; > } > > +void isa_fdc_get_drive_geometry(ISADevice *fdc, int i, uint8_t *cylinders, > + uint8_t *heads, uint8_t *sectors) > +{ > + FDCtrlISABus *isa = ISA_FDC(fdc); > + FDrive *drv = &isa->state.drives[i]; > + > + *cylinders = drv->max_track; > + *heads = (drv->flags & FDISK_DBL_SIDES) ? 2 : 1; > + *sectors = drv->last_sect; > +} > + > static const VMStateDescription vmstate_isa_fdc ={ > .name = "fdc", > .version_id = 2, > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index c36b8cf..99fab83 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -199,7 +199,7 @@ static void pic_irq_request(void *opaque, int irq, int level) > > #define REG_EQUIPMENT_BYTE 0x14 > > -static int cmos_get_fd_drive_type(FDriveType fd0) > +int cmos_get_fd_drive_type(FDriveType fd0) > { > int val; > > diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h > index d48b2f8..adaf3dc 100644 > --- a/include/hw/block/fdc.h > +++ b/include/hw/block/fdc.h > @@ -22,5 +22,7 @@ void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base, > DriveInfo **fds, qemu_irq *fdc_tc); > > FDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i); > +void isa_fdc_get_drive_geometry(ISADevice *fdc, int i, uint8_t *cylinders, > + uint8_t *heads, uint8_t *sectors); > > #endif > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index 8122229..d044a9a 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -268,6 +268,7 @@ typedef void (*cpu_set_smm_t)(int smm, void *arg); > void ioapic_init_gsi(GSIState *gsi_state, const char *parent_name); > > ISADevice *pc_find_fdc0(void); > +int cmos_get_fd_drive_type(FDriveType fd0); > > /* acpi_piix.c */ > > Patches 1,4: Reviewed-by: John Snow Aside: Why did they have you split out the test changes to be separate from the code? Doesn't that introduce commits where the tests now fail? --js