From owner-cvs-src@FreeBSD.ORG Mon Oct 27 11:01:58 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0643416A4B3 for ; Mon, 27 Oct 2003 11:01:58 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 28CB943FB1 for ; Mon, 27 Oct 2003 11:01:52 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 77815 invoked by uid 1000); 27 Oct 2003 19:01:52 -0000 Date: Mon, 27 Oct 2003 11:01:52 -0800 (PST) From: Nate Lawson To: User Takawata In-Reply-To: <200310270803.RAA03826@axe-inc.co.jp> Message-ID: <20031027105825.M77739@root.org> References: <200310270803.RAA03826@axe-inc.co.jp> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/acpica acpi_wakecode.S X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 19:01:58 -0000 On Mon, 27 Oct 2003, User Takawata wrote: > In message <200310270626.h9R6QpOI039373@repoman.freebsd.org>, Nate Lawson wrote > > Modified files: > > sys/i386/acpica acpi_wakecode.S > > Log: > > Call the VESA reset BIOS vector on the resume path. This may help displays > > after resume. I have not found it to break anything. > > > > Revision Changes Path > > 1.4 +9 -0 src/sys/i386/acpica/acpi_wakecode.S > > How about initializing stack? > > Index: acpi_wakecode.S > =================================================================== > RCS file: /home/ncvs/src/sys/i386/acpica/acpi_wakecode.S,v > retrieving revision 1.4 > diff -u -r1.4 acpi_wakecode.S > --- acpi_wakecode.S 27 Oct 2003 06:26:51 -0000 1.4 > +++ acpi_wakecode.S 27 Oct 2003 08:02:01 -0000 > @@ -31,6 +31,7 @@ > #define LOCORE > > #include > +#include > > .align 4 > .code16 > @@ -42,7 +43,10 @@ > movw %cs,%ax > movw %ax,%ds > movw %ax,%ss > - > + > + /* Assume 1 page is allocated for wakecode from the entry*/ > + movw $PAGE_SIZE, %sp > + > /* > * Re-initialize video BIOS. Restore DS and SS from CS in > * case the BIOS modified them. What is this intended to fix? esp is restored later on and I don't think the VESA BIOS routine uses the stack. Also, it appears I'm doing redundant restore of ds and ss from cs. If I move the lcall to the beginning, I think this could eliminate 3 instructions. Would this work? -Nate