Skip to contentSkip to conversation

Resume from Suspend to RAM

DISCUSSION Frank 18 participants 50 messages Jun 5, 2005 – Jun 19, 2005 17 messages not in the archive ACPI

lore
Share & tools
lore

Frank

author
#0 lore raw

Hi List,

my laptop won't resume after it suspended to RAM.
I tried various boot options, but none was successful, so this list is my last hope ;-)

What happens:
To minimize the influence of any driver, I always booted with the option "init=/bin/bash", which left me with a single console and no modules loaded at all. Then I mounted /proc and /sys, so I could try suspending:

echo mem > /sys/power/state

This works fine, it says for a second "Stopping tasks... " and then the laptop turns off (fan, display) and the "sleeping" LED blinks.
But there is no way to wake the system back up. The only key that shows reactions is the power button and if I push it, the fan spins up, but nothing else happens:
no LCD, no ping response, no response to keyboard.

The boot parameters that I have tried include:
acpi_sleep=s3_{bios,mode}, pci=noacpi, noapic, acpi=noirq all without any change.

Do you have any idea, how I might further diagnose this?

Mostly everything else concerning ACPI works fine, except for problems with reading the battery status once in a while, resulting in kernel messages of the following kind:

[ACPI Debug] String: [0x09] "BST Start"
evregion-0405: *** Error: Handler for [EmbeddedControl] returned AE_TIME
dswexec-0446 [155] ds_exec_end_op : [Store]: Could not resolve operands, AE_TIME
psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.BAT0._BST] (Node ffff8100016b71b0), AE_TIME
acpi_battery-0208 [147] acpi_battery_get_statu: Error evaluating _BST

The system: Maxdata Eco 4500A notebook, Debian Sarge AMD64 with vanilla kernel 2.6.11.9

Thanks, Frank

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 200506051456.44810.hugelmopf-S0/[email protected]

#2 lore raw
Quoted 1 line · Frank

The system: Maxdata Eco 4500A notebook, Debian Sarge AMD64 with vanilla kernel 2.6.11.9

Three things spring to mind:

1) If it's using a libata based IDE driver, there's currently no suspend or resume support and so it won't work. See
http://lkml.org/lkml/2005/5/23/116 .

2) If not, it could be that the machine requires the _GTM and _STM methods to be called. There's a patch floating around to do that - check the list archives.

3) It could be the weirdness that seems to affect several machines with non-Intel chipsets, where the system either immediately reboots or comes back up but never runs any kernel code.

(1) and (2) are easily fixable. (3) is ridiculously hard. Does anyone have any ideas how it can be debugged? I've got one machine here that shows this behaviour (immediate reboot) and access to another (hangs on resume, never seems to run any kernel code)

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
author
#3 lore raw
Quoted 5 lines · Matthew Garrett

Three things spring to mind:

1) If it's using a libata based IDE driver, there's currently no suspend or resume support and so it won't work. See
http://lkml.org/lkml/2005/5/23/116 .

How do I find out, whether my IDE driver is libata based?
I have no module of this name loaded, the IDE interface is according to lspci SiS 5513 (which I have enabled in my kernel config).

Quoted 3 lines

2) If not, it could be that the machine requires the _GTM and _STM methods to be called. There's a patch floating around to do that - check the list archives.

OK, I found the patch you posted. I don't have the 2.6.12-rc4 here yet, will this patch be included in 2.6.12 when it is released?

Thanks a lot for your suggestions, at least something to hope for :-)

Frank

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

#4 lore raw
In reply to Matthew Garrett

Hi,

Quoted 4 lines

(1) and (2) are easily fixable. (3) is ridiculously hard. Does anyone have any ideas how it can be debugged? I've got one machine here that shows this behaviour (immediate reboot) and access to another (hangs on resume, never seems to run any kernel code)

I've no idea how to debug a reboot, but if the system hangs it's possible to add "lcall $0xffff,$0" early in the wakeup assembler code. If the system reboots immediatly then, the kernels wakeup code was reached and the kernel hangs later during resume.

Is it somehow possible to localize and debug the BIOS code?

Stefan

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): [email protected]

#6 lore raw
Quoted 4 lines · Stefan Dösinger

I've no idea how to debug a reboot, but if the system hangs it's possible to add "lcall $0xffff,$0" early in the wakeup assembler code. If the system reboots immediatly then, the kernels wakeup code was reached and the kernel hangs later during resume.

Ok, I've just tried that. The system still just freezes.

Quoted 1 line

Is it somehow possible to localize and debug the BIOS code?

Hmm. It's certainly possible for me to get a dump of the BIOS - is any BIOS code actually executed on resume? If so, checking through that may well be helpful.

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r 
#7 lore raw

Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Quoted 8 lines · Matthew Garrett
Quoted 4 lines · Stefan Dösinger

I've no idea how to debug a reboot, but if the system hangs it's possible to add "lcall $0xffff,$0" early in the wakeup assembler code. If the system reboots immediatly then, the kernels wakeup code was reached and the kernel hangs later during resume.

Ok, I've just tried that. The system still just freezes.

Whoops. May have been a bit too hasty there. I'm not sure why that doesn't reset it, but we've now got the following (really rather odd) serial output. Does anyone have any idea what might be triggering this? Shell builtins work fine, but anything else seems to explode very messily. Memory corruption of some description?

^MRestarting tasks... done

