[SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Windows XP

Paolo Bonzini pbonzini at redhat.com
Tue Aug 6 18:43:04 CEST 2013


> > > 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=OPENSOLARIS;im=10

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



More information about the SeaBIOS mailing list