* [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present @ 2012-07-26 15:38 Alexey Korolev 2012-07-28 15:27 ` Kevin O'Connor ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Alexey Korolev @ 2012-07-26 15:38 UTC (permalink / raw) To: seabios@seabios.org, mst@redhat.com, Gerd Hoffmann Cc: kevin@koconnor.net, qemu-devel@nongnu.org HI, Current version of Seabios is causing blue screen on Windows2003 when 64bit PCI resource is present and occupies high memory. BSOD Error code is: 0x000000A5 (0x02, 0xFFFFfADF6A446880, 0x1, 0xFFFFFADFAA34690) The issue is localized, it is related to presence of 64bit resource in _CRS method. If we disable a 64bit region from _CRS the Win2003 load normally but this doesn't allow Windows to use 64bit resources. At the moment I have no idea how to fix this. Please help! P/S Yet another issue is related to debug messages. If I add any DBUG call in acpi-dst it will cause BSOD on win2003 (win2008 works fine) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-26 15:38 [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present Alexey Korolev @ 2012-07-28 15:27 ` Kevin O'Connor 2012-07-28 16:51 ` [Qemu-devel] [SeaBIOS] " Fred . ` (2 more replies) 2012-07-29 15:51 ` Paolo Bonzini 2012-08-03 16:29 ` Paolo Bonzini 2 siblings, 3 replies; 7+ messages in thread From: Kevin O'Connor @ 2012-07-28 15:27 UTC (permalink / raw) To: Alexey Korolev Cc: qemu-devel@nongnu.org, seabios@seabios.org, Gerd Hoffmann, mst@redhat.com On Thu, Jul 26, 2012 at 03:38:47PM +0000, Alexey Korolev wrote: > HI, > > Current version of Seabios is causing blue screen on Windows2003 when 64bit PCI resource is present and occupies high memory. > > BSOD Error code is: 0x000000A5 (0x02, 0xFFFFfADF6A446880, 0x1, 0xFFFFFADFAA34690) > > The issue is localized, it is related to presence of 64bit resource in _CRS method. > > If we disable a 64bit region from _CRS the Win2003 load normally but this doesn't allow Windows to use 64bit resources. > > At the moment I have no idea how to fix this. Please help! Unfortunately, it's very difficult to debug acpi issues on Windows. Gerd's been on vacation this week - so, lets give him a chance to look at it when he gets back. If it can't be resolved, we'll need to revert the patch that broke Win2003. > P/S > Yet another issue is related to debug messages. > If I add any DBUG call in acpi-dst it will cause BSOD on win2003 (win2008 works fine) I've seen this as well (on WinXP - I don't have Win2003). Unfortunately, I haven't been able to find out why the debug macro fails on these older versions of Windows. -Kevin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-28 15:27 ` Kevin O'Connor @ 2012-07-28 16:51 ` Fred . 2012-07-28 17:52 ` [Qemu-devel] " Alexey Korolev 2012-08-06 8:21 ` Gerd Hoffmann 2 siblings, 0 replies; 7+ messages in thread From: Fred . @ 2012-07-28 16:51 UTC (permalink / raw) To: Kevin O'Connor Cc: Alexey Korolev, seabios@seabios.org, mst@redhat.com, qemu-devel@nongnu.org, Gerd Hoffmann Bug Check 0xA5: ACPI_BIOS_ERROR Bug Check 0x2: DEVICE_QUEUE_NOT_BUSY http://msdn.microsoft.com/en-us/library/windows/hardware/ff560114%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff557475%28v=vs.85%29.aspx - at the bottom there is a send comment to Microsoft form http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/cpa002_wh06.ppt -- ACPI In Windows Vista (PowerPoint presentation) https://support.microsoft.com/oas/default.aspx?&ln=en-us&x=14&y=13&sd=gn&gprid=3198&&st=1&wfxredirect=1 -- From here it is possible to file a support request https://www.google.com/?q=0x000000A5 On Sat, Jul 28, 2012 at 5:27 PM, Kevin O'Connor <kevin@koconnor.net> wrote: > On Thu, Jul 26, 2012 at 03:38:47PM +0000, Alexey Korolev wrote: >> HI, >> >> Current version of Seabios is causing blue screen on Windows2003 when 64bit PCI resource is present and occupies high memory. >> >> BSOD Error code is: 0x000000A5 (0x02, 0xFFFFfADF6A446880, 0x1, 0xFFFFFADFAA34690) >> >> The issue is localized, it is related to presence of 64bit resource in _CRS method. >> >> If we disable a 64bit region from _CRS the Win2003 load normally but this doesn't allow Windows to use 64bit resources. >> >> At the moment I have no idea how to fix this. Please help! > > Unfortunately, it's very difficult to debug acpi issues on Windows. > Gerd's been on vacation this week - so, lets give him a chance to look > at it when he gets back. If it can't be resolved, we'll need to > revert the patch that broke Win2003. > >> P/S >> Yet another issue is related to debug messages. >> If I add any DBUG call in acpi-dst it will cause BSOD on win2003 (win2008 works fine) > > I've seen this as well (on WinXP - I don't have Win2003). > Unfortunately, I haven't been able to find out why the debug macro > fails on these older versions of Windows. > > -Kevin > > _______________________________________________ > SeaBIOS mailing list > SeaBIOS@seabios.org > http://www.seabios.org/mailman/listinfo/seabios ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-28 15:27 ` Kevin O'Connor 2012-07-28 16:51 ` [Qemu-devel] [SeaBIOS] " Fred . @ 2012-07-28 17:52 ` Alexey Korolev 2012-08-06 8:21 ` Gerd Hoffmann 2 siblings, 0 replies; 7+ messages in thread From: Alexey Korolev @ 2012-07-28 17:52 UTC (permalink / raw) To: Kevin O'Connor Cc: qemu-devel@nongnu.org, seabios@seabios.org, Gerd Hoffmann, mst@redhat.com Hi Kevin, >Unfortunately, it's very difficult to debug acpi issues on Windows. >Gerd's been on vacation this week - so, lets give him a chance to look >at it when he gets back. If it can't be resolved, we'll need to >revert the patch that broke Win2003. Thank you for your reply. Right - acpi issues are painful. Actually I'm on a long holidays too. I'll do my best if you or Gerd need any help with the issue. Kind regards, Alexey ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-28 15:27 ` Kevin O'Connor 2012-07-28 16:51 ` [Qemu-devel] [SeaBIOS] " Fred . 2012-07-28 17:52 ` [Qemu-devel] " Alexey Korolev @ 2012-08-06 8:21 ` Gerd Hoffmann 2 siblings, 0 replies; 7+ messages in thread From: Gerd Hoffmann @ 2012-08-06 8:21 UTC (permalink / raw) To: Kevin O'Connor Cc: Alexey Korolev, seabios@seabios.org, qemu-devel@nongnu.org, mst@redhat.com On 07/28/12 17:27, Kevin O'Connor wrote: > On Thu, Jul 26, 2012 at 03:38:47PM +0000, Alexey Korolev wrote: >> HI, >> >> Current version of Seabios is causing blue screen on Windows2003 when 64bit PCI resource is present and occupies high memory. >> >> BSOD Error code is: 0x000000A5 (0x02, 0xFFFFfADF6A446880, 0x1, 0xFFFFFADFAA34690) >> >> The issue is localized, it is related to presence of 64bit resource in _CRS method. >> >> If we disable a 64bit region from _CRS the Win2003 load normally but this doesn't allow Windows to use 64bit resources. >> >> At the moment I have no idea how to fix this. Please help! > > Unfortunately, it's very difficult to debug acpi issues on Windows. > Gerd's been on vacation this week - so, lets give him a chance to look > at it when he gets back. If it can't be resolved, we'll need to > revert the patch that broke Win2003. Well, it isn't a regression, so no need to revert IMHO. It breaks on winxp / win2k3 only in case 64bit pci is actually used. Which happens only in case we run out of address space below 4G. This is a setup which isn't supported at all with older seabios versions. The very first patch revision had a static entry in the _CRS array (before _CRS became a method) which didn't work with winxp too. So we ended up with the _CRS method which (beside updating the 32bit window) adds the 64bit RessourceTemplate only in case we actually have 64bit pci ressources, so we don't disturb existing setups with a new 64bit entry they might not be able to handle. I've never seen 64bit RessourceTemplate entries work with winxp, I fear the winxp acpi code just can't handle 64bit RessourceTemplates ... cheers, Gerd ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-26 15:38 [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present Alexey Korolev 2012-07-28 15:27 ` Kevin O'Connor @ 2012-07-29 15:51 ` Paolo Bonzini 2012-08-03 16:29 ` Paolo Bonzini 2 siblings, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2012-07-29 15:51 UTC (permalink / raw) To: Alexey Korolev Cc: qemu-devel@nongnu.org, kevin@koconnor.net, seabios@seabios.org, Gerd Hoffmann, mst@redhat.com Il 26/07/2012 17:38, Alexey Korolev ha scritto: > If I add any DBUG call in acpi-dst it will cause BSOD on win2003 (win2008 works fine) You can try inlining it (in practice this means adding simple Store(0x41, DBGB) here and there). Paolo ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present 2012-07-26 15:38 [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present Alexey Korolev 2012-07-28 15:27 ` Kevin O'Connor 2012-07-29 15:51 ` Paolo Bonzini @ 2012-08-03 16:29 ` Paolo Bonzini 2 siblings, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2012-08-03 16:29 UTC (permalink / raw) To: Alexey Korolev Cc: qemu-devel@nongnu.org, kevin@koconnor.net, seabios@seabios.org, Gerd Hoffmann, mst@redhat.com Il 26/07/2012 17:38, Alexey Korolev ha scritto: > HI, > > Current version of Seabios is causing blue screen on Windows2003 when 64bit PCI resource is present and occupies high memory. > > BSOD Error code is: 0x000000A5 (0x02, 0xFFFFfADF6A446880, 0x1, 0xFFFFFADFAA34690) > > The issue is localized, it is related to presence of 64bit resource in _CRS method. > > If we disable a 64bit region from _CRS the Win2003 load normally but this doesn't allow Windows to use 64bit resources. > > At the moment I have no idea how to fix this. Please help! I wonder if Windows 2003 does not support ConcatenateResTemplate. The patch below is obviously wrong, but should let you check if this is the issue: git diff src/acpi-dsdt.dsl diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index 72dc7d8..11a9c92 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -175,9 +175,6 @@ DefinitionBlock ( 0x00000000, // Address Translation Offset 0x1EC00000, // Address Length ,, PW32, AddressRangeMemory, TypeStatic) - }) - Name (CR64, ResourceTemplate () - { QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x8000000000, // Address Range Minimum @@ -221,20 +218,14 @@ DefinitionBlock ( Store (P0EL, PE32) Store (P0LL, PL32) - If (LAnd(LEqual(P1SL, 0x00), LEqual(P1SH, 0x00))) { - Return (CRES) - } Else { /* fixup 64bit pci io window */ - CreateQWordField (CR64,\_SB.PCI0.PW64._MIN, PS64) - CreateQWordField (CR64,\_SB.PCI0.PW64._MAX, PE64) - CreateQWordField (CR64,\_SB.PCI0.PW64._LEN, PL64) + CreateQWordField (CRES,\_SB.PCI0.PW64._MIN, PS64) + CreateQWordField (CRES,\_SB.PCI0.PW64._MAX, PE64) + CreateQWordField (CRES,\_SB.PCI0.PW64._LEN, PL64) Store (P1S, PS64) Store (P1E, PE64) Store (P1L, PL64) - /* add window and return result */ - ConcatenateResTemplate (CRES, CR64, Local0) - Return (Local0) - } + Return (CRES) } } } Paolo ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-08-06 8:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-07-26 15:38 [Qemu-devel] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present Alexey Korolev 2012-07-28 15:27 ` Kevin O'Connor 2012-07-28 16:51 ` [Qemu-devel] [SeaBIOS] " Fred . 2012-07-28 17:52 ` [Qemu-devel] " Alexey Korolev 2012-08-06 8:21 ` Gerd Hoffmann 2012-07-29 15:51 ` Paolo Bonzini 2012-08-03 16:29 ` Paolo Bonzini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).