From 6a9ca105f1fac3f923eb57a362141d0e80d5f3a6 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 3 Apr 2011 18:42:19 +0200 Subject: [PATCH] recently forgot to document page flags. This commit catches up. --- Doxyfile | 4 ++-- arch/x86/include/asm/page.h | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index f5407763..c6491c9e 100644 --- a/Doxyfile +++ b/Doxyfile @@ -747,13 +747,13 @@ STRIP_CODE_COMMENTS = YES # then for each documented function all documented # functions referencing it will be listed. -REFERENCED_BY_RELATION = YES +REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. -REFERENCES_RELATION = YES +REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from diff --git a/arch/x86/include/asm/page.h b/arch/x86/include/asm/page.h index ada471c2..0a56e625 100644 --- a/arch/x86/include/asm/page.h +++ b/arch/x86/include/asm/page.h @@ -44,22 +44,38 @@ #define _PAGE_BIT_RESERVED 9 /* mark a virtual address range as reserved */ #define _PAGE_BIT_PAT_LARGE 12 /* On 2MB or 1GB pages */ +/// Page is present #define PG_PRESENT (1 << _PAGE_BIT_PRESENT) +/// Page is read- and writable #define PG_RW (1 << _PAGE_BIT_RW) +/// Page is addressable from userspace #define PG_USER (1 << _PAGE_BIT_USER) +/// Page write through is activated #define PG_PWT (1 << _PAGE_BIT_PWT) +/// Page cache is disabled #define PG_PCD (1 << _PAGE_BIT_PCD) +/// Page was recently accessed (set by CPU) #define PG_ACCESSED (1 << _PAGE_BIT_ACCESSED) +/// Page is dirty due to recentwrite-access (set by CPU) #define PG_DIRTY (1 << _PAGE_BIT_DIRTY) +/// Big page: 4MB (or 2MB) #define PG_PSE (1 << _PAGE_BIT_PSE) +/// Global TLB entry (Pentium Pro and later) #define PG_GLOBAL (1 << _PAGE_BIT_GLOBAL) +/// This virtual address range is reserved as marked #define PG_RESERVED (1 << _PAGE_BIT_RESERVED) +/// Pattern flag #define PG_PAT (1 << _PAGE_BIT_PAT) +/// Large page pattern flag #define PG_PAT_LARGE (1 << _PAGE_BIT_PAT_LARGE) +/// This is a whole set of flags (PRESENT,RW,ACCESSED,DIRTY) for kernelspace tables #define KERN_TABLE (PG_PRESENT|PG_RW|PG_ACCESSED|PG_DIRTY) +/// This is a whole set of flags (PRESENT,RW,ACCESSED,DIRTY,USER) for userspace tables #define USER_TABLE (PG_PRESENT|PG_RW|PG_ACCESSED|PG_DIRTY|PG_USER) +/// This is a whole set of flags (PRESENT,RW,GLOBAL) for kernelspace pages #define KERN_PAGE (PG_PRESENT|PG_RW|PG_GLOBAL) +/// This is a whole set of flags (PRESENT,RW,USER) for userspace pages #define USER_PAGE (PG_PRESENT|PG_RW|PG_USER) /** @brief Page table structure