Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - d00m

Seiten: [1]
1
Lowlevel-Coding / Mapping/Paging
« am: 27. December 2004, 20:16 »
oh :)
naja, hab ich noch nciht, also wird das dann alles von malloc() und free() gemacht, ok, die hab ich ja noch nicht, kommen erst als nächstes dran :)
2
Lowlevel-Coding / Mapping/Paging
« am: 26. December 2004, 18:45 »
[edit]
ok, mein paging läuft nun, denke ich, soweit.
Ich kann, so wies aussioeht, auch wärend der lafuzeit, mittels einer Funktion, neue Page_Directorys erstellen.
Nun hab ich aber noch ein Frage.
Wie kann ich ein solches Page_Diurectory wieder löschen?
hab das mit dem erstellen so:


int PageIndex=0;
void Insert_Page-Directory(void)
{
unsigned int i;
// 4MB mappen
PageIndex++;
for(i=0; i<1024; i++)
{
page_table[i] = address | 3; // Superuser-level, read/write, present
address = address + 4096; // 4096 = 4kb
}
page_directory[PageIndex] = page_table; // Superuser-level, read/write, present
page_directory[PageIndex] = page_directory[PageIndex] | 3;
printf("New page created.\n");
}

PageIndex habe ich auf 0, bzw im code PageIndex++, da ich in der Pageing_Init() funktion, Page_Directory[0] an sich schon erstelle.
Aber wie schon gesagt, wie löscht man so ein Page_Directory? ich meine, ich kann beim löschen int PageIndex-- rechnen, dann habe ich aber trotzdem die erstellte Page_Directory.
3
Lowlevel-Coding / Mapping/Paging
« am: 26. December 2004, 18:10 »
danke erstmal an alle.
es ist so, das ich nun urch verschiedene user und tutorials genau, wie ich denke, verstanden hab, wie das paging angewendet wird uns so.
aber mien problem ist einfach, das ich keien ahnugn, hab, wie ich meine wissen umsetze. es ist mir soweit klar, das ich erst das paging directory und die paging table anlegen muss.
wenn cih weiß, an welcher adresse im speicher die tabelle is, speichere ich diese adresse ins cr3 register.
und schalte danach das paging ein, indem ich cr0 auf 80000000h setze, also, das bit31 anschalte.
aber dann wars das auch scon, was ich bzgl. praxis weiß, bzw. der umsetzung.
4
Lowlevel-Coding / Mapping/Paging
« am: 25. December 2004, 16:33 »
Im oment läuft alles im PM.
Habe mein kernel in c geschrieben, aber, klar, wäre egal, ob ichs nu in asm oder c machen würd.
hoffe nur, das ich das mal hinbekomme :)
5
Lowlevel-Coding / Mapping/Paging
« am: 24. December 2004, 23:51 »
Hi.
Ich hab schon in einigen foren gesucht und auch schon einige tuts gesucht, leider bis jetzt ohne erfolg.
Es geht, wie der Titel es schon sagt, ums mappen.
Ich habe den sinn und alles verstanden, aber habe leider keine ahnung, wie ich das in mein "os" "reinbringe"
ich wollte mal fragen, ob mit da vieleicht jemand ein tip dazu geben kann oder gar eine art tutorial hat.
Bin für jeden hilfe dankbar.
Cya.
6
Lowlevel-Coding / Problem mit PM
« am: 09. November 2004, 12:29 »
ähm, ich weiß net, aber kannes sein, das:
du springst in deinem kernel am ende zum END.
jo, und danach?
soweit ich das weiß, bzw. kenne, müsste danach ein, vielelicht, c kernel gelasen werden.
er lädt zwar alles bis runter, aber bei dem sprung zu END ist ja ende, komtm ja nix mehr.
also solltest du, wenn ich das richtig verstehe, entweder eine endlosschleife machen,
oder eine weitere *.asm datei anhängen, die dann dein, z.b. c kernel lädt.
Seiten: [1]

Einloggen