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

Mem_layout Class Reference

#include <mem_layout.h>

List of all members.

Public Types

enum  {
  V2_utcb_addr = 0xbff00000, Kip_auto_map = 0xbfff2000, User_max = 0xc0000000, Vmem_start = User_max,
  Tcbs = 0xc0000000, Tcbs_end = 0xe0000000, Slabs_start = 0xe0000000, Slabs_end = 0xea000000,
  Space_index = 0xea000000, Chief_index = 0xea400000, Kip_index = 0xea800000, Service_page = 0xeac00000,
  Local_apic_page = Service_page + 0x0000, Jdb_adapter_page = Service_page + 0x1000, Tbuf_status_page = Service_page + 0x2000, Smas_trampoline = Service_page + 0x3000,
  Jdb_bench_page = Service_page + 0x4000, Utcb_ptr_page = Service_page + 0xfd000, Idt = Service_page + 0xfe000, Syscalls = Service_page + 0xff000,
  Tbuf_buffer_area = Service_page + 0x200000, Ldt_addr = 0xeb000000, Ldt_size = 0xeb400000, Smas_version = 0xec000000,
  Smas_area = 0xec400000, Smas_io_bmap_bak = 0xec800000, Smas_io_cnt_bak = 0xec880000, Jdb_debug_start = 0xecc00000,
  Jdb_debug_end = 0xee000000, Ipc_window0 = 0xee000000, Ipc_window1 = 0xee800000, Kstatic = 0xef800000,
  Io_bitmap = 0xefc00000, Io_counter = 0xefc80000, Vmem_end = 0xf0000000, Kernel_image = Vmem_end,
  Boot_state_start = Kernel_image, Boot_state_end = Kernel_image + 0x400000, Smas_start = 0xf0400000, Smas_end = 0xfc400000,
  Physmem = 0xfc400000
}

Static Public Member Functions

static const char load asm ("_load")
 reflect symbols in linker script
static const char start asm ("_start")
static const char end asm ("_end")
static const char ecode asm ("_ecode")
static const char etext asm ("_etext")
static const char edata asm ("_edata")
static const char initcall_start asm ("_initcall_start")
static const char initcall_end asm ("_initcall_end")
static Mword in_tcbs (Address a)
static Mword in_kernel (Address a)
template<typename T>
static T * boot_data (T const *addr)
static Mword in_kernel_code (Address a)
static void kphys_base (Address base)
static Address pmem_to_phys (Address addr)
static Address pmem_to_phys (const void *ptr)
static Address phys_to_pmem (Address addr)
static Mword in_boot_state (Address addr)
static Mword in_pmem (Address addr)

Static Private Member Functions

static Address physmem_offs asm ("PHYSMEM_OFFS")


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
V2_utcb_addr  % 4kB v2 UTCB map address
Kip_auto_map  % 4kB
User_max 
Vmem_start 
Tcbs  % 256MB
Tcbs_end  % 256MB, Tcbs + 512MB
Slabs_start  multipage slabs
Slabs_end  slabs_start + 160MB
Space_index  % 4MB
Chief_index  % 4MB
Kip_index  % 4MB lipc
Service_page  % 4MB global mappings
Local_apic_page  % 4kB
Jdb_adapter_page  % 4kB
Tbuf_status_page  % 4kB
Smas_trampoline  % 4kB
Jdb_bench_page  % 4kB
Utcb_ptr_page  % 4kB
Idt  % 4kB
Syscalls  % 4kB syscall page
Tbuf_buffer_area  % 2MB
Ldt_addr  % 4MB
Ldt_size  % 4MB
Smas_version  % 4MB SMAS pdir version counter
Smas_area  % 4MB SMAS segment base/limit
Smas_io_bmap_bak  % 4MB SMAS IO bitmap backup
Smas_io_cnt_bak  % 4kB, same 4MB as Smas_io_bmap_bak
Jdb_debug_start  % 4MB JDB symbols/lines
Jdb_debug_end  % 4MB
Ipc_window0  % 8MB
Ipc_window1  % 8MB, Ipc_window0 + 8MB
Kstatic  Io_bitmap - 4MB.
Io_bitmap  % 4MB
Io_counter  % 4kB, same 4MB page as Io_bitmap
Vmem_end 
Kernel_image 
Boot_state_start 
Boot_state_end 
Smas_start  % 4MB SMAS spaces
Smas_end  % 4MB
Physmem  % 4MB kernel memory


Member Function Documentation

static Address physmem_offs Mem_layout::asm "PHYSMEM_OFFS"   )  [static, private]
 

static const char initcall_end Mem_layout::asm "_initcall_end"   )  [static]
 

static const char initcall_start Mem_layout::asm "_initcall_start"   )  [static]
 

static const char edata Mem_layout::asm "_edata"   )  [static]
 

static const char etext Mem_layout::asm "_etext"   )  [static]
 

static const char ecode Mem_layout::asm "_ecode"   )  [static]
 

static const char end Mem_layout::asm "_end"   )  [static]
 

static const char start Mem_layout::asm "_start"   )  [static]
 

static const char load Mem_layout::asm "_load"   )  [static]
 

reflect symbols in linker script

template<typename T>
T * Mem_layout::boot_data T const *  addr  )  [inline, static]
 

Mword Mem_layout::in_boot_state Address  addr  )  [inline, static]
 

Mword Mem_layout::in_kernel Address  a  )  [inline, static]
 

Mword Mem_layout::in_kernel_code Address  a  )  [inline, static]
 

Mword Mem_layout::in_pmem Address  addr  )  [inline, static]
 

Mword Mem_layout::in_tcbs Address  a  )  [inline, static]
 

void Mem_layout::kphys_base Address  base  )  [inline, static]
 

Address Mem_layout::phys_to_pmem Address  addr  )  [inline, static]
 

Address Mem_layout::pmem_to_phys const void *  ptr  )  [inline, static]
 

Address Mem_layout::pmem_to_phys Address  addr  )  [inline, static]
 


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