^Mroot@(none):/# ^M
root@(none):/# ls -la ^M
Unable to handle kernel NULL pointer dereference at virtual address 00000024
^M printing eip:
^Mc015ac62
^M*pde = 00000000
^MOops: 0002 [#1]
^MPREEMPT
^MModules linked in:
^MCPU:    0
^MEIP:    0060:[<c015ac62>]    Not tainted VLI
^MEFLAGS: 00010246   (2.6.12-rc5)
^MEIP is at filp_open+0x32/0x70
^Meax: f7ccb000   ebx: 00000000   ecx: 00000003   edx: 00000000
^Mesi: 00000000   edi: f7ccb000   ebp: f7c5c000   esp: f7c5df48
^Mds: 007b   es: 007b   ss: 0068
^MProcess ls (pid: 875, threadinfo=f7c5c000 task=c1bbc060)
^MStack: 00000000 00000001 c015a5d5 f7c5df58 00000000 c0109806 fffffeff 00000000^M       c1bcf1ec 00000000 f7ccb000 00000003 c18c0c80 f7c5c000 c015af95 c18c0c80^M       00000003 00000003 f7ccb000 00000000 00000003 c015b109 f7ccb000 00000000^MCall Trace:
^M [<c015a5d5>] sys_access+0x85/0x150
^M [<c0109806>] old_mmap+0xd6/0x110
^M [<c015af95>] get_unused_fd+0xa5/0xe0
^M [<c015b109>] sys_open+0x49/0x90
^M [<c0103245>] syscall_call+0x7/0xb
^MCode: 8b 5c 24 5c 8d 43 01 a8 03 0f 44 c3 89 c2 83 ca 02 f6 c4 02 0f 45 c2 8d
54 24 10 89 54 24 0c 8b 54 24 60 89 44 24 04 8b 44 24 58 <89> 56 24 08 89 04 24
e8 62 19 01 00 85 c0 74 0e 8b 5c 24 50 83
^M Segmentation fault^M
root@(none):/# ^M
root@(none):/# free^M
<1>Unable to handle kernel NULL pointer dereference at virtual address 00000024
^M printing eip:
^Mc015ac62
^M*pde = 00000000
^MOops: 0002 [#2]
^MPREEMPT
^MModules linked in:
^MCPU:    0
^MEIP:    0060:[<c015ac62>]    Not tainted VLI
^MEFLAGS: 00010246   (2.6.12-rc5)
^MEIP is at filp_open+0x32/0x70
^Meax: f7ce3000   ebx: 00000000   ecx: 00000003   edx: 00000000
^Mesi: 00000000   edi: f7ce3000   ebp: f7c5c000   esp: f7c5df48
^Mds: 007b   es: 007b   ss: 0068
^MProcess free (pid: 876, threadinfo=f7c5c000 task=c1bbc560)
^MStack: 00000000 00000001 c015a5d5 f7c5df58 00000000 c0109806 fffffeff 00000000^M       c1bcf1ec 00000000 f7ce3000 00000003 c18c0040 f7c5c000 c015af95 c18c0040^M       00000003 00000003 f7ce3000 00000000 00000003 c015b109 f7ce3000 00000000^MCall Trace:
^M [<c015a5d5>] sys_access+0x85/0x150
^M [<c0109806>] old_mmap+0xd6/0x110
^M [<c015af95>] get_unused_fd+0xa5/0xe0
^M [<c015b109>] sys_open+0x49/0x90
^M [<c0103245>] syscall_call+0x7/0xb
^MCode: 8b 5c 24 5c 8d 43 01 a8 03 0f 44 c3 89 c2 83 ca 02 f6 c4 02 0f 45 c2 8d
54 24 10 89 54 24 0c 8b 54 24 60 89 44 24 04 8b 44 24 58 <89> 56 24 08 89 04 24
e8 62 19 01 00 85 c0 74 0e 8b 5c 24 50 83
^M Segmentation fault^M
Signature · 1 line
Matthew Garrett | [email protected]
#8 lore raw

Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Am Montag, 6. Juni 2005 11:06 schrieb Matthew Garrett:

Quoted 5 lines

Whoops. May have been a bit too hasty there. I'm not sure why that doesn't reset it, but we've now got the following (really rather odd) serial output. Does anyone have any idea what might be triggering this? Shell builtins work fine, but anything else seems to explode very messily. Memory corruption of some description?

<snip>
So it does reach the kernel, right? I don't know if I remembered that call correctly, but "lcall $0xffff,$0" should call the real mode BIOS reset code...
Anyone else who can correct me here?

Perhaps the disk driver is going mad? Has anyone tried to boot a kernel without any disk drivers with a minimal root system on an initrd?

Cheers,
Stefan

#9 lore raw

S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 17 lines · On Mon, 2005-06-06 at 23:31 +0800, [email protected] wrote:

Am Montag, 6. Juni 2005 11:06 schrieb Matthew Garrett:

Quoted 2 lines

Whoops. May have been a bit too hasty there. I'm not sure why that doesn't reset it, but we've now got the following (really rather

odd)

Quoted 1 line

serial output. Does anyone have any idea what might be triggering

this?

Quoted 2 lines

Shell builtins work fine, but anything else seems to explode very messily. Memory corruption of some description?

<snip>
So it does reach the kernel, right? I don't know if I remembered that call
correctly, but "lcall $0xffff,$0" should call the real mode BIOS reset
code...
Anyone else who can correct me here?

Quoted 3 lines

Perhaps the disk driver is going mad? Has anyone tried to boot a kernel
without any disk drivers with a minimal root system on an initrd?

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.
It uses machine_real_restart to switch to real mode, and soon jump to the S3 wakeup address. So it simulates how BIOS resume a system from S3, but completely bypasses BIOS. If the system lives after S3 with the patch, at least we can know the suspend/resume code path is ok and it's not a Linux driver issue.

Thanks,
Shaohua

drivers/acpi/hardware/hwsleep.c +21 -0
@@ -242,6 +242,19 @@ acpi_enter_sleep_state_prep (
  *              THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
  *
  ******************************************************************************/
+#define S3_DEBUG
+#ifdef S3_DEBUG
+#include <asm/io.h>
+extern void machine_real_restart(unsigned char *code, int length);
+static unsigned char jump_to_pm [] =
+{
+	0xea,
+	0x00,
+	0x00,
+	0x00,
+	0x00		/*    ljmp  $0x0000,$0x0000  */
+};
+#endif
 
 acpi_status asmlinkage
 acpi_enter_sleep_state (
@@ -315,6 +328,14 @@ acpi_enter_sleep_state (
 	PM1Acontrol |= (acpi_gbl_sleep_type_a << sleep_type_reg_info->bit_position);
 	PM1Bcontrol |= (acpi_gbl_sleep_type_b << sleep_type_reg_info->bit_position);
 
+#ifdef S3_DEBUG
+	if (sleep_state == ACPI_STATE_S3) {
+		*((short *)&jump_to_pm[3]) =
+			(short)(virt_to_phys((void *)acpi_wakeup_address)) >> 4;
+		/* Directly jump to acpi_wakeup_address */
+		machine_real_restart(jump_to_pm, sizeof(jump_to_pm));
+	}
+#endif
 	/*
 	 * We split the writes of SLP_TYP and SLP_EN to workaround
 	 * poorly implemented hardware.
#10 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 2 lines · Shaohua Li

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.

This works on a HP Compaq nc4000 which previously never comes back from resume (except for one time in which case the kernel oopsed in a strange way, as posted by Matthew the other day). I see a yellow 'Linu' on the screen, then I hear the hard drive spinning up, the screen comes back and I see 'Restarting tasks... done' on the serial console. (this is with init=/bin/bash console=ttyS0)

Signature · 9 lines
Martin Michlmayr
http://www.cyrius.com/


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 20050607120727.GA6077-u+sgIaa8TU6A7rR/[email protected]

#12 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 8 lines · Martin Michlmayr
Quoted 2 lines · Shaohua Li

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.

This works on a HP Compaq nc4000 which previously never comes back from resume (except for one time in which case the kernel oopsed in a strange way, as posted by Matthew the other day). I see a yellow 'Linu' on the screen, then I hear the hard drive spinning up, the

try "acpi_sleep=s3_mode" or no framebuffer (vga=normal) and you should get your display back.

Signature · 9 lines
Stefan Seyfried



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 20050609115134.GA31903-l0tNAEGuAhhzZ8+rp42Dbp9+tswZ0GTaehPwdyo5hKaELgA04lAiVw@public.gmane.org

#14 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 9 lines · Stefan Seyfried
Quoted 4 lines · Martin Michlmayr

This works on a HP Compaq nc4000 which previously never comes back from resume (except for one time in which case the kernel oopsed in a strange way, as posted by Matthew the other day). I see a yellow 'Linu' on the screen, then I hear the hard drive spinning up, the

try "acpi_sleep=s3_mode" or no framebuffer (vga=normal) and you should get your display back.

No, the machine fails to resume for entirely different reasons. It almost sounds as if the memory isn't being set to self refresh when S3 is entered. Is it possible that a northbridge register needs to be set to enable this? (It's an ATI northbridge)

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 1118327939.12491.44.camel-Xmbc1Sz64/5pghhO6/9/[email protected]

#16 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 10 lines · Matthew Garrett
Quoted 6 lines · Stefan Seyfried
Quoted 2 lines · Martin Michlmayr

strange way, as posted by Matthew the other day). I see a yellow 'Linu' on the screen, then I hear the hard drive spinning up, the

try "acpi_sleep=s3_mode" or no framebuffer (vga=normal) and you should get your display back.

No, the machine fails to resume for entirely different reasons. It alm machine fails to resume for entirely different reasons. It

My hint was for Martin only, sorry for not being more clear ;-)

If you can see a yellow "Linu" on the screen, chances are good that "acpi_sleep=s3_mode" fixes the remaining problems.

Quoted 3 lines

almost sounds as if the memory isn't being set to self refresh when S3 is entered. Is it possible that a northbridge register needs to be set to enable this?

To be honest: i have no idea.

Signature · 8 lines
Stefan Seyfried


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 20050609152943.GA3334-l0tNAEGuAhiXoBlonBaIS7NAH6kLmebB@public.gmane.org

#18 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 1 line · Stefan Seyfried

My hint was for Martin only, sorry for not being more clear ;-)

Heh. Sorry, I've been working with Martin on this, so it gets a bit confusing :)

Quoted 2 lines

If you can see a yellow "Linu" on the screen, chances are good that "acpi_sleep=s3_mode" fixes the remaining problems.

That's only with the test patch that doesn't actually suspend the machine. If it's properly suspended, it doesn't get that far.

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 1118125410.3828.12.camel-ECwVeV2eNyQD0+JXs3kMbRL4W9x8LtSr@public.gmane.org

author
#20 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 14 lines

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.
It uses machine_real_restart to switch to real mode, and soon jump to the S3 wakeup address. So it simulates how BIOS resume a system from S3, but completely bypasses BIOS. If the system lives after S3 with the patch, at least we can know the suspend/resume code path is ok and it's not a Linux driver issue.

Thanks,
Shaohua

drivers/acpi/hardware/hwsleep.c acpi_enter_sleep_state_prep ( · line 244

Quoted 3 lines
drivers/acpi/hardware/hwsleep.c +0 -0
@@ -242,6 +242,19 @@ acpi_enter_sleep_state_prep (
  *              THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
  *
 

Against which kernel version/tree does this patch go? I would be happy to test it, but I am pretty new to kernel patching, so this is not so obvious to me.

Thanks,
Frank

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 200506071732.23095.hugelmopf-S0/[email protected]

#22 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Hi,

Quoted 11 lines · Frank
Quoted 11 lines

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.
It uses machine_real_restart to switch to real mode, and soon jump to the S3 wakeup address. So it simulates how BIOS resume a system from S3, but completely bypasses BIOS. If the system lives after S3 with the patch, at least we can know the suspend/resume code path is ok and it's not a Linux driver issue.

Thanks,
Shaohua

Quoted 9 lines

drivers/acpi/hardware/hwsleep.c acpi_enter_sleep_state_prep ( · line 244

Quoted 6 lines
drivers/acpi/hardware/hwsleep.c +0 -0
@@ -242,6 +242,19 @@ acpi_enter_sleep_state_prep (
  *              THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
  *
 

Against which kernel version/tree does this patch go? I would be happy to test it, but I am pretty new to kernel patching, so this is not so obvious to me.

I think any kernel version should be ok, but please try latest kernel. Please note, this isn't a fix but a test case.
If the test failed, then suspend/resume code path or drivers are broken. If the test succeeded, then
1. Linux forgot doing something BIOS lets it do
or 2. BIOS is broken.

Thanks,
Shaohua

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 1118193341.3857.4.camel-ECwVeV2eNyQD0+JXs3kMbRL4W9x8LtSr@public.gmane.org

#24 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 10 lines
Quoted 3 lines

Against which kernel version/tree does this patch go? I would be happy to test it, but I am pretty new to kernel patching, so this is not so obvious to me.

I think any kernel version should be ok, but please try latest kernel. Please note, this isn't a fix but a test case.
If the test failed, then suspend/resume code path or drivers are broken. If the test succeeded, then
1. Linux forgot doing something BIOS lets it do
or 2. BIOS is broken.

Sorry for rather being newbish than much of a help, but I'd like to try this out and find out whether it's Linux or my notebook that has the problems.

But it gives me problems.
1. The patch won't apply or I am doing something wrong:

| [20:38 frank: ~/downloads/linux-2.6.12-rc6]$ patch -p1 <patch_resume.diff
| patching file drivers/acpi/hardware/hwsleep.c
| Hunk #2 FAILED at 328.
| 1 out of 2 hunks FAILED -- saving rejects to file drivers/acpi/hardware/hwsleep.c.rej

(same for linux-2.6.11.9)

2. I tried to add the patch manually (and can't see where I missed something -- the "extern void machine_real_restart(...)" line exists), but kernel compilation then fails.

|   CC      init/version.o
|   LD      init/built-in.o
|   LD      .tmp_vmlinux1
| ld: BFD 2.15 assertion fail ../../bfd/linker.c:619
| drivers/built-in.o(.text+0x203ef): In function `acpi_enter_sleep_state':
| : undefined reference to `machine_real_restart'
| make[1]: *** [.tmp_vmlinux1] Fehler 1
| make[1]: Verlasse Verzeichnis »/usr/src/linux-2.6.12-rc6«
| make: *** [stamp-build] Fehler 2

Would you mind posting the patch as attachment and the exact command I have to issue in my kernel directory?

Thanks a lot,
Frank

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r

A message that is not in the archive (sent off-list or not yet received): 200506102049.42313.hugelmopf-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org

#26 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 4 lines · Frank Siegert

2. I tried to add the patch manually (and can't see where I missed something -- the "extern void machine_real_restart(...)" line exists), but kernel compilation then fails.

Quoted 11 lines
|   CC      init/version.o
|   LD      init/built-in.o
|   LD      .tmp_vmlinux1
| ld: BFD 2.15 assertion fail ../../bfd/linker.c:619
|
| drivers/built-in.o(.text+0x203ef): In function `acpi_enter_sleep_state':
| : undefined reference to `machine_real_restart'
|
| make[1]: *** [.tmp_vmlinux1] Fehler 1
| make[1]: Verlasse Verzeichnis »/usr/src/linux-2.6.12-rc6«
| make: *** [stamp-build] Fehler 2

I get exactly the same error. I also would like to test that patch, but I cannot compile the sources with that patch applied.

Quoted 2 lines

Would you mind posting the patch as attachment and the exact command I have to issue in my kernel directory?

That would be great!!!

Thanks, Christoph Tavan

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r

A message that is not in the archive (sent off-list or not yet received): 200506122255.38020.chefturner-S0/[email protected]

#28 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 17 lines · Christoph Tavan
Quoted 4 lines · Frank Siegert

2. I tried to add the patch manually (and can't see where I missed something -- the "extern void machine_real_restart(...)" line exists), but kernel compilation then fails.

Quoted 11 lines
|   CC      init/version.o
|   LD      init/built-in.o
|   LD      .tmp_vmlinux1
| ld: BFD 2.15 assertion fail ../../bfd/linker.c:619
|
| drivers/built-in.o(.text+0x203ef): In function `acpi_enter_sleep_state':
| : undefined reference to `machine_real_restart'
|
| make[1]: *** [.tmp_vmlinux1] Fehler 1
| make[1]: Verlasse Verzeichnis »/usr/src/linux-2.6.12-rc6«
| make: *** [stamp-build] Fehler 2
Quoted 2 lines

I get exactly the same error. I also would like to test that patch, but I cannot compile the sources with that patch applied.

What is your version of gcc? I just got around to trying this patch out today using 2.6.12-rc6 and everything worked great. In fact, the patch even does the suspend/resume correctly. Now, it doesn't actually go to sleep so it's not useful, but it was just for testing/debugging right?

I'm using gcc 3.3.5 (Debian 1:3.3.5-13).

Quoted 5 lines
Quoted 3 lines

Would you mind posting the patch as attachment and the exact command I have to issue in my kernel directory?

That would be great!!!

the command I used from linux-2.6.12-rc6/ was:
patch drivers/acpi/hardware/hwsleep.c patch-s3.diff

that assumes patch-s3.diff is in the linux-2.6.12-rc6 directory. I'm also attaching the patch file again as you requested.

HTH,
Jason

drivers/acpi/hardware/hwsleep.c +21 -0
@@ -242,6 +242,19 @@ acpi_enter_sleep_state_prep (
  *              THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
  *
  ******************************************************************************/
+#define S3_DEBUG
+#ifdef S3_DEBUG
+#include <asm/io.h>
+extern void machine_real_restart(unsigned char *code, int length);
+static unsigned char jump_to_pm [] =
+{
+	0xea,
+	0x00,
+	0x00,
+	0x00,
+	0x00		/*    ljmp  $0x0000,$0x0000  */
+};
+#endif
 
 acpi_status asmlinkage
 acpi_enter_sleep_state (
@@ -315,6 +328,14 @@ acpi_enter_sleep_state (
 	PM1Acontrol |= (acpi_gbl_sleep_type_a << sleep_type_reg_info->bit_position);
 	PM1Bcontrol |= (acpi_gbl_sleep_type_b << sleep_type_reg_info->bit_position);
 
+#ifdef S3_DEBUG
+	if (sleep_state == ACPI_STATE_S3) {
+		*((short *)&jump_to_pm[3]) =
+			(short)(virt_to_phys((void *)acpi_wakeup_address)) >> 4;
+		/* Directly jump to acpi_wakeup_address */
+		machine_real_restart(jump_to_pm, sizeof(jump_to_pm));
+	}
+#endif
 	/*
 	 * We split the writes of SLP_TYP and SLP_EN to workaround
 	 * poorly implemented hardware.

A message that is not in the archive (sent off-list or not yet received): 878y1fjltd.fsf-mMfbam+mt929kzlf/[email protected]

#30 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Hello!

Quoted 10 lines · Jason Dagit
Quoted 4 lines
Quoted 2 lines

Would you mind posting the patch as attachment and the exact command I have to issue in my kernel directory?

That would be great!!!

the command I used from linux-2.6.12-rc6/ was:
patch drivers/acpi/hardware/hwsleep.c patch-s3.diff

that assumes patch-s3.diff is in the linux-2.6.12-rc6 directory.  I'm also attaching the patch file again as you requested.

Patching mm-sources-2.6.12-rc4 this way went fine now!

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

When I boot it with init=/bin/bash without the patch, it also seems to suspend and resume fine except for the display which stays black. Everything else seems to work: I can type "reboot" and the machine reboots properly!

Any ideas?

Thanks, Christoph Tavan

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r

A message that is not in the archive (sent off-list or not yet received): 200506130101.20005.chefturner-S0/[email protected]

#32 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 2 lines · Christoph Tavan

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

Try vbetool.

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
#33 lore raw

Display black after s3 resume, vbetool not working (was: Re: S3 test tool)

Hi again,

Quoted 5 lines · Matthew Garrett
Quoted 2 lines · Christoph Tavan

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

Try vbetool.

Thanks for the tip, I've tried that, unfortunately without success.

I'm going to describe, what happens, when I suspend and resume and I would be glad about every help. My laptop is a Samsung X30 with nvidia geforce fx go 5200 vga-adapter.

- Booted normally to console (no framebuffer, no X), only module loaded is evdev.

- saved vbestate:

  # vbetool vbestate save > path/to/vbefile

- # sync

- suspend to ram:

  # echo -n mem > /sys/power/state

=== Now the Laptop properly suspends! ===

- wake up the laptop by pressing the appropriate button, now display stays black but I can type commands blindly

- # sync

- try to post video-bios

  # vbetool post

=== Now the screen turns white with strange couloured lines. The white screen slowly gets darker and darker... I took a photo:
http://bugme.osdl.org/attachment.cgi?id=4029&action=view

- # vbetool vbestate restore < path/to/vbefile
has no visible effect :(

Switching terminals and starting X works (according to the logfiles), but has no effect on the display!

Here the last lines of the kernel-log:

Jun 14 20:38:56 spock Stopping tasks: ============================|
Jun 14 20:38:56 spock hwsleep-0296 [06] acpi_enter_sleep_state: Entering sleep 
state [S3]
Jun 14 20:38:56 spock Back to C!
Jun 14 20:38:56 spock ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> 
GSI 10 (level, low) -> IRQ 10
Jun 14 20:38:56 spock ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKD] -> 
GSI 10 (level, low) -> IRQ 10
Jun 14 20:38:56 spock Restarting tasks... done
Jun 14 20:38:56 spock Disabling BM access before entering C3

Any suggestions how one could find out what's going wrong there?

Thanks in advance, Christoph Tavan

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click

A message that is not in the archive (sent off-list or not yet received): 200506142138.04603.chefturner-S0/[email protected]

#35 lore raw

Re: Display black after s3 resume, vbetool not working (was: Re: S3 test tool)

Hi!

Quoted 5 lines

=== Now the screen turns white with strange couloured lines. The white screen slowly gets darker and darker... I took a photo:
http://bugme.osdl.org/attachment.cgi?id=4029&action=view

I forgot to mention that the attachment above corresponds to bug
http://bugme.osdl.org/show_bug.cgi?id=3203

Yours, Christoph Tavan

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click

#36 lore raw

Re: Display black after s3 resume, vbetool not working (was: Re: S3 test tool)

In reply to a message not in the archive

Hi!

Quoted 7 lines
Quoted 5 lines · Christoph Tavan
Quoted 2 lines

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

Try vbetool.

Thanks for the tip, I've tried that, unfortunately without success.

See Doc*/power/video.txt. Beyond that, I have no tricks. Invent some ;-).
Pavel

Signature · 8 lines
teflon -- maybe it is a trademark, but it should not be.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click

A message that is not in the archive (sent off-list or not yet received): 20050615225918.GA5680-I/[email protected]

#38 lore raw

Re: Display black after s3 resume, vbetool not working (was: Re: S3 test tool)

Quoted 6 lines · Pavel Machek

Hi!

Quoted 4 lines
Quoted 4 lines · Christoph Tavan
Quoted 2 lines

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

Quoted 7 lines
Quoted 3 lines
Quoted 1 line

Try vbetool.

Thanks for the tip, I've tried that, unfortunately without success.

See Doc*/power/video.txt. Beyond that, I have no tricks. Invent some ;-).
Pavel

I do

vbetool post; vbetool dpms on; vbetool post

this switches on the lcd (I have a different laptop tough).

cheers,
Hp.

Signature · 18 lines
Hanspeter Kunz                  Artificial Intelligence Laboratory
Ph.D. Student                   Department of Information Technology
Email: [email protected]           University of Zurich
Tel: +41.(0)44.63-54306         Andreasstrasse 15, Office 2.12
http://ailab.ch/people/hkunz    CH-8050 Zurich, Switzerland

Spamtraps: [email protected] hkunz.bogus-GVP2aXj/gld83/[email protected]
---
He who fears the unknown may one day flee from his own backside.
		-- Sinbad



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#39 lore raw

Re: Display black after s3 resume, vbetool not working (was: Re: S3 test tool)

In reply to a message not in the archive
Quoted 7 lines · Christoph Tavan

Hi again,

Quoted 4 lines · Matthew Garrett
Quoted 2 lines · Christoph Tavan

My Samsung X30 Laptop "suspends" and "resumes" fine with the patch, so kernel-code seems to be OK.

Quoted 7 lines
Quoted 1 line

Try vbetool.

Thanks for the tip, I've tried that, unfortunately without success.

I'm going to describe, what happens, when I suspend and resume and I would be glad about every help. My laptop is a Samsung X30 with nvidia geforce fx go 5200 vga-adapter.

try it from X with the binary nvidia drivers (yes, you read right). I have written a small HOWTO for SUSE 9.3 but it should contain the necessary information for other distributions as well:
http://www.susewiki.org/index.php?title=Suspend_NVidia_HOWTO

Quoted 1 line

Any suggestions how one could find out what's going wrong there?

The binary nvidia drivers apparently know how to turn on the light at resume, so they make quite some machines work with S3 that did not work before.

Signature · 9 lines
Stefan Seyfried



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#40 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

In reply to a message not in the archive
Quoted 3 lines · Christoph Tavan

When I boot it with init=/bin/bash without the patch, it also seems to suspend and resume fine except for the display which stays black. Everything else seems to work: I can type "reboot" and the machine reboots properly!

I want to try this on my laptop. When I add init=/bin/bash, /sys and /proc are empty. How do I initiate suspend? I used to use either echo mem >/sys/power/state or echo 3 >/proc/acpi/sleep.

Thanks,
Jason

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 87k6kzi2o7.fsf-mMfbam+mt929kzlf/[email protected]

#42 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

Quoted 9 lines · Jason Dagit
Quoted 3 lines · Christoph Tavan

When I boot it with init=/bin/bash without the patch, it also seems to suspend and resume fine except for the display which stays black. Everything else seems to work: I can type "reboot" and the machine reboots properly!

I want to try this on my laptop. When I add init=/bin/bash, /sys and /proc are empty. How do I initiate suspend? I used to use either echo mem >/sys/power/state or echo 3 >/proc/acpi/sleep.

Oh, figured it out. mount /proc, then do the echo.

Sorry for posting before thinking.
Jason

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

author
#43 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

In reply to a message not in the archive
Quoted 11 lines

What is your version of gcc? I just got around to trying this patch out today using 2.6.12-rc6 and everything worked great. In fact, the patch even does the suspend/resume correctly. Now, it doesn't actually go to sleep so it's not useful, but it was just for testing/debugging right?

I'm using gcc 3.3.5 (Debian 1:3.3.5-13).

Quoted 3 lines
Quoted 2 lines

Would you mind posting the patch as attachment and the exact command I have to issue in my kernel directory?

Quoted 7 lines
Quoted 1 line

That would be great!!!

the command I used from linux-2.6.12-rc6/ was:
patch drivers/acpi/hardware/hwsleep.c patch-s3.diff

that assumes patch-s3.diff is in the linux-2.6.12-rc6 directory. I'm also attaching the patch file again as you requested.

Thanks a lot ... it works now. I guess, when copy-pasting, some tabs got lost, which confused the patching.

Now patching as well as compiling (with Debian gcc 3.3.5) works.

Will post resume-results after reboot.

Thanks,
Frank

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

#44 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

In reply to a message not in the archive
Quoted 6 lines · Shaohua Li

I think any kernel version should be ok, but please try latest kernel. Please note, this isn't a fix but a test case.
If the test failed, then suspend/resume code path or drivers are broken. If the test succeeded, then
1. Linux forgot doing something BIOS lets it do
or 2. BIOS is broken.

Shaohua, my BIOS is available from the following link (my computer is the AV3250HX-01):
http://bugme.osdl.org/show_bug.cgi?id=3691

Could you (or someone else) take a look and see if my bios is broken? I've tried to decompile/recompile the bios, but I don't know enough about it to know if it is broken or if the warnings are harmless.

If it is (1), how can we begin to find this "forgotten" thing? I have windows on this machine if it would help to do comparisons between S3 in windows vs. linux.

Thanks,
Jason

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

A message that is not in the archive (sent off-list or not yet received): 87slzni6vu.fsf-mMfbam+mt929kzlf/[email protected]

#46 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

I should have added that my computer with this patch can 'resume' from S3.

Jason

Quoted 25 lines · Jason Dagit
Quoted 6 lines · Shaohua Li

I think any kernel version should be ok, but please try latest kernel. Please note, this isn't a fix but a test case.
If the test failed, then suspend/resume code path or drivers are broken. If the test succeeded, then
1. Linux forgot doing something BIOS lets it do
or 2. BIOS is broken.

Shaohua, my BIOS is available from the following link (my computer is the AV3250HX-01):
http://bugme.osdl.org/show_bug.cgi?id=3691

Could you (or someone else) take a look and see if my bios is broken? I've tried to decompile/recompile the bios, but I don't know enough about it to know if it is broken or if the warnings are harmless.

If it is (1), how can we begin to find this "forgotten" thing? I have windows on this machine if it would help to do comparisons between S3 in windows vs. linux.

Thanks,
Jason

Quoted 9 lines

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
Acpi-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-devel

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

#47 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: Resume from Suspend to RAM))

In reply to a message not in the archive
Quoted 8 lines

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.
It uses machine_real_restart to switch to real mode, and soon jump to the S3 wakeup address. So it simulates how BIOS resume a system from S3, but completely bypasses BIOS. If the system lives after S3 with the patch, at least we can know the suspend/resume code path is ok and it's not a Linux driver issue.

Using this patch my thinkpad R31 'resumes' fine. Without the patch the system is more or less a zombie after a resume, no display, no network and no keyboard reactions.
Do you have an idea what could I do to make real resume working?

Thanks,
Bernd

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

#48 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

In reply to Shaohua Li
Quoted 21 lines · Shaohua Li
Quoted 17 lines · On Mon, 2005-06-06 at 23:31 +0800, [email protected]…

Am Montag, 6. Juni 2005 11:06 schrieb Matthew Garrett:

Quoted 2 lines

Whoops. May have been a bit too hasty there. I'm not sure why that doesn't reset it, but we've now got the following (really rather

odd)

Quoted 1 line

serial output. Does anyone have any idea what might be triggering

this?

Quoted 2 lines

Shell builtins work fine, but anything else seems to explode very messily. Memory corruption of some description?

<snip>
So it does reach the kernel, right? I don't know if I remembered that call
correctly, but "lcall $0xffff,$0" should call the real mode BIOS reset
code...
Anyone else who can correct me here?

Quoted 3 lines

Perhaps the disk driver is going mad? Has anyone tried to boot a kernel
without any disk drivers with a minimal root system on an initrd?

Quoted 7 lines

For those who suffer from strange S3 resume problem such as resume hang, could you please try this debug patch.
It uses machine_real_restart to switch to real mode, and soon jump to the S3 wakeup address. So it simulates how BIOS resume a system from S3, but completely bypasses BIOS. If the system lives after S3 with the patch, at least we can know the suspend/resume code path is ok and it's not a Linux driver issue.

If you've looked at this bug you will know that myself at and atleast one other person experience a reboot on resume at a specific line in the wakeup code:
http://bugme.osdl.org/show_bug.cgi?id=3586

One note about the code in the bug, my code for detecting PM is backwards, so ignore it, what I say in this email is still valid.

Specifically, if I get rid of the pushl;popl then the computer does not reboot. See the attached diff. The question is 1) is this pushl;popl the final nail in the coffin? 2) Does windows not clear the flags completely, but instead sets them to some "special value"?

The reason for (1) is because as I understand it, when a certain number of illegal operations (3 iirc) are issued at certain times (real mode iirc) the machine automatically reboots. That could be what we are seeing here.

The reason for (2) is because if I remove the pushl;popl, boot into windows suspend/resume, and immeditaly boot into linux then the suspend/resume works. I have screen blanking issues, but I can type blindly and the commands all work just fine (I can startx for example).

Also, what flags are being cleared? What is their meaning? Can you or someone on this list point me to the approriate documentation? I'd love to look at it and try to understand my hardware better.

I would encourage others following this thread to try my patch and the the trick of doing a suspend/resume in windows followed by a reboot into linux where you try suspend/resume.

Thanks,
Jason

i386/kernel/acpi/wakeup.S renamed from home/dagit/kernels/linux-2.6.12-rc6/arch/i386/kernel/acpi/wakeup.S +2 -2
@@ -34,8 +34,8 @@
 	mov	$(wakeup_stack - wakeup_code), %sp		# Private stack is needed for ASUS board
 	movw	$0x0e00 + 'S', %fs:(0x12)
 
-	pushl	$0						# Kill any dangerous flags
-	popfl
+#	pushl	$0						# Kill any dangerous flags
+#	popfl
 
 	movl	real_magic - wakeup_code, %eax
 	cmpl	$0x12345678, %eax
#49 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 5 lines · On Tue, 2005-06-14 at 00:25 -0700, [email protected] wrote:

The reason for (2) is because if I remove the pushl;popl, boot into windows suspend/resume, and immeditaly boot into linux then the suspend/resume works. I have screen blanking issues, but I can type blindly and the commands all work just fine (I can startx for example).

Can you do a lspci -vxxx

a) After a cold boot into linux
b) After a warm boot into linux from Windows

