0 Replies Latest reply on Jun 8, 2012 4:07 PM by mwaughex

    Patch fix for ioremap_prot ignores _PAGE_PSE for 1.4.1.X (Fixed in 1.4.2.2)

    mwaughex

      Ref Bug#365

      http://marcbug.scc-dc.com/bugzilla3/show_bug.cgi?id=365

       

      For users still using sccKit 1.4.1.x (Kernel version 2.6.38)

      Darko Petrovic has posted a patch for the ioremap_prot ignores _PAGE_PSE bug.

      Below is Darko's description:

       

      When using ioremap_prot() to map pages in the kernel, _PAGE_PSE flag is

      completely ignored. As this flag is used to mark MPBT, it is not possible to

      directly use this type when writing modules.

       

      However, some modules that use the MPB (rckmb.c and rckpc.c, for example) rely

      on this functionality in ioremap_prot(). A consequence is that they are very

      slow, as the Write-Combine buffer is not used. Another, more severe

      consequence, is that the L2 cache is not avoided, which might create some data

      consistency problems in certain scenarios.

       

      I have fixed the bug by slightly changing some masks and switch statements in

      ioremap_prot() and __ioremap_caller(). The patch is attached.