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>