All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Roman Kagan <rkagan@virtuozzo.com>
Cc: "Laszlo Ersek" <lersek@redhat.com>,
	qemu-devel@nongnu.org, "Kevin O'Connor" <kevin@koconnor.net>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Marcel Apfelbaum" <marcel@redhat.com>,
	"Denis Lunev" <den@openvz.org>, "John Snow" <jsnow@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v8 3/4] fdc: add function to determine drive chs limits
Date: Wed, 17 Feb 2016 22:15:32 +0200	[thread overview]
Message-ID: <20160217220522-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <1455733533-12030-4-git-send-email-rkagan@virtuozzo.com>

On Wed, Feb 17, 2016 at 09:25:32PM +0300, Roman Kagan wrote:
> When populating ACPI objects for floppy drives one needs to provide the
> maximum values for cylinder, sector, and head number the drive supports.
> 
> This patch adds a function that iterates through the array of predefined
> floppy drive formats and returns the maximum values of c, h, s, out of
> those matching the given floppy drive type.
> 
> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Marcel Apfelbaum <marcel@redhat.com>
> Cc: John Snow <jsnow@redhat.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Kevin O'Connor <kevin@koconnor.net>
> ---
> changes since v7:
>  - use drive max c,h,s rather than the current diskette geometry
> 
>  hw/block/fdc.c         | 23 +++++++++++++++++++++++
>  include/hw/block/fdc.h |  2 ++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/hw/block/fdc.c b/hw/block/fdc.c
> index 9838d21..fc3aef9 100644
> --- a/hw/block/fdc.c
> +++ b/hw/block/fdc.c
> @@ -2557,6 +2557,29 @@ FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i)
>      return isa->state.drives[i].drive;
>  }
>  
> +void isa_fdc_get_drive_max_chs(FloppyDriveType type,
> +                               uint8_t *maxc, uint8_t *maxh, uint8_t *maxs)
> +{
> +    const FDFormat *fdf;
> +
> +    *maxc = *maxh = *maxs = 0;
> +    for (fdf = fd_formats; fdf->drive != FLOPPY_DRIVE_TYPE_NONE; fdf++) {
> +        if (fdf->drive != type) {
> +            continue;
> +        }

Hmm. How does this interact with the fallback/autodetect thing?

I understand what it does rather vaguely.

I wonder whether we can just ignore the type and take
global maximum in all cases.

> +        if (*maxc < fdf->max_track) {
> +            *maxc = fdf->max_track;
> +        }
> +        if (*maxh < fdf->max_head) {
> +            *maxh = fdf->max_head;
> +        }
> +        if (*maxs < fdf->last_sect) {
> +            *maxs = fdf->last_sect;
> +        }
> +    }
> +    (*maxc)--;

Why not just *maxc = fdf->max_track - 1 above?

> +}
> +
>  static const VMStateDescription vmstate_isa_fdc ={
>      .name = "fdc",
>      .version_id = 2,
> diff --git a/include/hw/block/fdc.h b/include/hw/block/fdc.h
> index adce14f..1749dab 100644
> --- a/include/hw/block/fdc.h
> +++ b/include/hw/block/fdc.h
> @@ -15,5 +15,7 @@ void sun4m_fdctrl_init(qemu_irq irq, hwaddr io_base,
>                         DriveInfo **fds, qemu_irq *fdc_tc);
>  
>  FloppyDriveType isa_fdc_get_drive_type(ISADevice *fdc, int i);
> +void isa_fdc_get_drive_max_chs(FloppyDriveType type,
> +                               uint8_t *maxc, uint8_t *maxh, uint8_t *maxs);
>  
>  #endif
> -- 
> 2.5.0

  reply	other threads:[~2016-02-17 20:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-17 18:25 [Qemu-devel] [PATCH v8 0/4] i386: expose floppy-related objects in SSDT Roman Kagan
2016-02-17 18:25 ` [Qemu-devel] [PATCH v8 1/4] i386/acpi: make floppy controller object dynamic Roman Kagan
2016-02-17 18:25 ` [Qemu-devel] [PATCH v8 2/4] i386: expose floppy drive CMOS type Roman Kagan
2016-02-17 18:25 ` [Qemu-devel] [PATCH v8 3/4] fdc: add function to determine drive chs limits Roman Kagan
2016-02-17 20:15   ` Michael S. Tsirkin [this message]
2016-02-18  9:50     ` Roman Kagan
2016-02-18 10:01       ` Michael S. Tsirkin
2016-02-24 22:48         ` John Snow
2016-02-17 18:25 ` [Qemu-devel] [PATCH v8 4/4] i386: populate floppy drive information in DSDT Roman Kagan
2016-03-02 15:08 ` [Qemu-devel] [PATCH v8 0/4] i386: expose floppy-related objects in SSDT Denis V. Lunev
2016-03-02 15:10   ` Michael S. Tsirkin
2016-03-03 15:48     ` Roman Kagan
2016-03-03 18:29       ` Michael S. Tsirkin

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=20160217220522-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=den@openvz.org \
    --cc=hpoussin@reactos.org \
    --cc=imammedo@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kevin@koconnor.net \
    --cc=lersek@redhat.com \
    --cc=marcel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rkagan@virtuozzo.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 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.