Komponenty | |
class | memtree |
Funkcje | |
void | init () |
proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556 | |
void | init_pf () |
int | PageFaultHandler (struct Arch::x86::Interr::except2_t *code) |
int | lazy_paging_pfh (struct env_t *env, uint32 virt, uint32 phys) |
int | allocate_memtree (class memtree *mtree, bool supervisor, class Memory::Heap::heapbox *hp) |
void | frame_assign (addr_t physical) |
void | frame_release () |
void | FrameAssign (void *frame, class IPC::Lock::lock_t *l, addr_t physical) |
void | FrameRelease (class IPC::Lock::lock_t *l) |
void | cpypage (uint32 dest, uint32 src) |
void | memmove2 (class memtree *d1, void *d2, class memtree *s1, void *s2, uint32 cnt) |
Zmienne | |
IPC::Lock::lock_t | lock_frame (const_cast< char * >("frame")) |
void * | virtual_frame |
memtree | kmem |
uint32 | lazy_enable = 0 |
int Memory::Pager::allocate_memtree | ( | class memtree * | mtree, | |
bool | supervisor, | |||
class Memory::Heap::heapbox * | hp | |||
) |
Definicja w linii 117 pliku pager.cpp.
Odwołuje się do _Pf, Memory::Pager::memtree::cr3, ESUCCESS, FAC_MEMORY, FAC_PGD, Memory::Pager::memtree::init(), kmem, Memory::Heap::heapbox::malloc(), mem_kernel_start, mem_pgd_start, memmove(), memset(), NULL, PAGE_ALIGN, Memory::Pager::memtree::page_directory, PGT_WIDE, preturn, PTE_PRESENT, Memory::Pager::memtree::pte_val() i PTE_WRITEABLE.
Odwołania w Thread::init() i Module::init().
Definicja w linii 265 pliku pager.cpp.
Odwołuje się do _Pf, frame_assign(), frame_release(), memmove(), PAGE_SIZE, preturn i virtual_frame.
Odwołania w shmem_paging_pfh().
void Memory::Pager::frame_assign | ( | addr_t | physical | ) |
Definicja w linii 231 pliku pager.cpp.
Odwołuje się do FrameAssign() i virtual_frame.
Odwołania w cpypage(), memmove2(), Memory::Pager::memtree::pte_map() i Memory::Pager::memtree::pte_val().
void Memory::Pager::frame_release | ( | ) |
Definicja w linii 236 pliku pager.cpp.
Odwołuje się do IPC::Lock::lock_t::ulock().
Odwołania w cpypage(), memmove2(), Memory::Pager::memtree::pte_map() i Memory::Pager::memtree::pte_val().
void Memory::Pager::FrameAssign | ( | void * | frame, | |
class IPC::Lock::lock_t * | l, | |||
addr_t | physical | |||
) |
Definicja w linii 241 pliku pager.cpp.
Odwołuje się do _Pf, Thread::i, invalidate, IPC::Lock::lock_t::lock() i preturn.
Odwołania w Memory::Physical::alloc4kDirty_high(), Memory::Physical::alloc4kDirty_low() i frame_assign().
void Memory::Pager::FrameRelease | ( | class IPC::Lock::lock_t * | l | ) |
Definicja w linii 260 pliku pager.cpp.
Odwołuje się do IPC::Lock::lock_t::ulock().
Odwołania w Memory::Physical::alloc4kDirty_high() i Memory::Physical::alloc4kDirty_low().
void Memory::Pager::init | ( | ) |
proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556
ustawienie timera ktory seeduje linear congruential generator DEF_SECOND/32 na sekunde i czeka na pierwsze seedowanie. w momencie gdy rtc timer pracuje, malo mozliwe jest by parzystosc rdtsc() zmieniala sie miedzy wywolaniami rdtsc_runner() w przewidywalny sposob
Definicja w linii 50 pliku pager.cpp.
Odwołuje się do _Pf, Memory::Physical::ballocate(), Memory::Pager::memtree::cr3, CRT_STACK, Memory::Heap::heap0, mmap_t::init(), Memory::Pager::memtree::init(), kmem, mem_kernel_start, mem_physical, mem_space_krnend, mem_space_start, Memory::Pager::memtree::memory_map, PAGE_ALIGN, PAGE_SIZE, preturn, Memory::Pager::memtree::pte_map(), PTE_STACKGUARD i virtual_frame.
Odwołania w main().
void Memory::Pager::init_pf | ( | ) |
Definicja w linii 65 pliku pager.cpp.
Odwołuje się do _Pf, Arch::x86::Interr::add2interr_chain(), Arch::x86::Interr::INT_PF, lazy_enable, PageFaultHandler() i preturn.
Odwołania w main().
Definicja w linii 101 pliku pager.cpp.
Odwołuje się do _Pf, alloc4k(), complain, EFAIL, ESUCCESS, env_t::mtree, NULL, preturn, PTE_LAZY, Memory::Pager::memtree::pte_map(), PTE_PRESENT, PTE_USER i PTE_WRITEABLE.
Odwołania w PageFaultHandler().
void Memory::Pager::memmove2 | ( | class memtree * | d1, | |
void * | d2, | |||
class memtree * | s1, | |||
void * | s2, | |||
uint32 | cnt | |||
) |
Definicja w linii 281 pliku pager.cpp.
Odwołuje się do _Pf, current_thread, frame_assign(), frame_release(), Memory::Heap::heap0, memmove(), MIN, Thread::Scheduler::multitasking_running, NO_ALIGN, NULL, preturn, Thread::thread_t::proc, Memory::Pager::memtree::pte_val() i virtual_frame.
Odwołania w Module::init().
int Memory::Pager::PageFaultHandler | ( | struct Arch::x86::Interr::except2_t * | code | ) |
Definicja w linii 74 pliku pager.cpp.
Odwołuje się do _Pf, env_t::code, Arch::x86::Interr::except2_t::cr2, current_thread, EFAIL, ESUCCESS, kmem, lazy_paging_pfh(), env_t::mtree, Thread::Scheduler::multitasking_running, NULL, preturn, Thread::thread_t::proc, env_t::proc, Memory::Pager::memtree::pte_val(), shmem_paging_pfh() i env_t::thread.
Odwołania w init_pf().
Definicja w linii 40 pliku pager.cpp.
Odwołania w allocate_memtree(), Memory::Heap::heapbox::destruct(), EnvGet(), Thread::init(), Module::init(), init(), Memory::Heap::init(), Memory::Physical::init(), Memory::Heap::heapbox::morecor(), Memory::Heap::morecore(), PageFaultHandler(), Thread::prior_thread() i virt_to_bus().
Definicja w linii 44 pliku pager.cpp.
Odwołania w Thread::process_t::alloc_stack(), init_pf(), Memory::Heap::heapbox::mallocFuncPr(), Memory::Heap::morecore(), Memory::Pager::memtree::pte_alloc() i Memory::Heap::heapbox::unAnchorBlock().
IPC::Lock::lock_t Memory::Pager::lock_frame(const_cast< char * >("frame")) |
void * Memory::Pager::virtual_frame |
Definicja w linii 39 pliku pager.cpp.
Odwołania w cpypage(), frame_assign(), init(), memmove2(), Memory::Pager::memtree::pte_map() i Memory::Pager::memtree::pte_val().