ia64/xen-unstable

changeset 3000:c60cac51f45e

bitkeeper revision 1.1159.1.427 (419a4dacYXoRnTKw9jlnxnjLIcPbAg)

Disable writabel pagetables for CONFIG_SMP.
author cl349@freefall.cl.cam.ac.uk
date Tue Nov 16 18:57:48 2004 +0000 (2004-11-16)
parents e8dbbf6ea1ee
children 7d1e3f96a1b8
files linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h
line diff
     1.1 --- a/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h	Tue Nov 16 18:55:41 2004 +0000
     1.2 +++ b/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h	Tue Nov 16 18:57:48 2004 +0000
     1.3 @@ -23,6 +23,16 @@ static inline int pgd_present(pgd_t pgd)
     1.4   * within a page table are directly modified.  Thus, the following
     1.5   * hook is made available.
     1.6   */
     1.7 +#ifdef CONFIG_SMP
     1.8 +#define set_pte(pteptr, pteval) xen_l1_entry_update(pteptr, (pteval).pte_low)
     1.9 +#if 0
    1.10 +do { \
    1.11 +  (*(pteptr) = pteval); \
    1.12 +  HYPERVISOR_xen_version(0); \
    1.13 +} while (0)
    1.14 +#endif
    1.15 +#define set_pte_atomic(pteptr, pteval) set_pte(pteptr, pteval)
    1.16 +#else
    1.17  #ifdef CONFIG_XEN_WRITABLE_PAGETABLES
    1.18  #define set_pte(pteptr, pteval) (*(pteptr) = pteval)
    1.19  #define set_pte_atomic(pteptr, pteval) (*(pteptr) = pteval)
    1.20 @@ -30,6 +40,7 @@ static inline int pgd_present(pgd_t pgd)
    1.21  #define set_pte(pteptr, pteval) xen_l1_entry_update(pteptr, (pteval).pte_low)
    1.22  #define set_pte_atomic(pteptr, pteval) xen_l1_entry_update(pteptr, (pteval).pte_low)
    1.23  #endif
    1.24 +#endif
    1.25  /*
    1.26   * (pmds are folded into pgds so this doesn't get actually called,
    1.27   * but the define is needed for a generic inline function.)