- 04 Jan, 2017 1 commit
-
-
Kevin Wolf authored
! libc: read() darf nicht -EAGAIN zurückgeben, wenn es eigentlich blockierend sein sollte. Weil LIOv1 nicht wirklich blockieren kann, muss read() selber eine entsprechende Schleife haben. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 02 Jan, 2017 2 commits
-
-
Kevin Wolf authored
! init: Es kann (anscheinend vor allem auf langsameren Maschinen wie qemu ohne KVM) passieren, dass die ersten paar Prozesse init so oft nach servmgr fragen, dass init nur noch damit beschäftigt ist, zu sagen, dass das noch nicht da ist, und nie dazu kommt, es wirklich zu laden. Das ist ein bisschen schade. Also lassen wir init erstmal alle Module laden, bevor es auf RPCs antwortet. (Ich weiß, die richtige Lösung wäre, das Polling loszuwerden, aber... nicht heute.) Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Keine Ahnung, ob es überall nötig ist, aber ohne memory-Clobber gibt zumindest mem_dma_allocate() nicht unbedingt die physische Adresse zurück, die alloziert worden ist. Also lieber mal an ein paar Stellen mehr clobbern. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 29 Dec, 2016 3 commits
-
-
Kevin Wolf authored
+ libc: strtoll() implementiert Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libm: gcc hat auch praktische Builtins für frexp() und modf() und die Entsprechungen für float und long double. Benutzen! Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Der Compiler hat noch einen ganzen Haufen vordefinierte Makros für Konstanten in float.h auf Lager, die könnte man auch einfach benutzen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 28 Dec, 2016 7 commits
-
-
Kevin Wolf authored
* shell: Wenn stdin ein Terminal ist, aktiviert ls die Farben jetzt per Default. Außer dem Dateinamen wird jetzt auch der Typ eingefärbt. Abgesehen davon macht ps die Überschriften auf Terminals weiß und der Prompt ist jetzt ebenfalls weiß statt hellgrau. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Hilfsfunktionen, die für einen gegebenen FILE* oder POSIX-Dateideskriptor feststellen, ob es sich um ein Terminal handelt. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Unterstützung für LIO_IOCTL_ISATTY, was einfach bei Terminals Erfolg und bei allem anderen einen Fehler zurückgibt + vterm: Terminals als solche markieren, damit der Kernel das bei LIO_IOCTL_ISATTY berücksichtigen kann Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Mit lio_ioctl() gibt es jetzt einen Syscall, um ressourcenspezifische Befehle auszuführen. Dieser Commit enthält nur die Infrastruktur und implementiert noch keinen solchen Befehl. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Anstatt einem Stub, der immer einen Fehler zurückgibt, wird jetzt für LIOv2-Dateien ein richtiges lio_dup() durchgeführt. Für LIOv1-Dateien dupliziert der POSIX-Layer einfach nur intern das Mapping von POSIX-Dateideskriptoren auf LIO-Streams. Das ist zwar kaputt, weil es auf dieser Ebene keine Referenzzähler gibt und ein close() alle Kopien zumacht, aber es scheint gut genug für git zu sein, das ein dup() für einen Socket macht. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: Statt einem Stub, der immer einen Fehler zurückgibt, können wir jetzt in pipe() eine richtige Pipe erstellen Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: chdir() sollte nicht nur den absoluten Pfad herausfinden, zu dem es wechseln soll, sondern dann auch diesen absoluten Pfad statt dem relativen nach $CWD schreiben. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 24 Dec, 2016 1 commit
-
-
Kevin Wolf authored
* shell: Dieser Commit spendiert der Shell Ansätze von einem richtigen Parser anstatt nur Dateiumleitungen aus der Tokensuppe herauszufischen und den Rest als Argumente zu nehmen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 23 Dec, 2016 1 commit
-
-
Kevin Wolf authored
* shell: Ein Token pro Aufruf zurückgeben statt einen kompletten String auf einmal in ein großes Array zu zerlegen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 17 Dec, 2016 2 commits
-
-
Kevin Wolf authored
! libc: Wenn wordexp() eine Variable durch einen String ersetzen musste, der so lang ist wie der Variablenname mit Dollarzeichen, dann hat es ins Leere gegriffen. ! libc: wordexp() ignoriert jetzt einfache Anführungszeichen innerhalb von doppelten anstatt die Variablenersetzung in diesem Teil zu unterbinden. ! libc: wordexp() erkennt jetzt auch mehrere direkt aufeinander folgenden Quotes anstatt das einleitende Anführungszeichen zu überspringen und sich am Ende zu wundern, dass es nicht aufgeht. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* shell: In tyndur folgt ein Pipeoperator nur auf Leerzeichen, weil ansonsten die Pipezeichen in Pfaden nicht mehr funktionieren ! shell: Endlosschleife gefixt, die durch eine nur halbe Implementierung verursacht wurde (Wechsel in Zustand fürs Parsen von Operatoren, aber dort wird er nicht erkannt) Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 11 Dec, 2016 3 commits
-
-
Kevin Wolf authored
+ tests: Ein paar einfache Testfälle für lio_pipe(), sowohl mit uni- als auch bidirektionalen Pipes Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: lio_pipe() in den Userspace exportieren Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Kernelinterne Funktion, um eine (uni- oder bidirektionale) Pipe zu erstellen Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 26 Nov, 2016 1 commit
-
-
Kevin Wolf authored
A directory isn't supposed to contain multiple entries with the same name. Error out when someone tries to create a new directory entry with the same name as an existing entry uses. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 05 Nov, 2016 7 commits
-
-
Kevin Wolf authored
It shouldn't normally happen that there are two directory entries with the same name, but in order to avoid crashes on inconsistent file systems, let's make sure to free the right resource instead of just one with the same name. Also, remove only one directory entry so that another unlink() request can succeed and fully remove the second entry. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* kernel2: lio_mkfile/dir/symlink können jetzt einen Fehlercode zurückgeben statt nur NULL (woraus immer -EIO wurde) + kernel2: EEXIST zurückgeben, wenn lio_mkfile/dir/symlink mit einem Dateinamen aufgerufen wird, den es im Verzeichnis schon gibt Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* kernel2: get_node_in_dir() ist der Teil von lio_get_resource(), der in einer gegebenen Verzeichnis-Ressource nach einem Eintrag sucht. Das ist auch in anderen Zusammenhängen nützlich. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Zumindest für LIOv2 bekommen wir einen Fehlercode vom Kernel zurück, den könnten wir dann eigentlich auch nach errno schreiben. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! LostIOv2: Wenn Userspace-Services einen Knoten gelöscht haben, dann wurde der zwar beim Kernel abgemeldet und der Speicher freigegeben, aber er wurde nicht aus der Userspace-Liste der Verzeichniseinträge gelöscht. Über kurz oder lang gibt das Rot. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: strerror() hat jetzt für ein paar der wichtigsten errno-Codes richtige Meldungen statt nur "Unbekannter Fehler %d" Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Schreibgeschützte temporäre Dateien sind doof Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 29 Oct, 2016 7 commits
-
-
Kevin Wolf authored
+ setup: Bei den Defaults für die Netzwerkeinstellungen wird jetzt der e1000-Treiber vorgeschlagen, wenn das e1000e-Modell aus qemu da ist. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
We have done everything to support qemu's e1000e emulation now. The only missing part is fixing qemu so that it doesn't zero the buffer address in descriptors after using them. The spec is explicit that the CDI driver is right here and qemu isn't. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The old e1000 models used to clear the interrupt flags in ICR on read, but e1000e doesn't do this any more. Just writing the bits back is fine for both, so let's do just that. Clearing the bits must be done before actually processing the interrupt in order to avoid races with new events. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Checking whether bit 0 has been set in the status field only works for determining whether a descriptor has been used by the NIC if the bit is properly cleared before handing it to the device. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Fix a debug output format string: The buffer address is 64 bits. Also avoid printing a warning for Tx Queue Empty interrupts, these are normal and expected. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The EERD reading function missed that the offset for the EEPROM address differs between e1000 and e1000e, too. Instead of adding yet another parameter to do_read_eerd() that has to be passed by model-specific wrappers, put the parameter directly in the model struct and take them from there. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! libc: Commit 750e999c hat ein kleines "nicht" vergessen und ist daher immer fehlgeschlagen, wenn das seek (das gar nicht da sein sollte) geklappt hat. Das ist weniger geschickt, also machen wir das mal lieber wieder anders. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 15 Sep, 2016 5 commits
-
-
Kevin Wolf authored
Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* libc/Pascal-RTL: Anstatt beim console-Service nach dem Dateinamen für die Standardein- und -ausgabe zu fragen und diese dann neu zu öffnen, werden jetzt LIO-Streams übergeben und im PPB eingetragen. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Ein Syscall, um herauszufinden, wie groß ein SHM-Puffer überhaupt ist (wäre eventuell ganz geschickt bevor man ihn benutzt) Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ kernel2: Neuer Syscall lio_stream_origin(), mit dem sich feststellen lässt, ob ein Stream tatsächlich existiert und von dem Prozess kommt, der das (z.B. in einem RPC-Aufruf) behauptet. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
+ libc: file_get_stream() gibt den LIOv2-Stream zu einem FILE* zurück Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-