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 - micha

Seiten: 1 ... 3 4 [5] 6 7 8
81
Das Wiki / outb in Tutorials
« am: 11. April 2012, 10:11 »
Hallo

Ich habe da eine Frage zu der outb-funktion, wie sie im tutorial definiert ist.
Dort sieht sie so aus:
static inline void outb(uint16_t port, uint8_t data)
{
    asm volatile ("outb %0, %1" : : "a" (data), "Nd" (port));
}
Wieso ist das denn nicht als Macro definert?

So funktioniert es doch auch:
#define outb(port, data) asm("outb %0, %1" : : "a" ((uint8_t)data), "Nd" ((uint16_t)port))
Vielleicht könnten mir das auch die Schreiber dieses Tutorials beantworten.
82
Lowlevel-Coding / Re: Tastaturtreiber
« am: 07. April 2012, 12:59 »
OK. es geht  :lol: :lol:
Ich hab vergessen in init ein while(1); zu setzten nach init wird ja der prozessor angehalten  :-)

Danke für die Hilfe
83
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 20:49 »
Jetzt komme ich dem Tastaturtreiber schon näher.
Wenn ich einen Befehl an die Tasratur sende, wird der IRQ 0x21 ausgelöst. Ist das richtig?

Außerdem wird bei Tastendruck kein Interrupt ausgelöst.
84
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 17:45 »
Super!!!!! mit dem gehts :-) :-) :-D
85
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 16:52 »
komisch.. :| mit deinem iso gehts
86
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 16:46 »
Jetzt wird qemu nach init_idt schwarz :|
87
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 16:19 »
Also EAX,EBX,ECX und EDX stimmen überein. Nur die anderen (ESP,CS...) nicht.
88
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 15:55 »
Ich hab jetzt die zeile eingefügt
( 0x800 ) | // 1 << 11nur leider geht es immernoch nicht :-(

Liegt der Fehler in der GDT? Es kommt ja ein GPF und es werden Segmente übergeben (als Errorcode), die ich garnicht hab!
89
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 15:29 »
Du hast 16-Bit Interrupt Desptoren angelegt.
Was hab ich da falsch gemacht? Wie mach ich's richtig?

90
Lowlevel-Coding / Re: Tastaturtreiber
« am: 05. April 2012, 12:04 »
Wie baust du den Kernel? Das mal zu testen zu können würde vermutlich schneller zu Erfolg führen als nur den Quellcode an zu sehen.
src/kernel/Makefile
SRCS = $(shell find -name '*.[cS]')
OBJS = $(addsuffix .o,$(basename $(SRCS)))
CC = gcc
LD = ld

SRC = ..
KERNELSRC = .
IMGSRC = ../../img
KERNEL = $(IMGSRC)/sys/kernel/kernel

INC = -I $(SRC)/include
KERNINC = -I $(KERNELSRC)/include

ASFLAGS = -m32 $(INC)
CFLAGS = -m32 -Wall -fno-stack-protector -nostdinc $(INC)
LDFLAGS = -melf_i386 -Ttext=0x100000

KERNELCF = $(CFLAGS) $(KERNINC)
KERNELASF= $(ASFLAGS) $(KERNINC)

pseudolink: $(OBJS)
#Kernel kompiliert.

%.o: %.c
$(CC) $(KERNELCF) -c -o $@ $^
%.o: %.S
$(CC) $(KERNELASF) -c -o $@ $^
clean:
rm $(OBJS)
.PHONY: clean

Makefile
SRC = ./src
KERNELSRC = $(SRC)/kernel

SRCS = $(shell find -name '*.[cS]')
OBJS = $(addsuffix .o,$(basename $(SRCS)))
CC = gcc
LD = ld

INC = -I $(SRC)/include

IMGSRC = ./img
KERNEL = $(IMGSRC)/sys/kernel/kernel
IMGNAME= OrangePalm0-0-1winterBeta3

