[OSy] Umisteni stacku

Jiří Tlach jiri.tlach at centrum.cz
Tue Jan 9 08:07:07 CET 2007


Zdravim,

jsem clenem tymu, ktery vyvijel v ramci prvni semestralky 
kernel Sirius, na nemz je postaveny KoHlTo kernel. Podle problemu, 
o kterych se tady zminujete to vypada, ze problem bude spise na 
urovni kernelu Sirius nez KoHlTo. Napiste mi mail a domluvime 
se na osobnim setkani a muzeme se pokusit tento problem 
spolecne vyresit.

S pozdravem
Jiri Tlach

>Zdravim,
>
>po dlouhe noci, nasel jsem nakonec v cem byl problem.
>Z vypisu dole je videt (instrukce na adresach 800029F8
>a 00000000), ze po okopirovani vsech 32Kb se skace na
>adresu 0x0 ktera se zapise v registr "ra". Zda se, ze
>mezi 0..32Kb se nachazi stack kernelu (protoze v
>gp=0)? Tohle nemuzu pochopit, ve virtualnim adresovem
>prostoru by stack mel nachazet v (KSEG0 | 0x200) a
>fyzicky se nachazi na adrese 0x200. Jak udelat tak,
>aby to kopirovani 32Kb se neprepisovalo stack?
>Docasne jsem to vyresil tak, ze jsem
>PROGRAM_BEGIN_ADDRESS dal do vyssi adresy
>(0x00020000), ale chtel bych to mit 0x0, aby to bylo
>hezke ucesany. :)
>
>
>NY.
>
>
>process.c: line 125
>i = 32767
>processor p0
>   0 00000000   at 00000000   v0 00007FFF   v1
>90007FFF   a0 00000000
>  a1 A1000000   a2 00000000   a3 8000A63D   t0
>00000019   t1 80009974
>  t2 00000012   t3 00000000   t4 00000000   t5
>00000000   t6 00000000
>  t7 00000000   s0 00008000   s1 00000000   s2
>00008000   s3 90000000
>  s4 80010000   s5 80010000   s6 80010000   s7
>00000000   t8 00000000
>  t9 00000000   k0 80010000   k1 00000001   gp
>00000000   sp 80000550
>  fp 00000000   ra 800029D4   pc 800029EC   lo
>00000000   hi 00000003
>
>    800029EC    d_trace
>    800029F0    ---
>[msim]
>    800029F4    addu  v1, 0, 0          # v1:
>0x90007fff->0x0
>[msim]
>    800029F8    lw    ra, 0x34(sp)      # 0x34=52, ra:
>0x800029d4->0x0
>[msim]
>    800029FC    lw    s6, 0x30(sp)      # 0x30=48, s6:
>0x80010000->0x0
>[msim]
>    80002A00    lw    s5, 0x2c(sp)      # 0x2c=44, s5:
>0x80010000->0x0
>[msim]
>    80002A04    lw    s4, 0x28(sp)      # 0x28=40, s4:
>0x80010000->0x0
>[msim]
>    80002A08    lw    s3, 0x24(sp)      # 0x24=36, s3:
>0x90000000->0x0
>[msim]
>    80002A0C    lw    s2, 0x20(sp)      # 0x20=32, s2:
>0x8000->0x0
>[msim]
>    80002A10    lw    s1, 0x1c(sp)      # 0x1c=28
>[msim]
>    80002A14    lw    s0, 0x18(sp)      # 0x18=24, s0:
>0x8000->0x0
>[msim]
>    80002A18    addu  v0, v1, 0         # v0:
>0x7fff->0x0
>[msim]
>    80002A1C    jr    ra
>[msim]
>    80002A20    addiu sp, sp, 0x38      # 0x38=56, sp:
>0x80000550->0x80000588
>[msim]
>    00000000    j     +0x754            # 0x754=1876
>[msim]
>    00000004    nop
>[msim]
>    00000754    lui   k1, 0x8000        #
>0x8000=32768, k1: 0x1->0x80000000
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>http://dsrg.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list