Autor Thema: Fragen zum PMode...  (Gelesen 4716 mal)

BlackSun1102

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« am: 06. May 2006, 09:52 »
Hi,

Da ich meinen Bootloader bereits fertig habe und gerade am OSLoader arbeite bin ich bald soweit, das ich in den PMode gehen kann...

Nun ein paar vorbeugende Fragen:

1. Was passiert mit der Interrupt Vektor Table und der BIOS-ROM Area im PMode? Verwenden kann man die Ints ja nicht, das würde bedeuten das man diesen berreich überschreiben könnte!?

2. Kann ich im PMode noch allgemeine Hardware Infos bekommen oder muss ich solche Dinge wie Anzahl der Laufwerke und diverser Laufwerksinfos bereits im RMode via Interrupts auslesen?

3. Das gleiche gilt für die RAM... Kann ich deren gesamte Physische Kapazität im PMode auslesen oder muss ich Ints im RMode verwenden?
Das hochzählen des RAMs finde ich absolut sinnlos! Das wäre ja so wie wenn ihr einfach durch das Haus eueres Nachbars lauft um die Zimmer zu zählen, anstatt ihn einfach zu Fragen! Ich bräuchte hier also andere Alternativen...


Danke im Vorraus!

Gruß Chris

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 06. May 2006, 10:02 »
@BlackSun1102: Hallo,

1: Die IVT ist nicht mehr zu gebrauchen, im PM brauchst du die IDT. Die BIOS-ROM-Area (auch BIOS-DATA-Area) braucht man eigentlich auch nicht mehr. Mann sollte aber trotzdem nichts überschreiben. Ich z.B. schreibe im PM erst ab 1 MByte. Wenn man z.B. in den RM zurückkehren möchte, weil man z.B. am ende int's fürs herrunterfahren ausführen möchte, dann brauch man die IVT, die BIOS-Data-Area ja wieder. Deswegen würde ich da nichts überschreiben. Man reisst ja auch nicht die Heizung aus der Wohnung nur weil man sie vielleicht nicht brauch.

2: Im PM kannst du genau so viele (bzw. mehr) Informationen bekommen wie (als) im RM. Das kannst du halt nicht merh mit der BIOS-Data-Area oder BIOS-Interrupts machen sondern greifst auf der Hardware direkt mit Ports zu. Im CMOS steht z.B. die Anzahl der Diskettenlaufwerke und von welchem Typ sie sind.

3: Also das habe ich noch nie gemacht (da mein OS z.Z. nur 2 MByte benötigt). Aber gehen tut das bestimmt.

bitmaster
In the Future everyone will need OS-64!!!

BlackSun1102

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 06. May 2006, 10:17 »
Hi,

Danke erstmal!
Dann könnte ich direkt in den PMode schalten...
Hat irgenteiner ein gutes (deutsches) Tutorial wie man mit dem DJGPP umgeht?
Im kann momentan nur die C-Syntax... Der Rest wird sonst immer vom VS erledigt  :wink:

Gruß Chris

Neo3

  • Beiträge: 39
    • Profil anzeigen
    • GlobalNetzone
Gespeichert
« Antwort #3 am: 09. May 2006, 19:49 »
Ein gutest Deutsches Tutorial für DJGPP würde mich auch Interessieren.

So viel ich weiss haben wir in der Link Sektion auf unserer Seite einen Link zu einem guten PM Tutorial und so wie ich weiss kann man die Int irgend wie weiter verwenden man muss sie einfach irgend wie auf den Int hollen, hab da schon lange nix mehr gemacht 1 - 2 Jahre nichts mehr mit OS Developming am hut muss mich aber echt wieder mal einarbeiten, würde aber meinen das genau sowas in dem Tutorial stet auf der Links Seite bin mir desen aber nicht mehr so sicher.

Grüsss
Neo3
Mit grosser Kraft folgt grosse Verantwortung.

C#ris

  • Beiträge: 47
    • Profil anzeigen
    • http://www.xerxys.org
Gespeichert
« Antwort #4 am: 10. May 2006, 14:32 »
Zitat von: BlackSun1102
Hi,
Das hochzählen des RAMs finde ich absolut sinnlos! Das wäre ja so wie wenn ihr einfach durch das Haus eueres Nachbars lauft um die Zimmer zu zählen, anstatt ihn einfach zu Fragen! Ich bräuchte hier also andere Alternativen...


Das Schreiben eines eigenen Bootloaders ist IMHO genauso sinnlos :wink:
GRUB bootet nicht nur anständig, sondern lädt ja auch falls gewünscht Module und bestimmt die Größe des RAMs ganz ohne Zutun (steht in den Multiboot Flags).
Das nur so als Anmerkung... ;)

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 26. July 2006, 13:43 »
Zitat von: BlackSun1102
Hi,

Da ich meinen Bootloader bereits fertig habe und gerade am OSLoader arbeite bin ich bald soweit, das ich in den PMode gehen kann...

Nun ein paar vorbeugende Fragen:

1. Was passiert mit der Interrupt Vektor Table und der BIOS-ROM Area im PMode? Verwenden kann man die Ints ja nicht, das würde bedeuten das man diesen berreich überschreiben könnte!?

2. Kann ich im PMode noch allgemeine Hardware Infos bekommen oder muss ich solche Dinge wie Anzahl der Laufwerke und diverser Laufwerksinfos bereits im RMode via Interrupts auslesen?

3. Das gleiche gilt für die RAM... Kann ich deren gesamte Physische Kapazität im PMode auslesen oder muss ich Ints im RMode verwenden?
Das hochzählen des RAMs finde ich absolut sinnlos! Das wäre ja so wie wenn ihr einfach durch das Haus eueres Nachbars lauft um die Zimmer zu zählen, anstatt ihn einfach zu Fragen! Ich bräuchte hier also andere Alternativen...


Danke im Vorraus!

Gruß Chris


Zu 2. und 3.:
Muss ja gehen. Alles was das BIOS kann musst du ja auch deinem Kernel beibringen können!

MadMax

  • Beiträge: 1
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 26. July 2006, 21:27 »
C#ris: GRUB ist schon ein geiles teil aber ich schätze mal die Leute die einen eigenen Loader schreiben sich bildenwissen aneignen wollen ge :D

und ein Prog hat GRUB schon [GRUB + XFS] das geht net :D


mfg Max

 

Einloggen