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
Ptabptab () 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