and see if there's any difference between the two?

Signature · 1 line
Matthew Garrett | [email protected]
#50 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 8 lines · Matthew Garrett
Quoted 5 lines · On Tue, 2005-06-14 at 00:25 -0700, dagit-LP0vGzdgvNwj5TC/[email protected]…

The reason for (2) is because if I remove the pushl;popl, boot into windows suspend/resume, and immeditaly boot into linux then the suspend/resume works. I have screen blanking issues, but I can type blindly and the commands all work just fine (I can startx for example).

Quoted 4 lines

Can you do a lspci -vxxx

a) After a cold boot into linux
b) After a warm boot into linux from Windows

Sure thing, (a) is called lspci-coldboot.txt and the other is lspci-warmboot.txt. I've attached them so that you can see the whole thing, it doesn't look very helpful to me and the diff was even more cryptic, so good luck ;)

Thanks,
Jason

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8378 [KM400] Chipset Host Bridge
Subsystem: VIA Technologies, Inc.: Unknown device 0000
Flags: bus master, 66MHz, medium devsel, latency 8
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: [80] AGP version 3.5
Capabilities: [c0] Power Management version 2
00: 06 11 05 32 06 00 30 22 00 00 00 06 00 08 00 00
10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00
40: 00 19 88 80 82 44 01 04 1b 99 88 80 82 44 01 00
50: 08 00 00 80 60 85 20 20 e0 01 10 20 20 20 20 20
60: 40 aa aa 20 66 99 c1 30 44 6d 54 d8 81 43 00 00
70: 82 c8 00 01 60 8f 11 00 81 00 00 00 00 00 00 02
80: 02 c0 35 00 04 0a 00 1f 00 00 00 00 00 00 00 00
90: 80 01 00 00 30 0f 01 00 00 00 ee 1c 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 21 98 00 00
b0: c0 9b 01 96 26 00 00 02 46 00 00 01 f0 8a fd 0c
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 16 f4 79 ea 07 1c f1 19 72 ff 00 00 61 72 75 01
e0: 81 dd 66 04 20 ff c1 00 a6 87 bb 00 02 96 33 40
f0: 00 01 20 20 08 00 84 00 00 03 f0 08 00 04 00 00

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: dde00000-dfefffff
Prefetchable memory behind bridge: d5d00000-ddcfffff
Capabilities: [80] Power Management version 2
00: 06 11 98 b1 07 01 30 02 00 00 04 06 00 00 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 20 a2
20: e0 dd e0 df d0 d5 c0 dd 00 00 00 00 00 00 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00
40: 81 c0 80 44 35 72 98 b1 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 02 02 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:09.0 Network controller: RaLink Ralink RT2500 802.11 Cardbus Reference Card (rev 01)
Subsystem: Micro-Star International Co., Ltd.: Unknown device 6833
Flags: bus master, slow devsel, latency 32, IRQ 11
Memory at dfffe000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [40] Power Management version 2
00: 14 18 01 02 17 00 10 04 01 00 80 02 08 20 00 00
10: 00 e0 ff df 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 01 06 00 00 62 14 33 68
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 00 00
40: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller

	Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c602
	Flags: bus master, slow devsel, latency 64, IRQ 255
	Memory at 1e000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001

00: 17 12 72 69 07 00 10 04 00 00 07 06 00 40 02 00 10: 00 00 00 1e a0 00 00 02 00 02 05 b0 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 30: 01 00 00 00 01 00 00 00 01 00 00 00 ff 01 80 00 40: ff 14 02 c6 01 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 82 18 8c 01 90: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 02 fe 00 41 c0 09 00 00 00 00 09 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 40 00 08 ea 03 82 02 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at e400 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 e4 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 01 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at e800 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 e8 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 02 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at ec00 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 ec 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 03 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
Memory at dfffdf00 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
00: 06 11 04 31 17 00 10 02 82 20 03 0c 10 20 00 00
10: 00 df ff df 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 04 00 00
40: 00 00 03 00 00 00 00 00 80 20 00 09 00 00 00 00
50: 00 5a 00 80 00 00 00 00 04 0b 66 88 33 66 00 00
60: 20 20 01 00 00 00 00 00 01 00 00 00 00 00 08 c0
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
Subsystem: VIA Technologies, Inc.: Unknown device 0000
Flags: bus master, stepping, medium devsel, latency 0
Capabilities: [c0] Power Management version 2
00: 06 11 77 31 87 00 10 02 00 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
30: 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
40: 44 00 f8 0b 00 00 00 00 0c 20 00 00 44 00 08 08
50: 01 18 08 00 00 b0 a0 70 02 9c ff 01 00 00 04 08
60: 00 00 00 00 10 00 02 04 00 00 00 00 00 00 00 00
70: 06 11 00 00 00 00 00 00 00 00 00 00 20 00 00 00
80: 20 84 49 00 02 10 00 00 01 08 00 00 04 18 00 00
90: 00 10 bf 00 b0 c5 02 00 10 80 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 04 00 01 01 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00

0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 1205
Flags: bus master, medium devsel, latency 32, IRQ 255
I/O ports at fc00 [size=16]
Capabilities: [c0] Power Management version 2
00: 06 11 71 05 07 00 90 02 06 8a 01 01 00 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 fc 00 00 00 00 00 00 00 00 00 00 ff 14 05 12
30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 01 00 00
40: 0b f2 09 05 18 1c c0 00 a8 20 a8 20 ff 00 20 20
50: 07 e6 07 e1 0c 00 00 00 a8 a8 a8 a8 00 00 00 00
60: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00
70: 02 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00
80: 00 10 51 01 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 06 00 71 05 ff 14 05 12 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00 00

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 0408
Flags: medium devsel, IRQ 10
I/O ports at dc00 [size=256]
Capabilities: [c0] Power Management version 2
00: 06 11 59 30 01 00 10 02 50 00 01 04 00 00 00 00
10: 01 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 08 04
30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 03 00 00
40: 05 cc 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:11.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 80)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 1005
Flags: medium devsel, IRQ 10
I/O ports at e000 [size=256]
Capabilities: [d0] Power Management version 2
00: 06 11 68 30 01 00 10 02 80 00 80 07 00 00 00 00
10: 01 e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 05 10
30: 00 00 00 00 d0 00 00 00 00 00 00 00 0a 03 00 00
40: 05 cc 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 0207
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at d800 [size=256]
Memory at dfffde00 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
00: 06 11 65 30 17 00 10 02 74 00 00 02 08 20 00 00
10: 01 d8 00 00 00 de ff df 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 07 02
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 03 08
40: 01 00 02 fe 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8378 [S3 UniChrome] Integrated Video (rev 01) (prog-if 00 [VGA])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 030d
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 11
Memory at d8000000 (32-bit, prefetchable) [size=64M]
Memory at de000000 (32-bit, non-prefetchable) [size=16M]
Expansion ROM at dfef0000 [disabled] [size=64K]
Capabilities: [60] Power Management version 2
Capabilities: [70] AGP version 2.0
00: 06 11 05 72 07 00 30 02 01 00 00 03 00 20 00 00
10: 08 00 00 d8 00 00 00 de 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 0d 03
30: 00 00 ef df 60 00 00 00 00 00 00 00 0b 01 02 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 01 70 22 06 00 00 00 00 00 00 00 00 00 00 00 00
70: 02 00 20 00 07 02 00 1f 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8378 [KM400] Chipset Host Bridge
Subsystem: VIA Technologies, Inc.: Unknown device 0000
Flags: bus master, 66MHz, medium devsel, latency 8
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: [80] AGP version 3.5
Capabilities: [c0] Power Management version 2
00: 06 11 05 32 06 00 30 22 00 00 00 06 00 08 00 00
10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00
40: 00 19 88 80 82 44 01 04 1b 99 88 80 82 44 01 00
50: 08 00 00 80 60 85 20 20 e0 01 10 20 20 20 20 20
60: 40 aa aa 20 66 99 c1 11 4f 6d 54 d8 81 47 00 00
70: 82 c8 00 01 60 8f 11 00 81 00 00 00 00 00 00 02
80: 02 c0 35 00 04 0a 00 1f 00 00 00 00 00 00 00 00
90: 80 01 00 00 30 0f 01 00 00 00 0a 1d 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 21 98 00 00
b0: c0 9b 01 96 26 00 00 02 46 00 00 01 f0 8a fd 0c
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 16 f4 79 ea 07 1c f1 19 72 ff 00 00 61 72 75 01
e0: 81 dd 66 04 20 ff c1 00 a6 87 bb 00 02 96 33 40
f0: 00 01 20 20 08 00 84 00 00 03 f0 08 00 04 00 00

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, medium devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: dde00000-dfefffff
Prefetchable memory behind bridge: d5d00000-ddcfffff
Capabilities: [80] Power Management version 2
00: 06 11 98 b1 07 01 30 02 00 00 04 06 00 00 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 20 a2
20: e0 dd e0 df d0 d5 c0 dd 00 00 00 00 00 00 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 00 00 0c 00
40: 81 c0 80 44 35 72 98 b1 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 02 02 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:09.0 Network controller: RaLink Ralink RT2500 802.11 Cardbus Reference Card (rev 01)
Subsystem: Micro-Star International Co., Ltd.: Unknown device 6833
Flags: bus master, slow devsel, latency 32, IRQ 11
Memory at dfffe000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [40] Power Management version 2
00: 14 18 01 02 17 00 10 04 01 00 80 02 08 20 00 00
10: 00 e0 ff df 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 01 06 00 00 62 14 33 68
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 00 00
40: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller

	Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c602
	Flags: bus master, slow devsel, latency 64, IRQ 255
	Memory at 1e000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001

00: 17 12 72 69 07 00 10 04 00 00 07 06 00 40 02 00 10: 00 00 00 1e a0 00 00 02 00 02 05 b0 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 30: 01 00 00 00 01 00 00 00 01 00 00 00 ff 01 80 00 40: ff 14 02 c6 01 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 82 18 8c 01 90: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 02 fe 00 41 c0 09 00 00 00 00 09 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 40 00 08 ea 03 82 02 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at e400 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 e4 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 01 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at e800 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 e8 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 02 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
I/O ports at ec00 [size=32]
Capabilities: [80] Power Management version 2
00: 06 11 38 30 17 00 10 02 80 00 03 0c 08 20 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 ec 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 03 00 00
40: 40 12 03 00 00 00 00 00 00 0b 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device c905
Flags: bus master, medium devsel, latency 32, IRQ 7
Memory at dfffdf00 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
00: 06 11 04 31 17 00 10 02 82 20 03 0c 10 20 00 00
10: 00 df ff df 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 05 c9
30: 00 00 00 00 80 00 00 00 00 00 00 00 07 04 00 00
40: 00 00 03 00 00 00 00 00 80 20 00 09 00 00 00 00
50: 00 5a 00 80 00 00 00 00 04 0b 66 88 33 66 00 00
60: 20 20 01 00 00 00 00 00 01 00 00 00 00 00 08 c0
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 c2 ff 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
Subsystem: VIA Technologies, Inc.: Unknown device 0000
Flags: bus master, stepping, medium devsel, latency 0
Capabilities: [c0] Power Management version 2
00: 06 11 77 31 87 00 10 02 00 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 06 11 00 00
30: 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
40: 44 00 f8 0b 00 00 00 00 0c 20 00 00 44 00 08 08
50: 01 18 08 00 00 b0 a0 70 02 9c ff 01 00 00 04 08
60: 00 00 00 00 10 00 02 04 00 00 00 00 00 00 00 00
70: 06 11 00 00 00 00 00 00 00 00 00 00 20 00 00 00
80: 20 84 49 00 02 10 00 00 01 08 00 00 04 18 00 00
90: 00 10 bf 00 b0 c5 02 00 10 14 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 04 00 01 01 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00

