Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
On 07/28/12 17:27, Kevin O'Connor wrote: > On Thu, Jul 26, 2012 at 03:38:47PM +, 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: 0x00A5 (0x02, 0xfADF6A446880, 0x1, >> 0xFADFAA34690) >> >> 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 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
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: 0x00A5 (0x02, 0xfADF6A446880, 0x1, > 0xFADFAA34690) > > 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 ( 0x, // Address Translation Offset 0x1EC0, // Address Length ,, PW32, AddressRangeMemory, TypeStatic) -}) -Name (CR64, ResourceTemplate () -{ QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x, // Address Space Granularity 0x80,// 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 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
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 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
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 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
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=0x00A5 On Sat, Jul 28, 2012 at 5:27 PM, Kevin O'Connor wrote: > On Thu, Jul 26, 2012 at 03:38:47PM +, 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: 0x00A5 (0x02, 0xfADF6A446880, 0x1, >> 0xFADFAA34690) >> >> 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 ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
On Thu, Jul 26, 2012 at 03:38:47PM +, 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: 0x00A5 (0x02, 0xfADF6A446880, 0x1, > 0xFADFAA34690) > > 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
[SeaBIOS] [BUG] BSOD on Win2003 Server when 64bit PCI resource is present
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: 0x00A5 (0x02, 0xfADF6A446880, 0x1, 0xFADFAA34690) 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) ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios