From: Alex Williamson <alex.williamson@hp.com>
To: "Moore, Robert" <robert.moore@intel.com>
Cc: Gerald Pfeifer <gp@suse.de>, "Brown, Len" <len.brown@intel.com>,
linux-ia64@vger.kernel.org,
ACPI Developers <acpi-devel@lists.sourceforge.net>
Subject: RE: [ACPI] [PATCH] restore _OS object to "Linux" for ia64
Date: Mon, 13 Sep 2004 22:27:40 -0600 [thread overview]
Message-ID: <1095136060.8780.23.camel@mythbox> (raw)
In-Reply-To: <37F890616C995246BE76B3E6B2DBE05501FB4ABB@orsmsx403.amr.corp.intel.com>
On Mon, 2004-09-13 at 15:59 -0700, Moore, Robert wrote:
> Here's an example:
>
But how can we be sure we're bug for bug and feature for feature
compatible with an arbitrary version of Windows? I got curious and
looked at the DSDT on my home PC, generic VIA KM266 chipset. Sure
enough:
Name (OSFL, 0x00)
Method (_INI, 0, NotSerialized)
{
\_SB.PCI0.IODT ()
If (MCTH (\_OS, "Microsoft Windows NT"))
{
Store (0x00, OSFL)
}
Else
{
If (MCTH (\_OS, "Microsoft Windows"))
{
Store (0x01, OSFL)
}
Else
{
If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, OSFL)
}
Else
{
Store (0x03, OSFL)
}
}
}
}
Looking for consumers of OSFL...
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_BBN, 0x00)
Method (_S3D, 0, NotSerialized)
{
If (OSFL)
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
OK, maybe that's a good thing... several more like that on USB devices.
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_STA, 0, NotSerialized)
{
If (OSFL)
{
Return (0x0F)
}
Return (0x00)
}
Name (IORG, ResourceTemplate ()
{
FixedIO (0x0010, 0x10)
FixedIO (0x0022, 0x1E)
FixedIO (0x0044, 0x1C)
...
})
Method (_CRS, 0, NotSerialized)
{
Return (IORG)
}
}
Hmm, it's not so obvious this one is a win. There's another like that
for a PNP0C01 device listing Memory32Fixed ranges. And another named
PIC providing an interrupt resource. The motherboard driver could have
made use of these if they were marked as present, but they aren't for
"Microsoft Windows NT".
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
If (LAnd (LEqual (Arg0, 0x04), LEqual (\_SB.PCI0.OSFL, 0x02)))
{
Sleep (0x0BB8)
}
...
If (LNot (\_SB.PCI0.OSFL))
{
Store (\_SB.PCI0.TLBC, PTB1)
}
...
Store (\_SB.PCI0.OSFL, \_SB.PCI0.W2FG)
...
Ok, we're doing some special stuff here, a stall for Windows ME, a store
for Windows NT, but how do we know those aren't bug workarounds specific
to that version? There's a corresponding Windows NT check in the _WAK
method.
Of course these are all examples of i386 ACPI implementations. If
there was an ia64 ACPI implementation that used _OS, who's to say that
"Microsoft Windows NT" wouldn't be the untested case. I don't know what
Windows sets the _OS to for their ia64 releases. "Microsoft Windows NT"
might be as arbitrary as setting it to "foo" there.
I assume a blacklist was discussed when this was brought up earlier
on the list. I'll have to go look why that didn't fly. Thanks,
Alex
next prev parent reply other threads:[~2004-09-14 4:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-13 22:59 [PATCH] restore _OS object to "Linux" for ia64 Moore, Robert
2004-09-14 4:27 ` Alex Williamson [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-09-17 17:18 [ACPI] " Moore, Robert
2004-09-14 15:00 Moore, Robert
2004-09-13 19:37 Moore, Robert
2004-09-13 21:30 ` Gerald Pfeifer
2004-09-13 22:19 ` Nate Lawson
2004-09-13 18:27 Alex Williamson
2004-09-13 19:22 ` Len Brown
2004-09-13 19:42 ` [ACPI] " Alex Williamson
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=1095136060.8780.23.camel@mythbox \
--to=alex.williamson@hp.com \
--cc=acpi-devel@lists.sourceforge.net \
--cc=gp@suse.de \
--cc=len.brown@intel.com \
--cc=linux-ia64@vger.kernel.org \
--cc=robert.moore@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox