Date: Tue, 15 Jul 2003 17:15:30 -0700 From: Peter Wemm <peter@wemm.org> To: Andrea Campi <andrea@webcom.it> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/conf options.i386 options.pc98 src/sys/i386/i386 mp_machdep.c pmap.c swtch.s src/sys/i386/isa apic_vector.s src/sys/kern kern_synch.c subr_witness.c Message-ID: <20030716001530.58C752A8B2@canning.wemm.org> In-Reply-To: <20030715142508.GA1278@webcom.it>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrea Campi wrote: > On Wed, Jul 09, 2003 at 06:03:00PM -0700, Peter Wemm wrote: > > peter 2003/07/09 18:03:00 PDT > > > > FreeBSD src repository > > > > Modified files: > > sys/conf options.i386 options.pc98 > > sys/i386/i386 mp_machdep.c pmap.c swtch.s > > sys/i386/isa apic_vector.s > > sys/kern kern_synch.c subr_witness.c > > Log: > > unifdef -DLAZY_SWITCH and start to tidy up the associated glue. > > After this commit my laptop reboots after wakup from S4 (sleep to disk). > I looked at the delta but couldn't quickly figure out whether it's possible > to revert it only in part. I'll try to do it later tonight at home, but > if in the meantime anybody has any good debugging idea, I'm all ears. To get you out of a jam, you can try this (beware, xterm cut/paste tab spammage, but it should point you where to disable the test): RCS file: /home/ncvs/src/sys/i386/i386/swtch.s,v retrieving revision 1.142 diff -u -r1.142 swtch.s --- swtch.s 10 Jul 2003 01:02:59 -0000 1.142 +++ swtch.s 16 Jul 2003 00:08:10 -0000 @@ -161,12 +161,14 @@ /* switch address space */ movl PCB_CR3(%edx),%eax +#if 0 #ifdef PAE cmpl %eax,IdlePDPT /* Kernel address space? */ #else cmpl %eax,IdlePTD /* Kernel address space? */ #endif je sw1 +#endif movl %cr3,%ebx /* The same address space? */ cmpl %ebx,%eax je sw1 However, There has also been an ACPI update. I wonder if that might be the cause instead? As a shot in the dark, you might like to try something like this too: RCS file: /home/ncvs/src/sys/i386/acpica/acpi_wakeup.c,v retrieving revision 1.21 diff -u -r1.21 acpi_wakeup.c --- acpi_wakeup.c 1 Jul 2003 15:52:03 -0000 1.21 +++ acpi_wakeup.c 16 Jul 2003 00:14:21 -0000 @@ -296,6 +296,8 @@ pm->pm_pteobj = NULL; } + load_cr3(rcr3()); + write_eflags(ef); return (ret); No, I haven't tested it. It really is a wild guess. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030716001530.58C752A8B2>