qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <1908450@bugs.launchpad.net>
To: qemu-devel@nongnu.org
Subject: [Bug 1908450] Re: ide/core.c ATA Major Version reporting incorrect
Date: Thu, 14 Jan 2021 23:19:00 -0000	[thread overview]
Message-ID: <161066634107.6686.3550162289681613265.malone@wampee.canonical.com> (raw)
In-Reply-To: 160815666653.31417.1447357912774624366.malonedeb@chaenomeles.canonical.com

That's probably the single most reasonable thing to do, truth be told!

I don't have the time to audit these fields properly; I don't know which
versions we truly ought to advertise support for. I know I looked at
ATA8-AC3 at some point fairly recently and concluded that we don't
support all of the "must-support" features of that spec, because we
don't implement any of the logging features whatsoever.

I often consult ATA8-ACS3 to take advantage of clarifications made in
later revisions and cross-correlate with ATA7; but I don't know what the
most modern specification we can be said to support the minimum feature
set from truly is.

Patches (and reviewers) always welcome; but generally I am afraid of
touching too many things because I don't want to break legacy operating
systems that might not have an awareness of QEMU. Our testing for older
operating systems is not particularly robust, here.

I think I am still leaning towards just fixing the comment, but if you
are aware of some ATA7 thing we are required to support but don't, I'll
remove the bit.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1908450

Title:
  ide/core.c ATA Major Version reporting incorrect

Status in QEMU:
  New

Bug description:
  @@ -165,7 +165,7 @@ static void ide_identify(IDEState *s)
          put_le16(p + 76, (1 << 8));
      }

      put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
  -   put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
  +   put_le16(p + 80, ((1 << 6) | (1 << 5) (1 << 4) (1 << 3)); /* ata3 -> ata6 supported */
      put_le16(p + 81, 0x16); /* conforms to ata5 */
      /* 14=NOP supported, 5=WCACHE supported, 0=SMART supported */
      put_le16(p + 82, (1 << 14) | (1 << 5) | 1);

  
  This field Major Version Number field is presently reporting support for ATA-4 through ATA-7.
  Bitfield[80] is defined in the ATA-6 specification below.

  0xF0 = (1<<7) | (1<<6) | (1 << 5) | (1 << 4) // 4-7 - current settings
  0x78 = (1<<6) | (1<<5) | (1 << 4) | (1 << 3) // 3-6 - new settings

  Either the comment is wrong, or the field is wrong. If the field is
  wrong it can cause errors in drivers that check support vs conformity.
  This will not break most guests, since the conformity field is set to
  ATA-5.

  I'm not sure whether this component supports ATA-7, but since it's
  commented as if it supports up through 6, correcting the field
  assignment seems more correct.

  ATA/ATAPI-6 Specification
  https://web.archive.org/web/20200124094822/https://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf

  Page 116
  80 - M Major version number
  0000h or FFFFh = device does not report version
  F 15 Reserved
  F 14 Reserved for ATA/ATAPI-14
  F 13 Reserved for ATA/ATAPI-13
  F 12 Reserved for ATA/ATAPI-12
  F 11 Reserved for ATA/ATAPI-11
  F 10 Reserved for ATA/ATAPI-10
  F 9 Reserved for ATA/ATAPI-9
  F 8 Reserved for ATA/ATAPI-8
  F 7 Reserved for ATA/ATAPI-7
  F 6 1 = supports ATA/ATAPI-6
  F 5 1 = supports ATA/ATAPI-5
  F 4 1 = supports ATA/ATAPI-4
  F 3 1 = supports ATA-3
  X 2 Obsolete
  X 1 Obsolete
  F 0 Reserved

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1908450/+subscriptions


  parent reply	other threads:[~2021-01-14 23:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-16 22:11 [Bug 1908450] [NEW] ide/core.c ATA Major Version reporting incorrect Gregory Price
2020-12-21  8:35 ` [Bug 1908450] " Thomas Huth
2021-01-14 22:39 ` John Snow
2021-01-14 22:59 ` Gregory Price
2021-01-14 23:19 ` John Snow [this message]
2021-01-14 23:58 ` Gregory Price
2021-04-30 17:05 ` Thomas Huth

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=161066634107.6686.3550162289681613265.malone@wampee.canonical.com \
    --to=1908450@bugs.launchpad.net \
    --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 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).