0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 1205
Flags: bus master, medium devsel, latency 32, IRQ 255
I/O ports at fc00 [size=16]
Capabilities: [c0] Power Management version 2
00: 06 11 71 05 07 00 90 02 06 8a 01 01 00 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 fc 00 00 00 00 00 00 00 00 00 00 ff 14 05 12
30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 01 00 00
40: 0b f2 09 05 18 1c c0 00 a8 20 a8 20 ff 00 20 20
50: 07 e6 07 e1 0c 00 00 00 a8 a8 a8 a8 00 00 00 00
60: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00
70: 02 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00
80: 00 00 51 01 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 06 00 71 05 ff 14 05 12 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 07 00 00 00 00 00 00 00 00 00

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 0408
Flags: medium devsel, IRQ 10
I/O ports at dc00 [size=256]
Capabilities: [c0] Power Management version 2
00: 06 11 59 30 01 00 10 02 50 00 01 04 00 00 00 00
10: 01 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 08 04
30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 03 00 00
40: 05 cc 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:11.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 80)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 1005
Flags: medium devsel, IRQ 10
I/O ports at e000 [size=256]
Capabilities: [d0] Power Management version 2
00: 06 11 68 30 01 00 10 02 80 00 80 07 00 00 00 00
10: 01 e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 05 10
30: 00 00 00 00 d0 00 00 00 00 00 00 00 0a 03 00 00
40: 05 cc 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 0207
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at d800 [size=256]
Memory at dfffde00 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
00: 06 11 65 30 17 00 10 02 74 00 00 02 08 20 00 00
10: 01 d8 00 00 00 de ff df 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 07 02
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 03 08
40: 01 00 02 fe 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0000:01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8378 [S3 UniChrome] Integrated Video (rev 01) (prog-if 00 [VGA])
Subsystem: TWINHEAD INTERNATIONAL Corp: Unknown device 030d
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 11
Memory at d8000000 (32-bit, prefetchable) [size=64M]
Memory at de000000 (32-bit, non-prefetchable) [size=16M]
Expansion ROM at dfef0000 [disabled] [size=64K]
Capabilities: [60] Power Management version 2
Capabilities: [70] AGP version 2.0
00: 06 11 05 72 07 00 30 02 01 00 00 03 00 20 00 00
10: 08 00 00 d8 00 00 00 de 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ff 14 0d 03
30: 00 00 ef df 60 00 00 00 00 00 00 00 0b 01 02 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 01 70 22 06 00 00 00 00 00 00 00 00 00 00 00 00
70: 02 00 20 00 07 02 00 1f 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

#51 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 4 lines · On Tue, 2005-06-14 at 09:24 -0700, dagit-LP0vGzdgvNwj5TC/[email protected]…

Sure thing, (a) is called lspci-coldboot.txt and the other is lspci-warmboot.txt. I've attached them so that you can see the whole thing, it doesn't look very helpful to me and the diff was even more cryptic, so good luck ;)

Ok, this is probably a long shot, but try:

setpci -s 00:00.0 67.b=11
setpci -s 00:00.0 68.b=4f
setpci -s 00:00.0 6d.b=47
setpci -s 00:00.0 9a.b=0a
setpci -s 00:00.0 9b.b=1d

after a cold boot, and then see if that changes the behaviour. My suspicion is that Windows enables some northbridge features that affect the behaviour of the system in suspend. Working out /what/ would be much easier with datasheets, but ATI and VIA don't seem willing to provide them (if anyone could provide me with northbridge PCI configuration register specs for any non-Intel chipsets, that would be astonishingly helpful)

Signature · 9 lines
Matthew Garrett | [email protected]



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#52 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

In reply to [email protected]

Hi!

Quoted 13 lines

If you've looked at this bug you will know that myself at and atleast one other person experience a reboot on resume at a specific line in the wakeup code:
http://bugme.osdl.org/show_bug.cgi?id=3586

One note about the code in the bug, my code for detecting PM is backwards, so ignore it, what I say in this email is still valid.

Specifically, if I get rid of the pushl;popl then the computer does not reboot. See the attached diff. The question is 1) is this pushl;popl the final nail in the coffin? 2) Does windows not clear the flags completely, but instead sets them to some "special value"?

Quoted 4 lines

The reason for (1) is because as I understand it, when a certain number of illegal operations (3 iirc) are issued at certain times (real mode iirc) the machine automatically reboots. That could be what we are seeing here.

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Quoted 3 lines

Also, what flags are being cleared? What is their meaning? Can you or someone on this list point me to the approriate documentation? I'd love to look at it and try to understand my hardware better.

Like perhaps processor docs?
Pavel

Signature · 8 lines
teflon -- maybe it is a trademark, but it should not be.


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
#53 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 15 lines · Pavel Machek

Hi!

Quoted 13 lines

If you've looked at this bug you will know that myself at and atleast one other person experience a reboot on resume at a specific line in the wakeup code:
http://bugme.osdl.org/show_bug.cgi?id=3586

One note about the code in the bug, my code for detecting PM is backwards, so ignore it, what I say in this email is still valid.

Specifically, if I get rid of the pushl;popl then the computer does not reboot. See the attached diff. The question is 1) is this pushl;popl the final nail in the coffin? 2) Does windows not clear the flags completely, but instead sets them to some "special value"?

Quoted 8 lines
Quoted 4 lines

The reason for (1) is because as I understand it, when a certain number of illegal operations (3 iirc) are issued at certain times (real mode iirc) the machine automatically reboots. That could be what we are seeing here.

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Ah. Yeah, this isn't an area I know much about :) Thanks for the correction.

Quoted 2 lines

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Quoted 1 line

Like perhaps processor docs?

Is that what I want to look at? I was the one asking the question. ;)

Thanks,
Jason

#54 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Hi!

Quoted 7 lines
Quoted 3 lines

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Ah. Yeah, this isn't an area I know much about :) Thanks for the correction.

Quoted 6 lines
Quoted 2 lines

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

Quoted 3 lines
Quoted 1 line

Like perhaps processor docs?

Is that what I want to look at? I was the one asking the question. ;)

Yes.
Pavel

Signature · 1 line
teflon -- maybe it is a trademark, but it should not be.
#55 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 12 lines · Pavel Machek

Hi!

Quoted 10 lines
Quoted 3 lines

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Ah. Yeah, this isn't an area I know much about :) Thanks for the correction.

Quoted 2 lines

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Quoted 6 lines
Quoted 3 lines

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

pushl $0, popl %eax gets the reboot. So it's changing the flags that is bad?

What should we try next?

thanks,
Jason

#56 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Hi!

Quoted 14 lines
Quoted 14 lines
Quoted 13 lines
Quoted 3 lines

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Ah. Yeah, this isn't an area I know much about :) Thanks for the correction.

Quoted 2 lines

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Quoted 7 lines
Quoted 2 lines

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

pushl $0, popl %eax gets the reboot. So it's changing the flags that is bad?

What should we try next?

??? You wanted it to reboot? If not, something is wrong with stack. Not sure whats next.

Pavel

Signature · 8 lines
teflon -- maybe it is a trademark, but it should not be.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#57 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 19 lines · Pavel Machek

Hi!

Quoted 17 lines
Quoted 16 lines
Quoted 7 lines
Quoted 3 lines

You got this wrong. It is three illegal instructions but *nested*. Like error, error in fault handler, error in doublefault handler.

Ah. Yeah, this isn't an area I know much about :) Thanks for the correction.

Quoted 6 lines
Quoted 2 lines

Try replacing flags manipulation with any stack manipulation to see what is wrong.

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

Quoted 7 lines
Quoted 4 lines

pushl $0, popl %eax gets the reboot. So it's changing the flags that is bad?

What should we try next?

??? You wanted it to reboot? If not, something is wrong with stack. Not sure whats next.

I don't want it to reboot, I guess I got confused. As you say, maybe something is wrong with the stack. It's weird that something would be wrong with the stack, because the other test to check the suspend/resume code path works like a charm, the machine will do the fake suspend/resume just fine.

So the bios must be messing up the stack right? Is there a way to examine or dump the stack so that we can compare the stack when windows does the suspend/resume compared to when linux does it?

thanks,
Jason

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click

#58 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Hi!

Quoted 12 lines
Quoted 12 lines
Quoted 11 lines
Quoted 6 lines
Quoted 3 lines

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

pushl $0, popl %eax gets the reboot. So it's changing the flags that is bad?

What should we try next?

Quoted 8 lines
Quoted 2 lines

??? You wanted it to reboot? If not, something is wrong with stack. Not sure whats next.

I don't want it to reboot, I guess I got confused. As you say, maybe something is wrong with the stack. It's weird that something would be wrong with the stack, because the other test to check the suspend/resume code path works like a charm, the machine will do the fake suspend/resume just fine.

Well, we set up stack few instructions before that. But we do it in quite a complicated way; could you just put stack at 0x00:0x200 or something like that? Also test if push alone is enough to kill it.

Pavel

Signature · 8 lines
teflon -- maybe it is a trademark, but it should not be.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#59 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 23 lines · Pavel Machek

Hi!

Quoted 12 lines
Quoted 12 lines
Quoted 11 lines
Quoted 6 lines
Quoted 3 lines

