vm_fault: fault on nofault entry

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Sun Mar 19 19:44:50 CET 2006


On Sun, Mar 19, 2006 at 05:47:07PM +0100, Dan Lukes wrote:
> Divacky Roman napsal/wrote, On 03/19/06 14:46:
> > tak jsem se na to ptal a je to tak jak rikam.. fbsd nepouziva segmenty
> 
> 	Nevim jak's polozil otazku ani jakou's dostal odpoved a tak nemuzu 
> posoudit, jestli slo o chybne polozenou otazky, chybnou odpoved, nebo 
> spravnou lec chybne interpretovanou odpoved, ale ja jsem si naprosto 
> jisty (a ze podobnymi vyroky hodne setrim), ze FreeBSD segmenty pouziva, 
> protoze v protected modu procesoru (a FreeBSD jede v protected modu 
> procesoru) to jinak ani neni mozne.
> 
> 	Pro jistotu podotykam, ze se bavim o platforme i386. Je mozne, ze na 
> jinych platformach to je jinak.

fbsd pouziva segmenty v tom smyslu ze vytvori jeden segment velky 4G (ano,
bavime se o i386) a v nem adresuje linearne...


resp. ted jsem se na to dival a ve skutecnosti pouziva 18 gdt descriptoru a 5
ldt descriptoru, a z tech gdt se pulka v podstate nevyuziva (normalne) pac to
slouzi na volani biosu v 16bitovem modu atp.

rozhodne to ale neni tak ze je descriptor per process... 

viz kometnar:
/* Make gdt memory segments.  All segments cover the full 4GB
 * of address space and permissions are enforced at page level.
 */

takze i tvoje tvrzeni o tom ze bez segmentu nemas ochranu procesu je (aspon
podle toho komentare) neplatne

aspon teda pokud se fakt seredne nemylim :)))

roman




More information about the Users-l mailing list