#include "src/tty/teletype.hpp"
Idź do kodu źródłowego tego pliku.
Komponenty | |
struct | eip_ebp |
Definicje | |
#define | save_eip_ebp(x) do { asm volatile("x: movl $x, %0\nmovl %%ebp, %1":"=g"((x).eip),"=g"((x).ebp)); } while(0) |
#define | complain(text) |
#define | assert(val) do { if (!(val)) {complain("assertion fail"); for(;;);} } while (0) |
#define | assertmsg(val, msg) do { if (!(val)) {complain(msg); for(;;);} } while (0) |
#define | testif(val) do { if (!(val)) {complain("tesif fail"); } } while(0) |
#define | testifmsg(val, msg) do { if (!(val)) {complain(msg); } } while (0) |
#define | testifdbg(val) do { if (!(val)) {complain("tesifdbg fail"); } } while(0) |
#define | testifdbgmsg(val, msg) do { if (!(val)) {complain(msg); } } while (0) |
#define | lnDbg do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__);write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define | lnDb1 do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__);write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define | lnDb2 do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__); write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define | say(...) |
#define | sbg do {sysfail_dbg=__LINE__;} while(0) |
#define | sysfail(reason) |
#define | notimpl(ret) do { sysfail("not implemented"); return ret; } while(0) |
#define | STACK_TRACE_DUMP_ARGS 0 |
Funkcje | |
void | panic () __attribute__((noreturn)) |
void | init_dbg_val_map () |
uint32 | get_dbg_val (uint32 key) |
bool | set_dbg_val (uint32 key, uint32 val) |
void | debug_dump_call_trace (uint32 eip, uint32 addr) |
void | debug_dump_call_trace () |
void | put_bochs (char ch) |
void | write_bochs (const char *text) |
void | write_bochs (int i) |
void | write_bochs_num (uint32 n, uint32 radix, uint32 n_pos, char first_letter) |
void | alert (const char *text) |
void | alert (int i) |
void | alert2 (uint32 i) |
Zmienne | |
const uint32 | PORT_E9 = 0xe9 |
uint32 | sysfail_dbg |
Definicja w pliku error.hpp.
#define assert | ( | val | ) | do { if (!(val)) {complain("assertion fail"); for(;;);} } while (0) |
Definicja w linii 81 pliku error.hpp.
Odwołania w Net::Arp::arp_cache_insert(), Net::ICMP::count_checksum16_icmph(), dbSetRow(), Memory::Heap::heapbox::freeFunc(), Net::IP::ip_transmit(), Memory::Heap::heapbox::mallocFunc(), Memory::Heap::heapbox::mallocFuncPr() i Memory::Heap::heapbox::resize_used_blocks_table().
#define assertmsg | ( | val, | |||
msg | ) | do { if (!(val)) {complain(msg); for(;;);} } while (0) |
#define complain | ( | text | ) |
Wartość:
do {\ alert((char*)__FILE__);\ alert(": line ");\ alert2(__LINE__);\ alert(": "); \ alert(text); \ alert("\n"); \ } while (0)
Definicja w linii 72 pliku error.hpp.
Odwołania w blist_t::add(), Memory::Heap::allocate_heapbox(), blistsort_add(), blistsort_ptr(), Thread::process_t::create_thread(), Net::EthernetFrameDemultiplexingThread(), Memory::zone::free(), Memory::Physical::free_page_high(), Memory::Physical::free_page_low(), Memory::Heap::heapbox::freeFunc(), Memory::Heap::heapbox::freeFunc2(), Memory::Heap::heapbox::freeFuncPr(), Module::init(), Net::IP::ip_transmit(), Memory::Heap::heapbox::kget_info(), Memory::Pager::lazy_paging_pfh(), Memory::Heap::heapbox::mallocFunc(), Memory::Heap::heapbox::mallocFuncPr(), memmove(), memset(), Net::IP::onIpReception(), Net::Arp::processArpPacket(), Net::ICMP::processDatagram(), blist_t::ptr(), Memory::Heap::heapbox::resize_used_blocks_table(), set_dbg_val(), shmem_paging_pfh() i API::v1::user_morecore().
#define lnDb1 do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__);write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define lnDb2 do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__); write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define lnDbg do { alert("<< ");alert(__func__);alert(" : "); coutDec(__LINE__);write_bochs_num(__LINE__,10,10000,0); alert(">> \n");} while(0) |
#define notimpl | ( | ret | ) | do { sysfail("not implemented"); return ret; } while(0) |
Definicja w linii 122 pliku error.hpp.
Odwołania w Memory::Heap::freecore(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::operator delete(), print(), Memory::Shmem::shmem_mapdone(), API::v1::UDATA_destroy() i Collection::AvlMap< KeyT, DataT, cmp >::~AvlMap().
#define say | ( | ... | ) |
Wartość:
do {\ cout((char*)__FILE__);\ cout(": ");\ cout((char*)__func__);\ cout(": "); \ kprintf_alert(__VA_ARGS__);\ cout("\n");\ } while (0)
Definicja w linii 103 pliku error.hpp.
Odwołania w Thread::MemsetThread().
#define sbg do {sysfail_dbg=__LINE__;} while(0) |
#define sysfail | ( | reason | ) |
Wartość:
do {\ alert("\n");\ complain(reason);\ if (sysfail_dbg) complain(sysfail_dbg); \ panic();\ } while(0)
Definicja w linii 114 pliku error.hpp.
Odwołania w Thread::Timer::add(), alloc4k(), Memory::Heap::allocate_heapbox(), Memory::Physical::ballocate(), Arch::x86::Interr::chain_handler(), cxa_atexit(), Memory::zone::done(), dso_handle(), Collection::Option< T >::get(), Thread::init(), Syms::init(), Memory::Heap::init(), Arch::x86::WProtect::init(), Net::init(), Memory::Heap::heapbox::kget_info(), Memory::Heap::new_bl_bl(), operator new(), Arch::x86::Interr::PageFault(), sem_wait(), Memory::Shmem::shmem_attach(), Memory::Shmem::shmem_create(), shmem_paging_pfh(), Arch::x86::Sysenter::SysEnter() i stack_t::verify().
#define testif | ( | val | ) | do { if (!(val)) {complain("tesif fail"); } } while(0) |
Definicja w linii 83 pliku error.hpp.
Odwołania w Net::EthernetFrameDemultiplexingThread(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::findMin(), Net::ICMP::icmp_transmit(), Net::IP::ip_transmit(), Net::pbuf_free(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::removeMin(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::removeMin2(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotleft(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotright() i Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::setHeight().
#define testifdbg | ( | val | ) | do { if (!(val)) {complain("tesifdbg fail"); } } while(0) |
#define testifdbgmsg | ( | val, | |||
msg | ) | do { if (!(val)) {complain(msg); } } while (0) |
#define testifmsg | ( | val, | |||
msg | ) | do { if (!(val)) {complain(msg); } } while (0) |
void alert | ( | int | i | ) | [inline] |
void alert | ( | const char * | text | ) | [inline] |
Definicja w linii 55 pliku error.hpp.
Odwołuje się do cout() i write_bochs().
Odwołania w debug_dump_call_trace(), Arch::x86::Interr::Exception(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::findMin(), Collection::Option< T >::get(), Net::IP::ip_transmit(), kprintf_alert(), IPC::Lock::lock_t::lock(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::operator delete(), Arch::x86::Interr::PageFault(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::removeMin(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotleft(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotright(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::setHeight() i Collection::AvlMap< KeyT, DataT, cmp >::~AvlMap().
void alert2 | ( | uint32 | i | ) | [inline] |
Definicja w linii 66 pliku error.hpp.
Odwołuje się do coutDec() i write_bochs_num().
Odwołania w Arch::x86::Interr::Exception(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::findMin(), Collection::Option< T >::get(), Net::IP::ip_transmit(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::operator delete(), Arch::x86::Interr::PageFault(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::removeMin(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotleft(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::rotright(), Collection::AvlTree< Collection::Tuple2< KeyT, DataT >, tuple2_comparator< KeyT, DataT, cmp > >::setHeight() i Collection::AvlMap< KeyT, DataT, cmp >::~AvlMap().
key; meaning 0x71 0; 1-show stack trace on invalid free; 2-supress complains on invalid free
Definicja w linii 60 pliku error.cpp.
Odwołuje się do dbg_map_availlable, Collection::AvlMap< KeyT, DataT, cmp >::find(), Collection::Option< T >::get() i Collection::Option< T >::isNone().
void init_dbg_val_map | ( | ) |
Definicja w linii 70 pliku error.cpp.
Odwołuje się do complain, dbg_map_availlable, println i Collection::AvlMap< KeyT, DataT, cmp >::update().
Odwołania w main() i VarieteThread().