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