Commit Graph

134 Commits

Author SHA1 Message Date
Nicolas Hordé b565d073c7 fix: execution du setup en mode reel fonctionnel, erreur sur A20 2019-01-14 14:54:50 +01:00
Nicolas Hordé 9da86c9057 feat: première compilation de noyau composite sans l'intégration de la décompression du noyau 2019-01-02 15:47:56 +01:00
Nicolas Hordé 32af566aec feat: ajout de mkpiggy du noyau Linux et mise en place d'un noyau composite basé sur Linux 2019-01-01 13:30:06 +01:00
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é 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é 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é 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é 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é 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é 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é 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é 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é 812e3c0bed feat: ajustement des fonctions multiboot 2018-11-14 22:23:10 +01:00
Nicolas Hordé 8b2fa6ae68 feat: ajout des class/subclass PCI dans la detection 2018-11-12 09:49:00 +01:00
Nicolas Hordé 852509789d fix: correction detection pci 2018-11-09 16:44:56 +01:00
Nicolas Hordé 42f87229ad fix: ajout detection PCI & correction video.c : fonction line & hline 2018-11-08 22:12:51 +01:00
Nicolas Hordé 35ae3559db feat: ajout 3d fil de fer et fonction show3dmodel, cube utilise model3d 2018-11-01 19:19:29 +01:00
Nicolas Hordé c773880c2e feat: fonction load3ds terminée pour chargement d'un modèle 3D sans texture, à tester 2018-11-01 01:12:30 +01:00
Nicolas Hordé 5f526bf2b7 feat: ajout fichier 3DS, et debut écriture fonction de chargement fichier 3DS 2018-10-30 19:21:18 +01:00
Nicolas Hordé c4e4462313 feat: commentaires dans matrix, réarrangement de 2d.c dans video.c & création de 3d.c : première version cube en point dans test3d 2018-10-26 14:09:43 +02:00
Nicolas Hordé f705b5fe3d fix: correction affichage video et ajout des fonctions matricielles, trigonométriques et mathématiques diverses 2018-10-19 10:13:29 +02:00