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

Seiten: [1] 2 3 ... 138
1
Lowlevel-Coding / Antw:Sleep Funktion implementieren
« am: 16. August 2019, 14:10 »
Ein OS beim Starten absichtlich langsam machen ist übrigens kein tolles Feature, falls du das vorhaben solltest.
2
Offtopic / Antw:Vorstellung
« am: 13. March 2019, 21:15 »
Hallo Manfred, auch hier nochmal herzlich willkommen im Forum! :)

Ein Hypervisor, der Linux anbooten kann, klingt doch schon gar nicht so schlecht. Wie weit bootet es denn schon? Darf Linux direkt auf die echte Hardware zugreifen oder bringt der Hypervisor eigene Treiber mit?
3
Softwareentwicklung / Antw:Parallelport mit DMA hereinlesen
« am: 25. December 2018, 17:05 »
Meines Wissens geht das nur über die Ports, nicht mit DMA.
4
Das Wiki / Re: PHP Warnungen
« am: 07. April 2017, 22:45 »
Wiki ist "gefixt". Das war in diesem Fall wohl ein PHP-Bug, wie es aussieht. Wenn es das nächste Mal ein Problem gibt, erinnert mich daran, erstmal einfach Apache neuzustarten. ;)
5
Das Wiki / Re: PHP Warnungen
« am: 06. April 2017, 09:29 »
Die Logs funktionieren bei mir einwandfrei.

Wenn am Wiki bzw. Server niemand absichtlich was verändert hat, muss man das bei Gelegenheit wohl mal debuggen...
6
Softwareentwicklung / Re: Makefile geteilter Source Code
« am: 04. April 2017, 13:21 »
Das ist nicht genau der gleiche Code. Bis auf die Prototypen ist das komplett unterschiedlicher Code.
7
Softwareentwicklung / Re: Makefile geteilter Source Code
« am: 04. April 2017, 09:34 »
Was du da in Wirklichkeit hast, sind zwei verschiedene Bibliotheken, die dasselbe Interface anbieten. Die eine ist eine Abhängigkeit vom Kernel, die andere eine Abhängigkeit von allen Userspace-Programmen. Ich würde nicht empfehlen, dass du das beides aus der gleichen Sourcedatei baust, aber wenn du das willst, geht das natürlich auch.

kernellib.o: lib.c
    $(CC) -c -DKERNELLIB=1 -o $@ $^
userlib.o: lib.c
    $(CC) -c -o $@ $^

Irgendwie sowas, und dann hättest du #ifdef KERNELLIB im Sourcecode. Wie gesagt, ich würde den Code lieber gleich auf zwei verschiedene Sourcedateien verteilen, aber wenn man unbedingt will, geht es auch so.
8
Lowlevel-Coding / Re: Interrupt-Handling schlägt fehl
« am: 20. February 2017, 18:49 »
Naja, wenn bochs es nicht anzeigt, musst du eben andere Möglichkeiten nehmen, um das zu debuggen. Zum Beispiel einen Breakpoint vor dem iret setzen und dort dann den Stack anschauen, ob der aussieht wie erwartet.
9
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 20. February 2017, 17:22 »
Vergiss es, Denkfehler meinerseits. Du kriegst die Wurzel nicht von Zweierpotenzen, sondern nur von Quadraten von Zweierpotenzen, womit der Fehler nochmal ein gutes Stückchen größer wird.

Der Ansatz war, dass du mit bsr die Bitnummer des höchstwertigen gesetzten Bits kriegst. Bei den Quadraten von Zweierpotenzen ist die Wurzel dann (1 << (bitnr >> 1)), bei allem anderen geht es entsprechend mehr oder weniger daneben. Für "ungerade" Zahlen kriegst du n für alles bis (n + 1)² - 1, was natürlich ungenauer als nötig ist. Man will den Schritt irgendwo in der Mitte zwischen zwei Quadraten von Zweierpotenzen machen, was durch passende Rundung machbar sein sollte.

Mit nur zehn Takten wäre allerdings schon das eher eng, glaube ich...
10
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 20. February 2017, 11:59 »
Zehn Takte sind ja quasi gar nichts. Auf die nächste Zweierpotenz kriegst du damit wahrscheinlich hin (was eine Abweichung bis ungefähr 22,5% wäre, wenn ich das gerade richtig gerechnet habe), aber sonst sehe ich eher schwarz...
11
Lowlevel-Coding / Re: Interrupt-Handling schlägt fehl
« am: 19. February 2017, 22:31 »
Du solltest erst einmal versuchen, genauer einzugrenzen, wann der Fehler genau kommt. Aus der Fehlermeldung wird erst einmal nur klar, dass irgendwo versuchst wird, cs=0x10 zu setzen. Wenn du dich ans Tutorial gehalten hast, ist 0x10 ein Datensegment und deswegen tut das nicht; das Codesegment wäre 0x08.