ASFLAGS = -m32 $(INC)
CFLAGS = -m32 -Wall -fno-stack-protector -nostdinc $(INC)
LDFLAGS = -melf_i386 -Ttext=0x100000

$(KERNEL): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^

iso-img:
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(IMGNAME).iso $(IMGSRC)
start-iso-qemu:
qemu -d int -cdrom $(IMGNAME).iso
print-src:
echo $(shell find -name '*.[chS]')

clean:
rm $(OBJS)
.PHONY: clean

mkall
# Kernel kompiliern
cd src/kernel
make
cd ../..
# Rest kompilieren & linken
make
# iso-image erstellen
make iso-img
# iso-image mit qemu starten
make start-iso-qemu
91
Lowlevel-Coding / Re: Tastaturtreiber
« am: 04. April 2012, 19:35 »
irq/handler.S:
  irq_handler0x21: ist weder leer, noch werden die Register ordnungsgemäß wieder hergestellt.
Das war ja auch nur zum rumprobieren..

syscall:
  int_handler0x30: ignoriert den rückgabe wert von syscall
Das ist ja noch garni fertig

testhandler:
  das geht so nicht, einfach asm("iret") in ne C-Funktion reinhauen. Guck dir mal `objdum -d testhandler.o` an. Da siehst du dass der stack erst noch dem iret, mit leave wieder aufgeräumt wird.
Da hab ich auch bloß probiert (ich probiere gern  :wink:; vergessen wieder raußzunehmen)

sprintfr:
  du legst nirgends einen puffer für dein rückgabe string an! du verwendest rs uninitialisiert. das ist pures Glück wenn das mal gut geht.
Eingentlich ging das immer
92
Softwareentwicklung / Re: Qemu und Oracle...
« am: 04. April 2012, 17:21 »
In VirtualBox rechte Maustaste auf deine virtuelle Maschine und dann "Show Log…"
geht ein bisschen schlecht, wenn VitualBox garnicht startet.
93
Softwareentwicklung / Re: Qemu und Oracle...
« am: 04. April 2012, 17:06 »
Dann guck mal in den logs von VirtualBox was da so steht.

Was für logs?
Und was steht da bitteschön drin?
Wo befinden die sich?
 :?
94
Lowlevel-Coding / Re: Tastaturtreiber
« am: 04. April 2012, 15:59 »
95
Eine DosBox gibts wirklich (nur ist das nicht die Windows Konsole :wink:)

http://www.dosbox.com/
http://de.wikipedia.org/wiki/DOSBox
96
Lyrisches Eck / Re: Wortspiel
« am: 04. April 2012, 15:41 »
zum glück ist das bei mir gerade nicht der fall. (Quälcode hab ich trotzdem)
Das mit dem Makefile hatte ich auch schonmal.. :wink:
97
Lyrisches Eck / Wortspiel
« am: 04. April 2012, 15:33 »
Was sagt ihr dazu?

der Quellcode quillt wie Milchreis,
die Funktionen funktionieren nicht mehr,
das Makefile hat eine Macke.

wer macht weiter (mir fällt nix nehr ein :wink:)
98
Softwareentwicklung / Re: Qemu und Oracle...
« am: 02. April 2012, 18:33 »
So, oder so ähnlich:
# rmmod kvm_intel
# rmmod kvm

mir wurde vorher gesagt, dass rmmod sich in /sbin befindet
# /sbin/rmmod kvm
ERROR: Module kvm does not exist in /proc/modules
# /sbin/rmmod kvm_intel
ERROR: Module kvm_intel does not exist in /proc/modules
99
Softwareentwicklung / Re: Qemu und Oracle...
« am: 02. April 2012, 17:54 »
Und wie starte ich qemu mit KVM?
100
OS-Design / Re: Monotholitisher Kernel oder Microkernel
« am: 02. April 2012, 14:34 »
micromonolithische Modularhybrid
Interressant... das scheint ein toller mix zu sein :wink:
Seiten: 1 ... 3 4 [5] 6 7 8

Einloggen