5.1, Data Corruption, Intel, Oh my! [patch]
Bosko Milekic
bmilekic at technokratis.com
Wed Aug 20 10:29:35 PDT 2003
On Wed, Aug 20, 2003 at 10:09:34AM -0700, Nate Lawson wrote:
> I haven't had time to test your patch unfortunately but just wanted to let
> you know of a corner case to be aware of. To suspend, ACPI maps in and
> identity page table (phys == virt) and switches to real mode. I'm not
> sure if your patches change the ability to access the first 1M or change
> the way such a mapping would be done, but it would be useful if you
> thought about this. The code is in /sys/i386/acpica/acpi_wakeup.c:
> acpi_sleep_machdep().
A P==V mapping is also done during the startup of the APs on SMP.
There should not be a problem. Also, this change loads the
kernel at 0x400000 (so at the next 4M) just to be sure to not map that
first 4M region in a 4M page, in particular to prevent from exposing
holes in the region via a 4M page at any time. It should be noted
that the changes leave the page tables describing the kernel with
4K-page ptes lying around in order to accomodate the P==V switchover
in mp_machdep.c, so the legacy 4K page tables are still around, should
they be required in a different mapping (like the mp_machdep one).
In any case, it would still be nice if the acpi users (for whom acpi
works for the most part) could give the patch a try as well (I have a
decent-sized list of testers but would nonetheless welcome/appreciate
more).
> Thanks,
> -Nate
Cheers,
--
Bosko Milekic * bmilekic at technokratis.com * bmilekic at FreeBSD.org
TECHNOkRATIS Consulting Services * http://www.technokratis.com/
More information about the freebsd-current
mailing list