18 Oct, 2007

2 commits

  • Create an inline function for clflush(), with the proper arguments,
    and use it instead of hard-coding the instruction.

    This also removes one instance of hard-coded wbinvd, based on a patch
    by Bauder de Oliveira Costa.

    [ tglx: arch/x86 adaptation ]

    Cc: Andi Kleen
    Cc: Glauber de Oliveira Costa
    Signed-off-by: H. Peter Anvin
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    H. Peter Anvin
     
  • This patch fixes a bug of change_page_attr/change_page_attr_addr on
    Intel x86_64 CPUs. After changing page attribute to be executable with
    these functions, the page remains un-executable on Intel x86_64 CPU.
    Because on Intel x86_64 CPU, only if the "NX" bits of all four level
    page tables are cleared, the corresponding page is executable (refer to
    section 4.13.2 of Intel 64 and IA-32 Architectures Software Developer's
    Manual). So, the bug is fixed through clearing the "NX" bit of PMD when
    splitting the huge PMD.

    Signed-off-by: Huang Ying
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Huang, Ying
     

11 Oct, 2007

1 commit