Komponenty | |
struct | block_used |
struct | block_free |
struct | block_prolog |
class | heapbox |
Funkcje | |
void | init () |
proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556 | |
int | allocate_heapbox (class heapbox *hbx, const char *name) |
create a heapbox | |
addr_t | morecore (size_t cnt) |
void | freecore (addr_t virt, size_t cnt) |
int | checkMagic (block_free *item) |
int | checkMagic (block_used *item) |
int | countMagic (block_free *item) |
int | countMagic (block_used *item) |
int | can_be_aligned (uint32 r0, size_t r_size, size_t size, uint32 allignment) |
void | new_bl_bl (block_free *item, block_free *new_block) |
int | allocate_heapbox (class heapbox *hbx, char *name) |
Zmienne | |
uint32 | dbg = 0 |
class heapbox | heap0 |
Memory::zone | virtual_pages |
class blist_t | HeapList |
const uint32 | heap_magic = 0xcafebabe |
const uint32 | HEAP_GRAN = 0x1 |
const uint32 | HEAP_STACK_GRAN = 0x10000 |
const uint32 | HEAP_TBLE = 0x20 |
const uint32 | HEAP_TBLE_GRAN = 0x100 |
const uint32 | HEAP_MIN_BLOCK = 0x10 |
const uint32 | HEAPBOX_NAME = 0x10 |
const uint32 | MALLOC_NOLOCKS = 1 |
const uint32 | MALLOC_NORESCUE = 2 |
const uint32 | MALLOC_MORECOR_NEW_NODE = 4 |
const uint32 | PROLOG_CHECKSUM = 0xbabaf00l |
int Memory::Heap::allocate_heapbox | ( | class heapbox * | hbx, | |
char * | name | |||
) |
Odwołania w Thread::init(), Thread::process_t::init(), Net::Arp::init(), Module::init() i init().
int Memory::Heap::allocate_heapbox | ( | class heapbox * | hbx, | |
const char * | name | |||
) |
create a heapbox
Definicja w linii 119 pliku heap.cpp.
Odwołuje się do complain, countMagic(), EOUTOFMEMORY, ESUCCESS, FAC_MEMORY, FAC_USEDBLOCKS, HEAP_GRAN, HEAP_MIN_BLOCK, HEAP_STACK_GRAN, HEAP_TBLE, Memory::Heap::heapbox::heapbox_no, HeapList, blist_t::init(), Memory::Heap::heapbox::init(), Memory::Heap::heapbox::mallocFunc(), Memory::Heap::heapbox::max, memset(), Memory::Heap::heapbox::morecor_new_node, morecore(), Memory::Heap::block_free::next, NO_ALIGN, null, NULL, Memory::Heap::block_free::prev, PROLOG_CHECKSUM, blist_t::ptr(), Memory::Heap::block_free::size, Memory::Heap::heapbox::stats, sysfail, Memory::Heap::heapbox::used i Memory::Heap::heapbox::VirtAddrs.
Odwołania w Collection::init() i Thread::Timer::initTimerThread().
Definicja w linii 294 pliku heap.cpp.
Odwołuje się do EINVAL i Thread::i.
Odwołania w Memory::Heap::heapbox::mallocFuncPr().
int Memory::Heap::checkMagic | ( | block_free * | item | ) |
int Memory::Heap::countMagic | ( | block_used * | item | ) |
int Memory::Heap::countMagic | ( | block_free * | item | ) |
Definicja w linii 237 pliku heap.cpp.
Odwołania w Memory::Heap::heapbox::freeFuncPr(), Memory::Heap::heapbox::freeFuncPr2(), Memory::Heap::heapbox::kdefragment(), Memory::Heap::heapbox::morecor(), new_bl_bl() i Memory::Heap::heapbox::unAnchorBlock().
void Memory::Heap::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 65 pliku heap.cpp.
Odwołuje się do align_up(), Memory::zone::alloc(), alloc4k(), allocate_heapbox(), cout(), Memory::Physical::disable_balloc(), ESUCCESS, Memory::Physical::free_pages_low, heap0, Memory::Physical::heap_area_addend, HEAP_STACK_GRAN, HeapList, Thread::i, Memory::zone::init(), blist_t::init(), Memory::Pager::kmem, mem_heap_end, mem_heap_start, PAGE_ALIGN, PAGE_SIZE, PTE_PRESENT, PTE_WRITEABLE, Memory::zone::set_length(), sysfail, virtual_pages i PRNG::x.
Odwołania w main().
Definicja w linii 190 pliku heap.cpp.
Odwołuje się do Memory::zone::alloc(), alloc4k(), HEAP_STACK_GRAN, Thread::i, Memory::Pager::kmem, Memory::Pager::lazy_enable, NULL, PAGE_SIZE, PTE_PRESENT, PTE_WRITEABLE, virtual_pages i PRNG::x.
Odwołania w allocate_heapbox().
void Memory::Heap::new_bl_bl | ( | block_free * | item, | |
block_free * | new_block | |||
) |
Definicja w linii 311 pliku heap.cpp.
Odwołuje się do countMagic(), Thread::i, blist_s::next, blist_s::prev, blist_s::size i sysfail.
Odwołania w Memory::Heap::heapbox::mallocFuncPr().
class heapbox Memory::Heap::heap0 |
Definicja w linii 58 pliku heap.cpp.
Odwołania w Arch::x86::Interr::add2interr_chain(), Arch::x86::RTC::add_proc(), Thread::allocate_context(), Arch::x86::Interr::del_chainHdl(), Arch::x86::Interr::done_int_chains(), Thread::init(), Module::init(), Syms::init(), Memory::Pager::init(), init(), blist_t::init(), Arch::x86::Interr::init_int_chains(), kfree(), kmalloc(), Memory::Pager::memmove2(), Net::netbuf_alloc(), Net::netbuf_free(), qsort(), sem_init(), Memory::Shmem::shmem_create(), Debug::Profiler::stats() i VarieteThread().
const uint32 Memory::Heap::HEAP_GRAN = 0x1 |
Definicja w linii 54 pliku heap.hpp.
Odwołania w allocate_heapbox(), Memory::Heap::heapbox::mallocFuncPr() i Memory::Heap::heapbox::unAnchorBlock().
const uint32 Memory::Heap::heap_magic = 0xcafebabe |
const uint32 Memory::Heap::HEAP_MIN_BLOCK = 0x10 |
Definicja w linii 58 pliku heap.hpp.
Odwołania w allocate_heapbox() i Memory::Heap::heapbox::mallocFuncPr().
const uint32 Memory::Heap::HEAP_STACK_GRAN = 0x10000 |
Definicja w linii 55 pliku heap.hpp.
Odwołania w allocate_heapbox(), Memory::Heap::heapbox::destruct(), init(), Memory::Heap::heapbox::mallocFuncPr(), Memory::Heap::heapbox::morecor() i morecore().
const uint32 Memory::Heap::HEAP_TBLE = 0x20 |
const uint32 Memory::Heap::HEAP_TBLE_GRAN = 0x100 |
const uint32 Memory::Heap::HEAPBOX_NAME = 0x10 |
Definicja w linii 60 pliku heap.cpp.
Odwołania w allocate_heapbox(), Memory::Heap::heapbox::destruct(), init() i VarieteThread().
const uint32 Memory::Heap::MALLOC_MORECOR_NEW_NODE = 4 |
const uint32 Memory::Heap::MALLOC_NOLOCKS = 1 |
Definicja w linii 61 pliku heap.hpp.
Odwołania w Memory::Heap::heapbox::freeFuncPr(), Memory::Heap::heapbox::mallocFuncPr() i Memory::Heap::heapbox::resize_used_blocks_table().
const uint32 Memory::Heap::MALLOC_NORESCUE = 2 |
Definicja w linii 62 pliku heap.hpp.
Odwołania w Memory::Heap::heapbox::mallocFunc(), Memory::Heap::heapbox::mallocFuncPr() i Memory::Heap::heapbox::resize_used_blocks_table().
const uint32 Memory::Heap::PROLOG_CHECKSUM = 0xbabaf00l |
Definicja w linii 99 pliku heap.hpp.
Odwołania w allocate_heapbox(), Memory::Heap::heapbox::kget_info() i Memory::Heap::heapbox::mallocFuncPr().
class::Memory::zone Memory::Heap::virtual_pages |
Definicja w linii 59 pliku heap.cpp.
Odwołania w Memory::Heap::heapbox::destruct(), init(), Memory::Heap::heapbox::morecor() i morecore().