ATM it looks like we should test "Windows 2000" || "Windows 2001" || "Windows 2001 SP1" || "Windows 2001.1 SP1"
Including this may be too strict, what about 98/ME?
Isn't this past EOL?
So what? People try to use it with QEMU, and it's fair to assume it's worse than XP.
&& !( "Windows 2006" || "Windows 2006.1" ||
We know that these are all implied by the following four:
"Windows 2006 SP1" || "Windows 2006 SP2" || "Windows 2009" || "Windows 2012" ||
So it is not necessary to test these four.
True, but I don't see how this can harm us, and I'm trying to check as much as possible.
Fair enough.
"Linux" || "FreeBSD" ) && _OS == "Microsoft Windows NT" && _REV == 0x1
Testing _OS and _REV is probably too strict.
Why too strict? We want to only affect very specific guests. whatever we don't know about, let's not touch it.
In practice all OSes we care about will disguise themselves as Windows. I checked Solaris now and it follows Linux's lead: http://fxr.watson.org/fxr/source/intel/io/acpica/utilities/uteval.c?v=OPENSO...
For whatever we don't know about, why should we assume 64-bit BARs work? Especially considering it's likely to be pretty old guests.
Paolo