Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Pd_entry Class Reference

#include <paging.h>

List of all members.

Public Types

enum  { Shift = Config::SUPERPAGE_SHIFT, Mask = (Config::SUPERPAGE_SIZE/4-1) }
enum  {
  Valid = 0x00000001, Writable = 0x00000002, User = 0x00000004, Write_through = 0x00000008,
  Cacheable = 0x00000000, Noncacheable = 0x00000010, Referenced = 0x00000020, Dirty = 0x00000040,
  Superpage = 0x00000080, Cpu_global = 0x00000100, L4_global = 0x00000200, Ptabfn = 0xfffff000,
  Superfn = 0xffc00000
}

Public Member Functions

int valid () const
int user () const
int writable () const
int superpage () const
Address ptabfn () const
Address superfn () const
Ptab * ptab () const
Unsigned32 raw () const
Unsigned32 raw () const volatile
Unsigned32 & raw ()
void add_attr (Unsigned32 attr)
void del_attr (Unsigned32 attr)
Pd_entry const & operator= (Pd_entry const &other)
Pd_entry const & operator= (Unsigned32 raw)

Static Public Member Functions

static void enable_global ()
static Unsigned32 global ()
 Global entries are entries that are not automatically flushed when the page-table base register is reloaded.

Private Attributes

Unsigned32 _raw

Static Private Attributes

static Unsigned32 _cpu_global = Pd_entry::L4_global


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
Shift 
Mask 

anonymous enum
 

Enumeration values:
Valid  Valid.
Writable  Writable.
User  User accessible.
Write_through  Write thru.
Cacheable  Cache is enabled.
Noncacheable  Caching is off.
Referenced  Page was referenced.
Dirty  Page was modified.
Superpage  Is Superpage.
Cpu_global  pinned in the TLB
L4_global  pinned in the TLB
Ptabfn  page frame number for page table
Superfn  super page frame number


Member Function Documentation

void Pd_entry::add_attr (  Unsigned32  attr  )  [inline]
 

void Pd_entry::del_attr (  Unsigned32  attr  )  [inline]
 

void Pd_entry::enable_global (   )  [inline, static]
 

Unsigned32 Pd_entry::global (   )  [inline, static]
 

Global entries are entries that are not automatically flushed when the page-table base register is reloaded.

They are intended for kernel data that is shared between all tasks.

Returns:
global page-table--entry flags

Pd_entry const & Pd_entry::operator= (  Unsigned32  raw  )  [inline]
 

Pd_entry const & Pd_entry::operator= (  Pd_entry const &  other  )  [inline]
 

Ptab * Pd_entry::ptab (   )  const [inline]
 

Address Pd_entry::ptabfn (   )  const [inline]
 

Unsigned32 & Pd_entry::raw (   )  [inline]
 

Unsigned32 Pd_entry::raw (   )  const volatile [inline]
 

Unsigned32 Pd_entry::raw (   )  const [inline]
 

Address Pd_entry::superfn (   )  const [inline]
 

int Pd_entry::superpage (   )  const [inline]
 

int Pd_entry::user (   )  const [inline]
 

int Pd_entry::valid (   )  const [inline]
 

int Pd_entry::writable (   )  const [inline]
 


Member Data Documentation

Unsigned32 Pd_entry::_cpu_global = Pd_entry::L4_global [static, private]
 

Unsigned32 Pd_entry::_raw [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 26 14:20:16 2005 for Fiasco by  doxygen 1.4.2