"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "arch/x86/include/asm/pgtable_types.h" between
linux-3.16.62.tar.xz and linux-3.16.63.tar.xz

About: The full source of the Linux kernel 3.16.x (longterm stable)

pgtable_types.h  (linux-3.16.62.tar.xz):pgtable_types.h  (linux-3.16.63.tar.xz)
skipping to change at line 260 skipping to change at line 260
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
# include <asm/pgtable_32_types.h> # include <asm/pgtable_32_types.h>
#else #else
# include <asm/pgtable_64_types.h> # include <asm/pgtable_64_types.h>
#endif #endif
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <linux/types.h> #include <linux/types.h>
/* PTE_PFN_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */ /* Extracts the PFN from a (pte|pmd|pud|pgd)val_t of a 4KB page */
#define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK) #define PTE_PFN_MASK ((pteval_t)PHYSICAL_PAGE_MASK)
/* PTE_FLAGS_MASK extracts the flags from a (pte|pmd|pud|pgd)val_t */ /* Extracts the flags from a (pte|pmd|pud|pgd)val_t of a 4KB page */
#define PTE_FLAGS_MASK (~PTE_PFN_MASK) #define PTE_FLAGS_MASK (~PTE_PFN_MASK)
typedef struct pgprot { pgprotval_t pgprot; } pgprot_t; typedef struct pgprot { pgprotval_t pgprot; } pgprot_t;
typedef struct { pgdval_t pgd; } pgd_t; typedef struct { pgdval_t pgd; } pgd_t;
static inline pgd_t native_make_pgd(pgdval_t val) static inline pgd_t native_make_pgd(pgdval_t val)
{ {
return (pgd_t) { val }; return (pgd_t) { val };
} }
skipping to change at line 332 skipping to change at line 332
{ {
return (pmd_t) { .pud.pgd = native_make_pgd(val) }; return (pmd_t) { .pud.pgd = native_make_pgd(val) };
} }
static inline pmdval_t native_pmd_val(pmd_t pmd) static inline pmdval_t native_pmd_val(pmd_t pmd)
{ {
return native_pgd_val(pmd.pud.pgd); return native_pgd_val(pmd.pud.pgd);
} }
#endif #endif
static inline pudval_t pud_pfn_mask(pud_t pud)
{
if (native_pud_val(pud) & _PAGE_PSE)
return PHYSICAL_PUD_PAGE_MASK;
else
return PTE_PFN_MASK;
}
static inline pudval_t pud_flags_mask(pud_t pud)
{
return ~pud_pfn_mask(pud);
}
static inline pudval_t pud_flags(pud_t pud) static inline pudval_t pud_flags(pud_t pud)
{ {
return native_pud_val(pud) & PTE_FLAGS_MASK; return native_pud_val(pud) & pud_flags_mask(pud);
}
static inline pmdval_t pmd_pfn_mask(pmd_t pmd)
{
if (native_pmd_val(pmd) & _PAGE_PSE)
return PHYSICAL_PMD_PAGE_MASK;
else
return PTE_PFN_MASK;
}
static inline pmdval_t pmd_flags_mask(pmd_t pmd)
{
return ~pmd_pfn_mask(pmd);
} }
static inline pmdval_t pmd_flags(pmd_t pmd) static inline pmdval_t pmd_flags(pmd_t pmd)
{ {
return native_pmd_val(pmd) & PTE_FLAGS_MASK; return native_pmd_val(pmd) & pmd_flags_mask(pmd);
} }
static inline pte_t native_make_pte(pteval_t val) static inline pte_t native_make_pte(pteval_t val)
{ {
return (pte_t) { .pte = val }; return (pte_t) { .pte = val };
} }
static inline pteval_t native_pte_val(pte_t pte) static inline pteval_t native_pte_val(pte_t pte)
{ {
return pte.pte; return pte.pte;
 End of changes. 5 change blocks. 
4 lines changed or deleted 30 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)