[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] RE: _OSI(Linux) == false
On Fri, 2007-08-17 at 14:13 +0800, Xu, Anthony wrote: > > > > This changeset was just brought to my attention: > > > >http://www.kernel.org/hg/linux-2.6/rev/7f6bc8a8fb19 > > > >In short, newer upstream kernels will return True for _OSI(Windows) and > >False for _OSI(Linux). This will cause Linux VT-i domains to get > >incorrectly identified as Windows guests and do bad things with region > 4 > >& 5 mapping. > > Does linux call _OSI(Windows)? > If not, it will not impact XEN. We added platform optimizations based on the following assumption: On Tue, 2007-05-08 at 10:55 +0800, Xu, Anthony wrote: > Run linux, > Both __OSI(linux) and __OSI(windows) return true. > > Run windows, > __OSI(linux) return false, > __OSI(windows) return true. > > So if guest FW checks linux first then checks windows. > Guest FW can tell which OS is running on top of it. > Then Guest FW can tell XEN which OS is running. We can no longer identify Linux vs Windows in this manner unless we can make Linux return True for _OSI(linux) when it's running on Xen. Is this not the way the code works? I see the calls to _OSI in the _INI method of the PCI0 device in the DSDT: 147 If (CondRefOf(_OSI, Local0)) 148 { 149 //Compare linux first. Because \_OSI("Windows 2001") still 150 //return true while linux running on guest 151 If (\_OSI("Linux")) 152 { 153 Store(0xB2, OST) 154 } 155 ElseIf (\_OSI("Windows 2001.1")) 156 { 157 Store(0xB1, OST) 158 } 159 Else 160 { 161 Store(0xB0, OST) 162 } 163 164 Store(0xB0, OST) 165 } Thanks, Alex -- Alex Williamson HP Open Source & Linux Org. _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |