* [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-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
* 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
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).