[so2] [curs2] nelamuriri

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Thu Mar 7 08:26:18 EET 2013


Andrei Epure <epure.andrei at gmail.com> writes:
>>> Cum pot să-i dau lui open ca parametru o structură conținând
>>> regiștrii? Poate explica cineva mecanismul? Mi-e neclar.
>>
>> Registre*
>> Nu am înțeles întrebarea. Te referi la faptul că parametrii unui apel
>> sunt transmiși prin registre vs stivă? Vezi slide 24. (sau mai
>> reformulează întrebarea, te rog).
>
> Reformulez: acesta este modul prin care se apelează un apel de sistem?
> Nu am găsit structura aia în nucleu.

Andrei, first order of business: decupează părțile nerelevante din
mesajele pe care le transmiți.

Revenind la subiect, structura e una custom; dacă vrei ceva mai apropiat
din nucleu, este vorba de struct pt_regs[1]. Structura conține exact
parametrii, adică registrele. Din punctul de vedere al stack
frame-ului[2], pe stivă se vor pune aceleași informații. That's why it
works :-)

[1] http://lxr.linux.no/linux+v3.8.2/arch/x86/include/asm/ptrace.h#L11
[2] http://ocw.cs.pub.ro/courses/so/laboratoare/laborator-04#stiva

Răzvan


More information about the so2 mailing list