Do you mean try something like this? Replace the push 0 with push 0x1234 ; push 0x1234 ; pop ; pop and try to figure out which line causes the reboot?

Yep, try pushl $0, popl %eax; if that causes problems, something is seriously wrong with stack, otherwise changing flags hurts.

pushl $0, popl %eax gets the reboot. So it's changing the flags that is bad?

What should we try next?

Quoted 8 lines
Quoted 2 lines

??? You wanted it to reboot? If not, something is wrong with stack. Not sure whats next.

I don't want it to reboot, I guess I got confused. As you say, maybe something is wrong with the stack. It's weird that something would be wrong with the stack, because the other test to check the suspend/resume code path works like a charm, the machine will do the fake suspend/resume just fine.

Quoted 3 lines

Well, we set up stack few instructions before that. But we do it in quite a complicated way; could you just put stack at 0x00:0x200 or something like that? Also test if push alone is enough to kill it.

Could you send me the code you want me to test, I'd don't know enough asm to move the stack. I tried replacing the line with the comment about the ASUS board private stack with a line like, "mov $0x200, %sp", but I don't understand it.

As for check about the push alone causing the reboot, I removed the pop, and it still reboots, but to me that doesn't say that it's the push that does it. It could be the next line. I'll try to put in an infinite loop.

Thanks,
Jason

#60 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

Quoted 4 lines

As for check about the push alone causing the reboot, I removed the pop, and it still reboots, but to me that doesn't say that it's the push that does it. It could be the next line. I'll try to put in an infinite loop.

I added a loop "jmp ." right after the pushl and the machine still reboots. So the pushl does cause the reboot.

Hopefully, you can show me how to move the stack and I will try that as well.

Thanks,
Jason

#61 lore raw

Re: S3 test tool (was : Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM))

In reply to [email protected]

Hi!

Quoted 11 lines
Quoted 11 lines
Quoted 10 lines
Quoted 4 lines
Quoted 1 line

What should we try next?

??? You wanted it to reboot? If not, something is wrong with stack. Not sure whats next.

I don't want it to reboot, I guess I got confused. As you say, maybe something is wrong with the stack. It's weird that something would be wrong with the stack, because the other test to check the suspend/resume code path works like a charm, the machine will do the fake suspend/resume just fine.

Quoted 8 lines
Quoted 3 lines

Well, we set up stack few instructions before that. But we do it in quite a complicated way; could you just put stack at 0x00:0x200 or something like that? Also test if push alone is enough to kill it.

Could you send me the code you want me to test, I'd don't know enough asm to move the stack. I tried replacing the line with the comment about the ASUS board private stack with a line like, "mov $0x200, %sp", but I don't understand it.

mov 0x200, %sp was good idea, but try to zero %ss, too. (xor %eax, %eax; mov %eax, %ss).
Pavel

Signature · 8 lines
teflon -- maybe it is a trademark, but it should not be.


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
#62 lore raw

Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

In reply to Matthew Garrett

Hi!

Quoted 13 lines
Quoted 6 lines
Quoted 4 lines

I've no idea how to debug a reboot, but if the system hangs it's possible to add "lcall $0xffff,$0" early in the wakeup assembler code. If the system reboots immediatly then, the kernels wakeup code was reached and the kernel hangs later during resume.

Ok, I've just tried that. The system still just freezes.

Whoops. May have been a bit too hasty there. I'm not sure why that doesn't reset it, but we've now got the following (really rather odd) serial output. Does anyone have any idea what might be triggering this? Shell builtins work fine, but anything else seems to explode very messily. Memory corruption of some description?

Quoted 5 lines

^MRestarting tasks... done

^Mroot@(none):/# ^M
root@(none):/# ls -la ^M
Unable to handle kernel NULL pointer dereference at virtual address
Quoted 1 line
Quoted 1 line

00000024

NULL pointer dereference in filp_open; whats that strange about it? Use printks to debug this one, nothing mysterious.
Pavel

#63 lore raw

Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Quoted 2 lines · Pavel Machek

NULL pointer dereference in filp_open; whats that strange about it? Use printks to debug this one, nothing mysterious.

I can't see any way that a null pointer could get to filp_open without something already being very wrong - the kernel worked fine before suspend. Unfortunately, that's the one occasion that we've got the machine (an HP nc4000) to resume. Since then, it simply freezes before hitting "Back to C" despite having had no kernel or configuration changes. The behaviour is very non-deterministic, which makes me wonder about something in the suspend or resume process damaging state.

Signature · 8 lines
Matthew Garrett | [email protected]


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
#64 lore raw

Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Hi!

Quoted 10 lines
Quoted 2 lines

NULL pointer dereference in filp_open; whats that strange about it? Use printks to debug this one, nothing mysterious.

I can't see any way that a null pointer could get to filp_open without something already being very wrong - the kernel worked fine before suspend. Unfortunately, that's the one occasion that we've got the machine (an HP nc4000) to resume. Since then, it simply freezes before hitting "Back to C" despite having had no kernel or configuration changes. The behaviour is very non-deterministic, which makes me wonder about something in the suspend or resume process damaging state.

Hmm, strange. You may want to test if length of sleep affects it...

Pavel

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20

#65 lore raw

Re: Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Quoted 6 lines · Pavel Machek
Quoted 4 lines

machine (an HP nc4000) to resume. Since then, it simply freezes before hitting "Back to C" despite having had no kernel or configuration changes. The behaviour is very non-deterministic, which makes me wonder about something in the suspend or resume process damaging state.

Hmm, strange. You may want to test if length of sleep affects it...

I tried to resume immediately when the screen goes blank and got the following results. Out of 9 trials I got:

- 4x: it would say "Restarting tasks..." but then oops and hang immediately. See the oops below.
- 4x: come back and give me a shell - but it hangs
- 1x: come back, give me a shell and let me type; built-ins worked but commands produced the oops posted by Matthew a few days ago.

So far it has never come back when I don't resume immediately.

The new oops I got is:

root@(none):/# mount -t proc none /proc
root@(none):/# echo 3 > /proc/acpi/sleep
Stopping tasks: ===|
    ACPI-0286: *** Error: No installed handler for fixed event [00000002]
Restarting tasks... done
Unable to handle kernel paging request at virtual address 00008265
 printing eip:
c015ac62
*pde = 00000000
Oops: 0002 [#2]
PREEMPT
Modules linked in:
CPU:    0
EIP:    0060:[<c015ac62>]    Not tainted VLI
EFLAGS: 00010202   (2.6.12-rc5)
EIP is at filp_open+0x32/0x70
eax: f7c7a000   ebx: 00008241   ecx: 00000003   edx: 00000180
esi: 00008241   edi: f7c7a000   ebp: c191c000   esp: c191df48
ds: 007b   es: 007b   ss: 0068
Process bash (pid: 1, threadinfo=c191c000 task=c18bfa20)
Stack: bfeafcf4 00008242 c191df64 c191df58 c016690b 080f1f48 c191df64 c191df6c
       00000014 00000000 f7c7a000 00000003 c18c0e40 c191c000 c015af95 c18c0e40
       00000003 00000003 f7c7a000 00008241 00000003 c015b109 f7c7a000 00008241
Call Trace:
 [<c016690b>] sys_stat64+0x1b/0x40
 [<c015af95>] get_unused_fd+0xa5/0xe0
 [<c015b109>] sys_open+0x49/0x90
 [<c0103245>] syscall_call+0x7/0xb
Code: 8b 5c 24 5c 8d 43 01 a8 03 0f 44 c3 89 c2 83 ca 02 f6 c4 02 0f 45 c2 8d 54 24 10 89 54 24 0c 8b 54 24 60 89 44 24 04 8b 44 24 58 <89> 56 24 08 89 04 24 e8 62 19 01 00 85 c0 74 0e 8b 5c 24 50 83
 <0>Kernel panic - not syncing: Attempted to kill init!
Signature · 9 lines
Martin Michlmayr
http://www.cyrius.com/


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
#66 lore raw
In reply to Matthew Garrett

Hi!

Quoted 5 lines
Quoted 4 lines

I've no idea how to debug a reboot, but if the system hangs it's possible to add "lcall $0xffff,$0" early in the wakeup assembler code. If the system reboots immediatly then, the kernels wakeup code was reached and the kernel hangs later during resume.

Quoted 7 lines

Ok, I've just tried that. The system still just freezes.

Quoted 1 line

Is it somehow possible to localize and debug the BIOS code?

Hmm. It's certainly possible for me to get a dump of the BIOS - is any BIOS code actually executed on resume? If so, checking through that may well be helpful.

Yes, parts of BIOS definitely are ran during resume. You have your DRAM initialized when Linux attempts to wake up :-).

Pavel

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20