Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 03 Jun 2012 23:58:39 +0900 (JST)
From:      Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
To:        freebsd-acpi@freebsd.org
Subject:   Re: preparation for x86/acpica/acpi_wakeup.c
Message-ID:  <20120603.235839.133292778.iwasaki@jp.FreeBSD.org>
In-Reply-To: <20120603.152326.105529138.iwasaki@jp.FreeBSD.org>
References:  <20120603.002554.119853142.iwasaki@jp.FreeBSD.org> <CAJ-FndAfm4_XqFSwBqXK=cgWkE6YVrtkS5BbcH7zcRd-100xTw@mail.gmail.com> <20120603.152326.105529138.iwasaki@jp.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> > The first thing to consider is that right now we only have 2 states
> > for CPUs: started and stopped. These states are controlled by
> > started_cpus and stopped_cpus masks respectively. It seems you really
> > want to add an intermediate level among the 2 where you have: started
> > -> suspended -> started -> suspended ... -> stopped and you need to
> > expand the mechanism for dealing with started and stopped cpus to do
> > that. I'm pretty sure this will be very helpful also for other
> > architectures that want to do the same.
> 
> You are right, I'll add new global cpuset suspended_cpus and replace
> PCB_SUSPENDING with it.

Also I noticed that CR3 can be restored in resumectx() and remove
load_cr3() from C code.

Revised patches:
http://people.freebsd.org/~iwasaki/acpi/x86-acpi_wakeup-20120603.diff

Thanks



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120603.235839.133292778.iwasaki>