Hi,
I am trying to boot windows xp with my dbm690t which has S1G1 CPU, sb600 and rs690 chipset. Now, It still soft reset after loading several
files. The serial debug message says:
"fail handle_1ab1:154
Fail handle_1aXX:274
Fail get_device:608(00000001)
Fail handle_15XX:308(00000086)"
Do you have any advice for that or give me and ideas to debug?
Thanks
Jason Wang
BeiJing Technology Development Center
Advanced Micro Devices (AMD)
Hello,
Did you try to install it or you ran it from some HDD? Maybe powernow issue. Did you fix what Carl Daniel suggested?
Thanks, Rudolf
Wang, Qingpei wrote:
Hi,
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading several
files. The serial debug message says:
“fail handle_1ab1:154
Fail handle_1aXX:274
Fail get_device:608(00000001)
Fail handle_15XX:308(00000086)”
Do you have any advice for that or give me and ideas to debug?
Thanks
Jason Wang
BeiJing Technology Development Center
Advanced Micro Devices (AMD)
Just ran it from HDD, I had fixed the coreboot following Carl Daniel's suggestion. I will try to find out if it is because of powernow issue.
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Rudolf Marek [mailto:r.marek@assembler.cz] Sent: Friday, January 16, 2009 5:14 PM To: Wang, Qingpei Cc: Coreboot Subject: Re: Problems about booting windows xp
Hello,
Did you try to install it or you ran it from some HDD? Maybe powernow issue. Did you fix what Carl Daniel suggested?
Thanks, Rudolf
Wang, Qingpei wrote:
Hi,
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading
several
files. The serial debug message says:
"fail handle_1ab1:154
Fail handle_1aXX:274
Fail get_device:608(00000001)
Fail handle_15XX:308(00000086)"
Do you have any advice for that or give me and ideas to debug?
Thanks
Jason Wang
BeiJing Technology Development Center
Advanced Micro Devices (AMD)
Hi, I tried to boot windows 7(build 7000) from HDD, but I still can not boot. Which the screen says:"A disk read error occurred, Press Ctrl+Alt+Del to restart" And the serial debug says: Fail handle_1aXX:274 A:0000bb00 b:0000aa55 c:0000fff6 d:00000080 si:00007e00 di:0000800 ds:00000000 es:00000000 ip:000006e7 cs:0000000 f:00000246 r:00007bdc
I had check there is no NO.bb in BIOS int1A, Did you fixed any configuration about seabios? In coreboot I just changed the /src/arch/i386/boot/tables as what you concerned in your patches.
And Windows XP, it still reboot again and again.
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Rudolf Marek [mailto:r.marek@assembler.cz] Sent: Friday, January 16, 2009 5:14 PM To: Wang, Qingpei Cc: Coreboot Subject: Re: Problems about booting windows xp
Hello,
Did you try to install it or you ran it from some HDD? Maybe powernow issue. Did you fix what Carl Daniel suggested?
Thanks, Rudolf
Wang, Qingpei wrote:
Hi,
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading
several
files. The serial debug message says:
"fail handle_1ab1:154
Fail handle_1aXX:274
Fail get_device:608(00000001)
Fail handle_15XX:308(00000086)"
Do you have any advice for that or give me and ideas to debug?
Thanks
Jason Wang
BeiJing Technology Development Center
Advanced Micro Devices (AMD)
Hi,
On 16.01.2009 13:39, Wang, Qingpei wrote:
I tried to boot windows 7(build 7000) from HDD, but I still can not boot. Which the screen says:"A disk read error occurred, Press Ctrl+Alt+Del to restart" And the serial debug says: Fail handle_1aXX:274 A:0000bb00 b:0000aa55 c:0000fff6 d:00000080 si:00007e00 di:0000800 ds:00000000 es:00000000 ip:000006e7 cs:0000000 f:00000246 r:00007bdc
I had check there is no NO.bb in BIOS int1A, Did you fixed any configuration about seabios? In coreboot I just changed the /src/arch/i386/boot/tables as what you concerned in your patches.
Can you try the 64bit version of Windows 7? I think it may have less problems.
And Windows XP, it still reboot again and again.
That's bad.
The Windows Vista tests and the Windows 7 tests were done with 64bit Windows. It could be that 64bit Windows XP works better.
Rudolf, is it possible to boot an existing installation or is a new installation under coreboot+SeaBIOS required?
Regards, Carl-Daniel
Carl-Daniel Hailfinger wrote:
Rudolf, is it possible to boot an existing installation or is a new installation under coreboot+SeaBIOS required?
I would start with trying to install Windows. I expect Windows will find coreboot different enough from the factory BIOS to fall over otherwise.
//Peter
Hi,
A:0000bb00 b:0000aa55 c:0000fff6 d:00000080 si:00007e00 di:0000800 ds:00000000 es:00000000 ip:000006e7 cs:0000000 f:00000246 r:00007bdc
I had check there is no NO.bb
Its trusted platform module API, its ok that it fails.
in BIOS int1A, Did you fixed any
configuration about seabios? In coreboot I just changed the /src/arch/i386/boot/tables as what you concerned in your patches.
should be OK. I can give you mine config on Monday if you want.
Rudolf, is it possible to boot an existing installation or is a new installation under coreboot+SeaBIOS required?
Huh dont know. Maybe start with install would be good idea.
Checklist:
1) memory map e820 2) ACPI memory map 3) ACPI PCI0 CRS resource 4) Powernow 5) DSDT in general ;) 6) no idea now
Rudolf
On Fri, Jan 16, 2009 at 10:00:39AM +0800, Wang, Qingpei wrote:
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading several files. The serial debug message says:
"fail handle_1ab1:154 Fail handle_1aXX:274 Fail get_device:608(00000001) Fail handle_15XX:308(00000086)"
Most of the time, these messages are harmless. They indicate that the bios returned an error code to the caller - there are many cases where this is normal.
What version of seabios are you using? Have you confirmed that coreboot+seabios can boot linux successfully?
-Kevin
Hi,all 1) My seabios version is 0.3.0 2) In dbm690t seabios + coreboot can boot linux successfully. 3) I tried the windows 7 64bits too, still does not work. 4) The e820 memory map is 0: 0000 0000 0000 0000 - 0000 0000 0009 fc00 1 1: 0000 0000 0009 fc00 - 0000 0000 000a 0000 2 2: 0000 0000 000f 0000 - 0000 0000 0010 0000 2 3: 0000 0000 0010 0000 - 0000 0000 1bff 0000 1 4: 0000 0000 1bff 0000 - 0000 0000 1c00 0000 2 5: 0000 0000 1c00 0000 - 0000 0000 3800 0000 1 6: 0000 0000 3800 0000 - 0000 0000 4000 0000 2
The ACPI table address is 0x1bff0400, MP table address is 1bff3410 Bios_table_addr is ff0a5~ff841
Look forward your help~~~
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Kevin O'Connor [mailto:kevin@koconnor.net] Sent: Sunday, January 18, 2009 10:10 AM To: Wang, Qingpei Cc: Coreboot; Rudolf Marek Subject: Re: [coreboot] Problems about booting windows xp
On Fri, Jan 16, 2009 at 10:00:39AM +0800, Wang, Qingpei wrote:
I am trying to boot windows xp with my dbm690t which has S1G1 CPU,
sb600 and rs690 chipset. Now, It still soft reset after loading
several
files. The serial debug message says:
"fail handle_1ab1:154 Fail handle_1aXX:274 Fail get_device:608(00000001) Fail handle_15XX:308(00000086)"
Most of the time, these messages are harmless. They indicate that the bios returned an error code to the caller - there are many cases where this is normal.
What version of seabios are you using? Have you confirmed that coreboot+seabios can boot linux successfully?
-Kevin
On Mon, Jan 19, 2009 at 02:38:02PM +0800, Wang, Qingpei wrote:
Hi,all
- My seabios version is 0.3.0
A lot has changed since v0.3.0 - please retry with the latest from git:
git clone git://git.linuxtogo.org/home/kevin/seabios.git
I can't think of any major fixes since v0.3.0, but it is worth trying.
- In dbm690t seabios + coreboot can boot linux successfully.
Do you know if your ACPI table is correct? Windows seems to be a lot more picky about ACPI then Linux.
-Kevin
Hi, The e820 map form linux dmesg is [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) [ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 000000001bff0000 (usable) [ 0.000000] BIOS-e820: 000000001bff0000 - 000000001c000000 (reserved) [ 0.000000] BIOS-e820: 000000001c000000 - 0000000038000000 (usable) [ 0.000000] BIOS-e820: 0000000038000000 - 0000000040000000 (reserved) And the data.txt is attached. Now it still reboot window xp while the logo comes up.
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Rudolf Marek [mailto:r.marek@assembler.cz] Sent: Tuesday, January 20, 2009 5:29 PM To: Wang, Qingpei Cc: Kevin O'Connor; Carl-Daniel Hailfinger; Coreboot Subject: Re: [coreboot] Problems about booting windows xp
Hi,
- The e820 memory map is
Please paste it from linux dmesg:
dmesg | grep BIOS-
The ACPI table address is 0x1bff0400, MP table address is 1bff3410 Bios_table_addr is ff0a5~ff841
Yes I need the content. Use:
acpidump >data.txt
and send here the data.txt
Rudolf
Hi Jason,
On 16.02.2009 10:51, Wang, Qingpei wrote:
Hi, The e820 map form linux dmesg is [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) [ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 000000001bff0000 (usable) [ 0.000000] BIOS-e820: 000000001bff0000 - 000000001c000000 (reserved) [ 0.000000] BIOS-e820: 000000001c000000 - 0000000038000000 (usable) [ 0.000000] BIOS-e820: 0000000038000000 - 0000000040000000 (reserved) And the data.txt is attached.
Thanks! This looks a bit strange.
Can you attach a full Linux boot log (dmesg) and a full coreboot boot log (serial output)?
The ACPI code has a few bugs: - It hardcodes TOM to 1 GB (fixed in the latest coreboot tree) - It hardcodes TOM2 to 0 (not fixed yet, but irrelevant for your problem) - The DSDT is ACPI 1.0 instead of 2.0, so any machine with more than 3 GB RAM won't be able to express memory ranges (patch pending). - It hardcodes PBAD and PBLN to 0 (not sure if this is really a bug).
The DSDT has this code:
/* Data to be patched by the BIOS during POST */ [...] Name(PBAD, 0x0) /* Address of BIOS area (If TOM2 != 0, Addr >> 16) */ Name(PBLN, 0x0) /* Length of BIOS area */
However, that data is never filled in.
Is it guaranteed that PCIe config space is always at 0xE0000000? The DSDT has this code:
Name(PCBA, 0xE0000000) /* Base address of PCIe config space */ Scope(_SB) { /* PCIe Configuration Space for 16 busses */ OperationRegion(PCFG, SystemMemory, PCBA, 0x01000000) /* Each bus consumes 1MB */ Field(PCFG, ByteAcc, NoLock, Preserve) {
Regards, Carl-Daniel
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I ran also acpiexec util on it, here is what I found.
First I will present how PCI0 _CRS method looks on MINE Asus M2V-MX SE, this works with windows...
[00] 16-Bit WORD Address Space Resource Resource Type : Bus Number Range Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0005 Translation Offset : 0000 Address Length : 0006 Resource Source Index : 00 Resource Source : [Not Specified]
[01] 32-Bit DWORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 000003B0 Address Maximum : 000003DF Translation Offset : 00000000 Address Length : 00000030 Resource Source Index : 00 Resource Source : [Not Specified]
[02] 32-Bit DWORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 00000D00 Address Maximum : 00001FFF Translation Offset : 00000000 Address Length : 00001300 Resource Source Index : 00 Resource Source : [Not Specified]
[03] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : C0000000 Address Maximum : DFFFFFFF Translation Offset : 00000000 Address Length : 20000000 Resource Source Index : 00 Resource Source : [Not Specified]
[04] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : E0000000 Address Maximum : F12FFFFF Translation Offset : 00000000 Address Length : 11300000 Resource Source Index : 00 Resource Source : [Not Specified]
[05] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 000A0000 Address Maximum : 000BFFFF Translation Offset : 00000000 Address Length : 00020000 Resource Source Index : 00 Resource Source : [Not Specified]
[06] I/O Resource Address Decoding : Decode16 Address Minimum : 0CF8 Address Maximum : 0CF8 Alignment : 01 Address Length : 08
[07] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0CF7 Translation Offset : 0000 Address Length : 0CF8 Resource Source Index : 00 Resource Source : [Not Specified]
[08] EndTag Resource
See, there is no RAM mentioned at all. Just PCI decode ranges from CPU as well the PCI IO ranges. Also please note that:
LEN = MAX - MIN + 1
This is needed for Windows.
And here what you have for your board:
acpixtract -a data.txt ./acpiexec ./DSDT.dat - - resources _SB_.PCI0
[00] I/O Resource Address Decoding : Decode16 Address Minimum : 0CF8 Address Maximum : 0CF8 Alignment : 01 Address Length : 08
[01] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0CF7 Translation Offset : 0000 Address Length : 0CF8 Resource Source Index : 00 Resource Source : [Not Specified]
[02] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0D00 Address Maximum : FFFF Translation Offset : 0000 Address Length : F300 Resource Source Index : 00 Resource Source : [Not Specified]
[03] 32-Bit Fixed Memory Range Resource Write Protect : ReadWrite Address : 00000000 Address Length : 000A0000
[04] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000A0000 Address Length : 00020000
[05] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000C0000 Address Length : 00020000
[06] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000E0000 Address Length : 00020000
[07] 32-Bit Fixed Memory Range Resource Write Protect : ReadWrite Address : 00100000 Address Length : 3FF00000
I think this does not agree the e820 map here, because of the ACPI tables. Also both below are empty. No good?
[08] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 00000000 Address Maximum : 00000000 Translation Offset : 00000000 Address Length : 00000000 Resource Source Index : 00 Resource Source : [Not Specified]
[09] 64-Bit QWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000FFFFFFFF Address Minimum : 0000000000000000 Address Maximum : 0000000000000000 Translation Offset : 0000000000000000 Address Length : 0000000000000000 Resource Source Index : 00 Resource Source : [Not Specified]
[0A] 64-Bit QWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000FFFFFFFF Address Minimum : 0000000000000000 Address Maximum : 0000000000000000 Translation Offset : 0000000000000000 Address Length : 0000000000000000 Resource Source Index : 00 Resource Source : [Not Specified]
I would suggest just to start with totally artificial and static _CRS returned object, similar what is in QEMU: http://bochs.sourceforge.net/cgi-bin/lxr/source/bios/acpi-dsdt.dsl
Just grab it and fill all resources manually. (edit the MEMP so all fields are valid for your HW, then just put into _CRS Return (MEMP), without any computations). Then try to boot windows. Once it works you can play with the generic runtime adjustments.
Thanks, Rudolf
Hi Rudolf, I changed the dsdt.asl which take M2V-MX as an example. Now it stopped rebooting, but after the window xp scroll bar it hangs up, which supposed to show the log in screen. I am wondering if there is any another places should be fixed. And also in /src/arch/i386/boot/tables.c( function: write_tables line92) I changed rom_table_start=((512-64)*1024*1024)-64*1024 followed by an patch, May be it is wrong ,which address should I changed in this places?
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Rudolf Marek [mailto:r.marek@assembler.cz] Sent: Tuesday, February 17, 2009 6:00 AM To: Wang, Qingpei Cc: Carl-Daniel Hailfinger; Coreboot; Perley, Tim Subject: Re: [coreboot] Problems about booting windows xp
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I ran also acpiexec util on it, here is what I found.
First I will present how PCI0 _CRS method looks on MINE Asus M2V-MX SE, this works with windows...
[00] 16-Bit WORD Address Space Resource Resource Type : Bus Number Range Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0005 Translation Offset : 0000 Address Length : 0006 Resource Source Index : 00 Resource Source : [Not Specified]
[01] 32-Bit DWORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 000003B0 Address Maximum : 000003DF Translation Offset : 00000000 Address Length : 00000030 Resource Source Index : 00 Resource Source : [Not Specified]
[02] 32-Bit DWORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 00000D00 Address Maximum : 00001FFF Translation Offset : 00000000 Address Length : 00001300 Resource Source Index : 00 Resource Source : [Not Specified]
[03] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : C0000000 Address Maximum : DFFFFFFF Translation Offset : 00000000 Address Length : 20000000 Resource Source Index : 00 Resource Source : [Not Specified]
[04] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : E0000000 Address Maximum : F12FFFFF Translation Offset : 00000000 Address Length : 11300000 Resource Source Index : 00 Resource Source : [Not Specified]
[05] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : NonCacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 000A0000 Address Maximum : 000BFFFF Translation Offset : 00000000 Address Length : 00020000 Resource Source Index : 00 Resource Source : [Not Specified]
[06] I/O Resource Address Decoding : Decode16 Address Minimum : 0CF8 Address Maximum : 0CF8 Alignment : 01 Address Length : 08
[07] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0CF7 Translation Offset : 0000 Address Length : 0CF8 Resource Source Index : 00 Resource Source : [Not Specified]
[08] EndTag Resource
See, there is no RAM mentioned at all. Just PCI decode ranges from CPU as well the PCI IO ranges. Also please note that:
LEN = MAX - MIN + 1
This is needed for Windows.
And here what you have for your board:
acpixtract -a data.txt ./acpiexec ./DSDT.dat - - resources _SB_.PCI0
[00] I/O Resource Address Decoding : Decode16 Address Minimum : 0CF8 Address Maximum : 0CF8 Alignment : 01 Address Length : 08
[01] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0000 Address Maximum : 0CF7 Translation Offset : 0000 Address Length : 0CF8 Resource Source Index : 00 Resource Source : [Not Specified]
[02] 16-Bit WORD Address Space Resource Resource Type : I/O Range Range Type : EntireRange Translation : TypeStatic Translation Type : DenseTranslation Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 0000 Address Minimum : 0D00 Address Maximum : FFFF Translation Offset : 0000 Address Length : F300 Resource Source Index : 00 Resource Source : [Not Specified]
[03] 32-Bit Fixed Memory Range Resource Write Protect : ReadWrite Address : 00000000 Address Length : 000A0000
[04] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000A0000 Address Length : 00020000
[05] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000C0000 Address Length : 00020000
[06] 32-Bit Fixed Memory Range Resource Write Protect : ReadOnly Address : 000E0000 Address Length : 00020000
[07] 32-Bit Fixed Memory Range Resource Write Protect : ReadWrite Address : 00100000 Address Length : 3FF00000
I think this does not agree the e820 map here, because of the ACPI tables. Also both below are empty. No good?
[08] 32-Bit DWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000 Address Minimum : 00000000 Address Maximum : 00000000 Translation Offset : 00000000 Address Length : 00000000 Resource Source Index : 00 Resource Source : [Not Specified]
[09] 64-Bit QWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000FFFFFFFF Address Minimum : 0000000000000000 Address Maximum : 0000000000000000 Translation Offset : 0000000000000000 Address Length : 0000000000000000 Resource Source Index : 00 Resource Source : [Not Specified]
[0A] 64-Bit QWORD Address Space Resource Resource Type : Memory Range Write Protect : ReadWrite Caching : Cacheable Range Type : AddressRangeMemory Translation : TypeStatic Consumer/Producer : ResourceProducer Address Decode : PosDecode Min Relocatability : MinFixed Max Relocatability : MaxFixed Granularity : 00000000FFFFFFFF Address Minimum : 0000000000000000 Address Maximum : 0000000000000000 Translation Offset : 0000000000000000 Address Length : 0000000000000000 Resource Source Index : 00 Resource Source : [Not Specified]
I would suggest just to start with totally artificial and static _CRS returned object, similar what is in QEMU: http://bochs.sourceforge.net/cgi-bin/lxr/source/bios/acpi-dsdt.dsl
Just grab it and fill all resources manually. (edit the MEMP so all fields are valid for your HW, then just put into _CRS Return (MEMP), without any computations). Then try to boot windows. Once it works you can play with the generic runtime adjustments.
Thanks, Rudolf
Hi,
I changed the dsdt.asl which take M2V-MX as an example. Now it stopped rebooting, but after the window xp scroll bar it hangs up, which supposed to show the log in screen. I am wondering if there is any another places should be fixed.
Huh did not experienced such hang, try booting with VGA failsafe.
And also in /src/arch/i386/boot/tables.c( function: write_tables line92) I changed rom_table_start=((512-64)*1024*1024)-64*1024 followed by an patch, May be it is wrong ,which address should I changed in this places?
it means put table on last 64kb on adderess 512MB-64MB. The -64MB is there because of integrated framebuffer. If you are not using it, you can put it anywhere in the memory >>1MB
Does linux still work with all that changes?
Thanks, Rudolf
Hi, Today I tried to install a pure new windows xp which seabios in dbm690t it Hand off as show figure. I also put my dmes.txt here and e820 map also data.txt from acpidump. It all works fine with linux. As my dbm690t has 1G Ram, so I Take (1024-128)*1024*1024-64)1024. By the way, is there anybody who know how to use acpiexec? I can not use it smoothly.
Jason Wang BeiJing Technology Development Center Advanced Micro Devices (AMD)
-----Original Message----- From: Rudolf Marek [mailto:r.marek@assembler.cz] Sent: Friday, March 06, 2009 5:08 PM To: Wang, Qingpei Cc: Coreboot; Perley, Tim Subject: Re: [coreboot] Problems about booting windows xp
Hi,
I changed the dsdt.asl which take M2V-MX as an example. Now it stopped rebooting, but after the window xp scroll bar it hangs up, which supposed to show the log in screen. I am wondering if there is any another places should be fixed.
Huh did not experienced such hang, try booting with VGA failsafe.
And also in /src/arch/i386/boot/tables.c( function: write_tables
line92)
I changed rom_table_start=((512-64)*1024*1024)-64*1024 followed by an patch, May be it is wrong ,which address should I changed in this places?
it means put table on last 64kb on adderess 512MB-64MB. The -64MB is there because of integrated framebuffer. If you are not using it, you can put it anywhere in the memory >>1MB
Does linux still work with all that changes?
Thanks, Rudolf
-----Original Message----- From: coreboot-bounces@coreboot.org [mailto:coreboot-bounces@coreboot.org] On Behalf Of Wang, Qingpei Sent: Friday, March 06, 2009 2:44 AM To: Rudolf Marek Cc: Bao, Zheng; Xie, Michael; Perley, Tim; Coreboot Subject: Re: [coreboot] Problems about booting windows xp
Hi, Today I tried to install a pure new windows xp which seabios in dbm690t it Hand off as show figure. I also put my dmes.txt here and e820 map also data.txt from acpidump. It all works fine with linux. As my dbm690t has 1G Ram, so I Take (1024-128)*1024*1024-64)1024.
It looks like you have DMI enabled. Is that from SeaBIOS? I turned it in config.h since it looks emulator specific. Kevin or Rudolf, do you use it when you boot XP?
By the way, is there anybody who know how to use acpiexec? I can not use it smoothly.
I've been muddling through. I found that the history command has been useful to save some typing and frustration when I have typing errors.
The other commands I've used:
resources execute namespace help
It turns out that you can't load multiple tables into acpiexec, which can be a pain. I patched the source and replaced one table, then I can load the other.
Myles
Hi
-----Original Message----- From: Myles Watson [mailto:mylesgw@gmail.com] Sent: Friday, March 06, 2009 10:12 PM To: Wang, Qingpei; 'Rudolf Marek'; 'Kevin O'Connor' Cc: Bao, Zheng; Xie, Michael; Perley, Tim; 'Coreboot' Subject: RE: [coreboot] Problems about booting windows xp
-----Original Message----- From: coreboot-bounces@coreboot.org
[mailto:coreboot-bounces@coreboot.org]
On Behalf Of Wang, Qingpei Sent: Friday, March 06, 2009 2:44 AM To: Rudolf Marek Cc: Bao, Zheng; Xie, Michael; Perley, Tim; Coreboot Subject: Re: [coreboot] Problems about booting windows xp
Hi, Today I tried to install a pure new windows xp which seabios in dbm690t it Hand off as show figure. I also put my dmes.txt here and e820 map also data.txt from acpidump. It all works fine with linux. As my dbm690t
has
1G Ram, so I Take (1024-128)*1024*1024-64)1024.
It looks like you have DMI enabled. Is that from SeaBIOS? I turned it in config.h since it looks emulator specific. Kevin or Rudolf, do you use it when you boot XP? [Jason, Wang] I really have no idea about DMI, and I also checked the SeaBIOS configuration file and gained nothing. Watson, what is the path of the file"config.h"?
By the way, is there anybody who know how to use acpiexec? I can not
use
it smoothly.
I've been muddling through. I found that the history command has been useful to save some typing and frustration when I have typing errors.
The other commands I've used:
resources execute namespace help
It turns out that you can't load multiple tables into acpiexec, which can be a pain. I patched the source and replaced one table, then I can load the other.
[Jason, Wang] how did you do that? Now I really need some tools to debug the acpi. Myles
On Tue, Mar 10, 2009 at 5:25 AM, Wang, Qingpei Qingpei.Wang@amd.com wrote:
[Jason, Wang] I really have no idea about DMI, and I also checked the SeaBIOS configuration file and gained nothing. Watson, what is the path of the file"config.h"?
By the way, is there anybody who know how to use acpiexec? I can not
use
it smoothly.
I've been muddling through. I found that the history command has been useful to save some typing and frustration when I have typing errors.
The other commands I've used:
resources execute namespace help
It turns out that you can't load multiple tables into acpiexec, which can be a pain. I patched the source and replaced one table, then I can load the other.
[Jason, Wang] how did you do that? Now I really need some tools to debug the acpi.
I've been using Stefan's script to automate table dumping:
http://www.coreboot.org/pipermail/coreboot/2009-January/044210.html
Then I compile the SSDT table with iasl -tc to make a c source file. You can take the contents of the array and insert it into tools/acpiexec/aeexec.c in the place of the Ssdt1Code[] data. Then when you load your DSDT it can refer to the data in the SSDT.
The other way to do it is to disassemble the SSDT and DSDT and combine them into one file. I like putting the SSDT into the executable better.
Thanks, Myles
Hi,
[Jason, Wang] I really have no idea about DMI, and I also checked the SeaBIOS configuration file and gained nothing. Watson, what is the path of the file"config.h"?
it is in src/config.h in SeaBIOS.
[Jason, Wang] how did you do that? Now I really need some tools to debug the acpi.
Just take the ssdt from running system and copy it inside dsdt, then recompile.
Rudolf
On Tue, Mar 10, 2009 at 8:29 AM, Rudolf Marek r.marek@assembler.cz wrote:
Hi,
[Jason, Wang] I really have no idea about DMI, and I also checked the SeaBIOS configuration file and gained nothing. Watson, what is the path of the file"config.h"?
it is in src/config.h in SeaBIOS.
Thanks Rudolf. I missed that question.
[Jason, Wang] how did you do that? Now I really need some tools to debug the acpi.
Just take the ssdt from running system and copy it inside dsdt, then recompile.
I was having problems with some of the tables not recompiling. That was why I patched acpiexec. If the tables recompile without problems, it probably is easier to combine them.
Thanks, Myles