Commit Graph

241 Commits

Author SHA1 Message Date
Nicolas Hordé 21bc3d2e3d feat: ajout de code en realmode pour initialisation du pmode et préparation du chargement du noyau 2018-12-30 12:25:20 +01:00
Nicolas Hordé 620f63d101 feat: bascule vers le format de noyau linux afin de bénéficier des outils de chargement qui vont bien 2018-12-27 14:24:47 +01:00
Nicolas Hordé e3d708850d fix: correction du scheduling 2018-12-26 00:54:19 +01:00
Nicolas Hordé 75a8602c5b fix: correction PS pour avoir TOUTES les tâches 2018-12-25 19:39:40 +01:00
Nicolas Hordé c894b99170 fix: pS permettant de visualiser l'ensemble de tâches et processus, corrections asm.h 2018-12-25 19:22:56 +01:00
Nicolas Hordé 6776594ece fix: mise en place d'une commande PS, correction de bogues 2018-12-22 00:19:34 +01:00
Nicolas Hordé 945bca37b5 feat: ajout d'une interruption 20 qui permet de faire un DUMP du cpu sur l'écran 2018-12-20 17:16:51 +01:00
Nicolas Hordé eff52c8853 feat: scheduling opérationnel mais subsiste des bogues inconnus 2018-12-20 16:29:04 +01:00
Nicolas Hordé 74b0b4e2e9 fix: corrections...erreur lors du switch vers la tache de tid 1.1 dans restcpu_kernel 2018-12-19 23:31:13 +01:00
Nicolas Hordé 11428c2415 feat: wrapper pour interruptions et pour l'IRQ0 (Scheduler+Timer) et début d'implémentation du scheduling 2018-12-19 16:13:47 +01:00
Nicolas Hordé dd3e40d53e feat: gestion des processus & tâches, compilation ok mais système figé au démarrage 2018-12-19 12:06:05 +01:00
Nicolas Hordé d2f28e6795 feat: reprise de la gestion des tache / processus et ajout du multithreading, ne compile pas 2018-12-19 07:34:44 +01:00
Nicolas Hordé 0af99c069b feat: ajout de wrappers pour SYSENTER et pour toutes les exceptions. Génération automatique des API par métadonnées dans le source. 2018-12-16 01:50:03 +01:00
Nicolas Hordé 3c3f0bb88e feat: suppression de NASM en tant qu'assembleur et utilisateur de GAS, bascule des handlers sur un nouveau fichier et modification progressive des interruptions/exceptions 2018-12-15 19:13:26 +01:00
Nicolas Hordé ddfba60973 feat: génération semi-automatique des SYSCALL pour le RING3 à partir d'un script python, encore instable 2018-12-14 01:06:37 +01:00
Nicolas Hordé deea5829d3 fix: correction du bogue de memoire dans process.c allocation des processes 2018-12-12 18:49:21 +01:00
Nicolas Hordé 81e7dcaa50 feat: première tâche en mode user totalement fonctionnelle avec préemption par sysenter/sysexit, pas de libération des ressources. Ajout de 2 fonctions API utilisateur 2018-12-12 17:57:23 +01:00
Nicolas Hordé 3c7ddafc2d refactor: ajout d'information dans les fichiers MD, réindentation des fichiers, corrections de bogues 2018-12-12 15:25:04 +01:00
Nicolas Hordé 89ac2cc30f build: correction erreur makefile manquant dans final 2018-12-12 13:47:08 +01:00
Nicolas Hordé c0b832ceed build: correction erreur makefile 2018-12-12 12:37:19 +01:00
Nicolas Hordé 6cdfbcdd28 build: mise à jour des makefile pour indent correct et permissions/format harmonisé 2018-12-12 12:31:30 +01:00
Nicolas Hordé 524af1729c feat: avancement de la création de tâche/processus 2018-12-12 10:14:31 +01:00
Nicolas Hordé 69fa9567a1 feat: fonction task_switch & task_run passe en mode utilisateur RING0 mais plantage lors de l'execution 2018-12-12 00:15:36 +01:00
Nicolas Hordé dd70f75ab8 feat: reprise des fonctions de sauvegarde des registres pour task_switch 2018-12-11 17:00:19 +01:00
Nicolas Hordé 12aacb33f1 fix: correction de la fonction createdump 2018-12-10 19:16:52 +01:00
Nicolas Hordé 44d5634532 fix: préparation au basculement de tâche par la pile fonction task_switch, correction à apporter dans la gestion de la mémoire 2018-12-10 19:12:20 +01:00
Nicolas Hordé a31cf264c3 feat: compilation du noyau en code non relocalisable, commande task_create quasi terminée. Allocation dynamique de page pour les programmes utilisateurs dans exception14 (PGFAULT) 2018-12-10 17:03:52 +01:00
Nicolas Hordé f0f36a0f5c docs: preparation de la compilation de programmes en USER MODE (ring 3), ajout documentation API et librairies 2018-12-09 13:44:32 +01:00
Nicolas Hordé ac537030a3 feat: gestion des tâches, compilation ok, mise en place d'un test par le pseudo-interpréteur, commande : testtask 2018-12-09 11:11:39 +01:00
Nicolas Hordé 11071e5bbd feat: ajout de process.h/c pour la gestion de la création de tâche/processus, non compilable 2018-12-09 00:40:25 +01:00
Nicolas Hordé 8d3da6480a feat: test de syscall, implémentation sous forme de macro et handler opérationnel 2018-12-05 16:42:25 +01:00
Nicolas Hordé 3129b5edcc fix: passage de Frame-omit-pointer à Stack Frame avec EBP, corrections multiple : exceptions ok et deboguage opérationnel 2018-12-05 14:00:43 +01:00
Nicolas Hordé 9041832823 feat: test sans --fomit-frame-pointer, travail sur sysexit 2018-12-04 21:57:44 +01:00
Nicolas Hordé e87aedb02e feat: debut implémentation de sysenter / sysexit et test depuis shell.c 2018-12-04 00:05:55 +01:00
Nicolas Hordé 4ce5c7333c fix: correction fonction bestdriver dans video.c 2018-12-03 23:16:04 +01:00
Nicolas Hordé b8e26a000b fix: correction Xprintf avec %% BIS et augmentation du test avec 150mo de RAM 2018-11-30 19:19:52 +01:00
Nicolas Hordé 73c70d20bd fix: correction gestion mémoire virtuelle & malloc, fonction testmem opérationnelle. Correction Xprintf avec %% 2018-11-30 19:06:22 +01:00
Nicolas Hordé b6e2ead659 fix: correction HEAP de page et ajout d'information concernant les pages et la mémoire utilisée 2018-11-30 11:27:45 +01:00
Nicolas Hordé 4f92e419e2 feat: ajout d'une commande MEM et de plusieurs fonctions donnant des indications sur la mémoire 2018-11-29 21:23:41 +01:00
Nicolas Hordé 4a6b7542fc docs: mise à jour du README.md bis 2018-11-29 17:09:59 +01:00
Nicolas Hordé 5d22ec2d48 docs: mise à jour du README.md 2018-11-29 17:07:08 +01:00
Nicolas Hordé ed4e577086 fix: suppression de la gestion de la disquette, ajout du déboguage avec Bochs, correction initialisation du FPU au démarrage, changement de modèle 3D 2018-11-29 16:45:40 +01:00
Nicolas Hordé 6fa1bd6c2e fix: remapping en mode paginé du Framebuffer dans l'espace noyau, correction diverses malloc...etc 2018-11-29 13:42:07 +01:00
Nicolas Hordé f399a6bf5c feat: compilation réussi des fonctions de pagination, manque FB VESA non paginé 2018-11-27 16:56:21 +01:00
Nicolas Hordé b6f238ff8a feat: gestion mémoire paginée, ajout de nouvelles fonctions 2018-11-25 23:34:38 +01:00
Nicolas Hordé f0a64729ee feat: mémoire paginée... 2018-11-23 09:00:59 +01:00
Nicolas Hordé 6acbddab8d feat: brouillon de gestion de mémoire paginée avec usage de TAILQ de Freebsd, ne fonctionne pas...@ suivre 2018-11-22 17:21:15 +01:00
Nicolas Hordé f04bb66ec8 fix: correction sur la réservation/liberation de mémoire physique (bitmap), limitation à 4Go de RAM en 32 bits 2018-11-21 17:25:00 +01:00
Nicolas Hordé c91c2a1e45 feat: ajout d'un bitmap pour la gestion fine de la mémoire physique libre 2018-11-16 15:57:34 +01:00
Nicolas Hordé 1a28e6ce45 fix: correction du disque UEFI pour test 2018-11-15 15:14:22 +01:00