Weil du sagst, dass handle_interrupt() einmal ausgeführt wird, tippe ich auf das iret als fehlschlagende Instruktion. bochs müsste in der Fehlermeldung auch die Adresse ausgeben, die du aber nicht mitkopiert hast. Die kannst du mal mit deiner Kernelbinary vergleichen, um rauszufinden, wo es genau passiert. Wenn es tatsächlich das iret ist, dann liegt ein falscher Wert auf dem Kernelstack und du musst rausfinden, wo er herkommt.
12
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 17. February 2017, 12:21 »
Wenn du einen Float kriegen kannst (und dann auf der Binärdarstellung davon mit Integeroperationen arbeiten), ist eventuell das hier was für dich. Soll dann am Ende irgendwie so aussehen:
val_int = (1 << 29) + (val_int >> 1) - (1 << 22) + a;
13
Das Wiki / Re: Willkommen Lowlevel und meine erste Frage
« am: 16. February 2017, 18:21 »
Zum Thema, was beim Start frei ist, willst du hier schauen: http://www.lowlevel.eu/wiki/Teil_7_-_Physische_Speicherverwaltung#Speicherverwaltung_initialisieren

Oder am besten schaust du dir mal die ganze Tutorialreihe grob an, auch wenn du nicht genau danach arbeiten willst.
14
Das Wiki / Re: Willkommen Lowlevel und meine erste Frage
« am: 16. February 2017, 18:08 »
Falsch gibt's nicht, nur üblich und nicht so üblich. Eventuell auch in manchen Fällen geschickt und nicht so geschickt, aber Tastatur und Platte sind unabhängig genug, dass man das machen kann wie man will.

Ich würde dir nur raten, die Speicherverwaltung und vor allem Paging nicht zu weit rauszuschieben, weil das noch relativ grundlegende Änderungen reinbringen kann, die alles betreffen.
15
Das Wiki / Re: Willkommen Lowlevel und meine erste Frage
« am: 16. February 2017, 17:59 »
Du hast ATA-Unterstützung vor der Tastatur? Auch mal eine nette Reihenfolge. ;)
16
Softwareentwicklung / Re: Quadratwurzel schnell berechnen
« am: 16. February 2017, 17:58 »
Naja, normal nimmt man da wohl irgendein iteratives Verfahren, z.B. das Newtonverfahren. Wenn du schnell und wenig präzise willst, machst du halt entsprechend weniger Iterationen.
17
Das Wiki / Re: Willkommen Lowlevel und meine erste Frage
« am: 16. February 2017, 17:49 »
Moin und willkommen im Forum! :)

Erstmal möchte ich mich dafür entschuldigen, dass deine Aktivierung ein bisschen länger (*hust*) gedauert hat. Du hattest das Pech, im Spamfilter hängen zu bleiben und ich bin die letzten zwei, drei Wochen teils unterwegs gewesen und teils zu beschäftigt, um manuelle Aktivierungen zu machen. Freut mich um so mehr, dass du dich gleich zu Wort meldest.

Das Wiki ist nicht wirklich aufgegeben, aber ich glaube, zumindest die Basics sind mittlerweile ganz gut abgedeckt und bei den fortgeschrittenen Themen liest im Allgemeinen sowieso jeder die Specs statt einer Sekundärquelle wie dem Wiki. Das ist also eine Mischung aus "gut genug" und der Bequemheit potentieller Autoren. Das Magazin ist tatsächlich aufgegeben (eigentlich schon seit wir das Wiki eingerichtet haben), weil es einfach langfristig keine inhaltlich sinnvolle Organisation der Themen darstellt wie sie in einem Wiki viel besser möglich ist.

Und schließlich noch zum Forum: Wenn das ein bisschen ruhiger aussieht, liegt das in erster Linie daran, dass der harte Kern sowieso im IRC rumhängt und dann auch gleich dort diskutiert. ;)

Nachdem das alles geklärt ist (ist es das?), kommt meine Frage: Was für ein OS bastelst du denn? Hast du Lust, was herzuzeigen? Also ich bin natürlich überhaupt nicht neugierig, aber... :-D
18
Du musst das Makro erst definieren, bevor du es benutzt, nicht umgekehrt.

Und den Punkt solltest du bei der Benutzung noch rausmachen, damit es auch der richtige Makroname ist. ;)
19
Lowlevel-Coding / Re: Rechner ausschalten per Software
« am: 30. January 2017, 21:51 »
APM ist mit dem BIOS-Interrupt 15h abgedeckt, wenn ich mich nicht täusche.
20
Lowlevel-Coding / Re: Rechner ausschalten per Software
« am: 20. January 2017, 15:26 »
Dafür musst du eine Power-Management-Schnittstelle benutzen. Früher war das APM, heutzutage ACPI. Viel mehr kann ich dir dazu allerdings auch nicht sagen, ich habe das selbst noch nie benutzt.
Seiten: [1] 2 3 ... 138

Einloggen