Funkcje | |
void | sysentry () |
void | init () |
proste operacje na sieci porozumiewa sie z pci32 by znalezc karte sieciowa 3c556 | |
int | SysEnter (class Arch::x86::Interr::except2_t *code) |
Zmienne | |
const uint32 | SYSENTTEMPBUF = 0x200 |
char | SysenterTempBuf [SYSENTTEMPBUF] |
const uint32 | APIMAGIC = 0xcafebabe |
const int | API_NONE = 0 |
const int | API_v1 = 1 |
void Arch::x86::Sysenter::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 39 pliku sysenter.cpp.
Odwołuje się do Arch::x86::GDT::code_sel_kernel, Arch::x86::SYSENTER_CS_MSR, Arch::x86::SYSENTER_EIP_MSR, Arch::x86::SYSENTER_ESP_MSR, SysenterTempBuf, sysentry(), SYSENTTEMPBUF i Arch::x86::wrmsr().
Odwołania w main().
int Arch::x86::Sysenter::SysEnter | ( | class Arch::x86::Interr::except2_t * | code | ) |
Definicja w linii 59 pliku sysenter.cpp.
Odwołuje się do procenv_t::api, API_NONE, API_v1, APIMAGIC, Thread::process_t::env, EnvGet(), Arch::x86::Interr::except2_t::esp, ESUCCESS, Thread::i, NULL, env_t::proc, ProcFail, Arch::x86::Interr::except2_t::r, API::v1::req() i sysfail.
void Arch::x86::Sysenter::sysentry | ( | ) |
Odwołania w init().
const int Arch::x86::Sysenter::API_NONE = 0 |
const int Arch::x86::Sysenter::API_v1 = 1 |
const uint32 Arch::x86::Sysenter::APIMAGIC = 0xcafebabe |
const uint32 Arch::x86::Sysenter::SYSENTTEMPBUF = 0x200 |