[ros-kernel] MmAccessFaultSectionView minipatch

Hartmut Birr Hartmut.Birr at gmx.de
Sun May 30 12:36:33 CEST 2004


Hi,

> -------
> 
>  OldPage (before copy) using MmGetPhysicalAddressForProcess: 
> 0  OldPage (before copy) using MmGetPhysicalAddress: 3b4
> 
> -------

possible that's correct. One function returns the the physical address with
the offset from the virtual address and the other without the offset. The
real problem is that the PA_PRESENT bit is set for a virtual address with
page 0. MmGetPhysicalAddress returns 0 if this bit is not set. At the begin
of MmAccessFaultSectionView is call to MmIsPagePresent which does also check
this bit. Page 0 is reserved and can not be used. MmCreateVirtualMapping
does bugcheck if there is created a mapping for page 0. The only way to
bypass this is to call MmEnableVirtualMapping.

- Hartmut  




More information about the Ros-kernel mailing list