Maybe rename Windows 2001, 2006, and 2009 to their real names?
Or use their NT kernel name instead, like NT 6.1, NT 6.2, etc.
Or add a comment in the source code like:
“Windows 2009” /* Windows 7 */ ||
"Windows 2012" /* Windows Server 2012 */ ||


On Mon, Aug 5, 2013 at 9:11 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:

> > From my quick research, it looks like "Windows 2006" || "Windows
> > 2006.1" || "Linux" would work, but I have not tested it.
> >
> > Paolo
>
> This doesn't work in that it matches linux.

Note that the above was meant to be a condition for when to _show_
the PCI hole, i.e. negated compared to your example.

> 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?

>       && !(
>         "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.

>       "Linux" ||
>       "FreeBSD"
>       ) &&
>       _OS == "Microsoft Windows NT"
>       &&
>       _REV == 0x1

Testing _OS and _REV is probably too strict.

> This should match XP and 2003 as tightly as possible.
> Please note "Linux" is there just in case, modern
> Linux OSPM does not identify itself as "Linux".

Yeah, I know.  I didn't know about FreeBSD, and I agree it is
better to include it just in case.

Paolo

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios