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 - unsknown spammer

Seiten: [1]
1
Offtopic / Re: Webhoster
« am: 04. November 2008, 18:07 »
Hallo,
fuer den preis kannst du schon fast einen Root-Server Mieten!
Ich kann dir www.ovh.de empfehlen.
Dort gibt es Webspace und Root-Server!

Fuer kostenlosen Webspace gibts www.bplaced.net!
2
Lowlevel-Coding / Re: GDT Deskriptor wird falsch gesetzt
« am: 04. November 2008, 14:46 »
Danke erstmal fuer die antworten!
Ich habe den Fehler gefunden und zwar habe ich das Segment-Bit nicht auf 1 gesetzt!
Jetzt laeuft der Kernel!

Kann mir mal jemand erklaeren wofuer das Segment-Bit da ist?
3
OS-Design / Re: Brauch einen Quellcode für Eingabe
« am: 04. November 2008, 14:28 »
Hallo OSchecker,

um das Keyboard im Protected mode nutzen zu koennen musst du erstmal eine IDT erstellen!
Bevor du die IDT laedst musst du auch den PIC neu programmieren!

PIC-Tutorial: http://www.osdever.net/tutorials/pic.php

Zur IDT habe ich leider kein vernuenftiges tutorial gefunden!
solltest also mal selbst mithilfe von http://lowlevel.brainsware.org/wiki/index.php/IDT rumprobieren.

Keyboard:http://lowlevel.brainsware.org/wiki/index.php/Keyboard_Controller
4
Lowlevel-Coding / Re: GDT Deskriptor wird falsch gesetzt
« am: 30. October 2008, 17:48 »
Danke erstmal!
Ich bin auf einen anderen Compiler umgestiegen!
Mein alter Compiler hat da anscheinend nicht aligned!

Wieso ich den structs namen gebe?
Das habe ich noch von der zeit uebernommen als ich noch nicht mit typedef gearbeitet habe!

Jetzt bekomme ich allerdings eine Exception beim neuladen der Segment-Register:
Zitat
00012122274i[CPU0 ] >> mov ds, ax : 8ED8
00012122274e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
5
Lowlevel-Coding / GDT Deskriptor wird falsch gesetzt
« am: 29. October 2008, 19:50 »
Hallo erstmal!
Ich boote meinen Kernel ueber grub.
Dann lade ich meine eingene gdt.
Wenn ich das image jetzt unter bochs boote macht der direkt einen restart!

Auszug der Logfile:
Zitat
00011998349i[CPU0 ] | SEG sltr(index|ti|rpl)     base    limit G D
00011998349i[CPU0 ] |  CS:0008( 0001| 0|  0) 00000000 000fffff 1 1
00011998349i[CPU0 ] |  DS:0010( 0002| 0|  0) ffffffff 000fffff 1 1
00011998349i[CPU0 ] |  SS:0010( 0002| 0|  0) 00000000 000fffff 1 1
00011998349i[CPU0 ] |  ES:0010( 0002| 0|  0) ffffffff 000fffff 1 1
00011998349i[CPU0 ] |  FS:0010( 0002| 0|  0) ffffffff 000fffff 1 1
00011998349i[CPU0 ] |  GS:0010( 0002| 0|  0) ffffffff 000fffff 1 1
DIe Base wird falsch gesetzt!
Ausserdem wird ein anderes limit genommen als ich angegeben habe!
Ich sehe da einfach keinen fehler!

typedef struct gdt_entry{
WORD size0_15;
WORD base0_15;
BYTE base16_23;
BYTE access;
BYTE size16_19;
BYTE base24_31;
}gdt_entry;

typedef struct gdt_ptr{
WORD limit;
DWORD base;
}gdt_ptr;

gdt_ptr pgdt;
gdt_entry gdt[MAX_GDT_ENTRYS];
void init_gdt(){
WORD itemp=0;

//deskriptoren auf 0 setzen
for(itemp=0;itemp<MAX_GDT_ENTRYS;itemp++){
memset((BYTE*)&gdt[itemp],0,sizeof(gdt_entry));
}
//code deskriptor setzen
if(0!=set_gdt(1,0xFFFFF,0,GDT_DATA|GDT_CODE|GDT_PRESENT))return;
//daten deskriptor setzen
if(0!=set_gdt(2,0xFFFFF,0,GDT_DATA|GDT_PRESENT))return;
//limit und base der gdt speichern
pgdt.limit=MAX_GDT_ENTRYS*8 - 1;
pgdt.base=gdt;
//gdt laden und segmentregister aktualisieren
load_gdt();
}

void load_gdt(){
if(pgdt.limit!=0&&pgdt.base!=0){
asm("lgdt %0" : : "m" (pgdt));
//asm("jmp $0x8,$1f;1:");
asm("mov $0x10,%eax");
asm("mov %eax,%ds");
asm("mov %eax,%es");
asm("mov %eax,%fs");
asm("mov %eax,%gs");
//asm("mov %eax,%ss");
}
}

WORD set_gdt(WORD nr,DWORD size,DWORD base,BYTE access){
if(nr>=MAX_GDT_ENTRYS||nr==0)return 1;
gdt[nr].size0_15=size&0xFFFF;
gdt[nr].size16_19=((size>>16)&0xF)|0x80|0x40;
gdt[nr].base0_15=base&0xFFFF;
gdt[nr].base16_23=(base>>16)&0xFF;
gdt[nr].base24_31=(base>>24)&0xFF;
gdt[nr].access=access;
return 0;
}
6
Lowlevel-Coding / Re: kurze frage zu make
« am: 29. October 2008, 12:13 »
es reicht auch make x700 ;-)
7
Lowlevel-Coding / Re: Frage zum Protected Mode
« am: 01. January 2007, 20:45 »
Danke fuer die schnelle Antworten!
Mit erweitern meinte ich neue Descriptoren hinzufuegen!
Also muss ich wohl jedes mal die liste neu laden.
8
Lowlevel-Coding / Frage zum Protected Mode
« am: 01. January 2007, 20:16 »
Wenn ich die GDT erweitere, muss ich dann die GDT neu laden?
Und kann ich das im ProtectedMode machen oder muss ich in den RealMode wechseln?
9
Offtopic / Re: frohes neues!!!
« am: 01. January 2007, 10:10 »
Ein frohes Neues aus den USA!
10
Offtopic / Re: Ist C und Unix nur ein Joke?
« am: 30. December 2006, 19:25 »

$a="5";
$b=7;
$c=$a+$b;
echo $c;


a='5';
b=7;
c=a+b;
cout << c << endl;

Edit: Eigentlich wollte ich aber garnicht so eine Diskussion lostreten!  :-(
11
Offtopic / Ist C und Unix nur ein Joke?
« am: 28. December 2006, 19:27 »
http://c-worker.ch/humor/cppquatsch.php
Ist C und Unix nur ein Joke?  :wink:
Seiten: [1]

Einloggen