[OSy] Mozna uz se neco na toto tema resilo ...
Michal Tuláček - iGroup.cz
michal.tulacek at igroup.cz
Fri Jan 4 15:11:29 CET 2008
Zdravim,
no s defaultnim nastavenim user.bin pocita, ze je proces nahrany od
adresy 0 a ze nejaka prvni funkce je na te adrese 0.
My to resime tak, ze nejprve hodime proces na znamou fyzickou adresu
add rwm mem_process 0x05001000 16M
mem_process load "process.bin"
pak je jasne, ze v msim to najdu na adrese 0x85001000
ve virtualni pameti procesu pak tuhle binarku vezmu a zkopiruju ji
z 0x85001000 do 0x00000000 - ja kopiruju proste fixne 128kB. To se
tam proste musi vejit.... :D
mno... a pak uz staci na vhodnem miste bud udelat
void (*fnc)(void);
fnc = 0;
fnc();
coz to spusti.... ale nejak to neresi nejake drobnosti, jako ze by
se pri skoku mohlo nastavit, ze se prepina do usermodu apod...
tzn alespon my skaceme pres j 0, pricemz v branch delay slotu
skoku je zmena toho modu... viz starsi maily v konferenci
MT
4. ledna 2008, 15:03:48, napsal jste:
> Ahoj!
> Nedari se mi pochopit, jak se ma pracovat s uzivatelskym programem.
> Z kompilace kernelu a uzivatelskeho programu "vypadnou" tri soubory:
> loader.bin (zavadec kernelu)
> kernel.bin (samotny kernel)
> user.bin (uzivatelsky program slinkovany s knihovnou, ktera
> implementuje komunikaci s kernelem pres syscally).
> Tady mi neni jasne, na jakou adresu se ma "natahnout" uzivatelsky
> program. (docela by mi pomohl nejaky priklad konfiguracniho souboru
> msimu).
> Dalsi vec mi neni jasna, jak mam spustit kod z user.bin.
> Z binary.lds (ktery je v testech k zadani 3) jsem pochopil, ze linker
> vytvori binarku, ktara ma entry point na adrese 0x0 (funkce entry).
> Domnivam se, ze kdyz z kernelu zavolam funkci entry tak by se mel
> pustit kod z uzivatelskeho programu. (predpokladam, ze ukazatel
> entry ja nastaven na adresu 0x0).
> Ales
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
--
S pozdravem,
Michal Tuláček - iGroup.cz
mailto:michal.tulacek at igroup.cz
More information about the NSWI004
mailing list