Commit Graph

126 Commits

Author SHA1 Message Date
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
Nicolas Hordé f4b3ea6c10 fix: correction couleurs vers 32 bits maximum, mise en place du deboguage pas a pas. 2018-10-16 21:56:39 +02:00
Nicolas Hordé d0d125bbf8 feat: changement de police a chaud en mode graphique et commande shell, reste à implementer le mode texte 2018-10-14 19:14:19 +02:00
Nicolas Hordé 09e4ebbb38 fix: correction conversion EGA->RGB et decodage caractère...Reste bogue 2018-10-14 16:18:51 +02:00
Nicolas Hordé 8863c798fc fix: correction couleur EGA->VGA->RGB et erreur pilote VESA 2018-10-14 11:14:34 +02:00
Nicolas Hordé 03aa538dc9 fix: framebuffer ok sans UEFI, debogue simplifié 2018-10-14 09:58:34 +02:00
Nicolas Hordé c179f61bff feat: mode vesa balbutiant, mauvaise gestion RGB ajout de modules dans GRUB non uefi 2018-10-13 17:17:40 +02:00
Nicolas Hordé 26faaf8713 feat: preparation du pilote VESA 2018-10-13 13:42:13 +02:00
Nicolas Hordé aac62edd51 feat: mode 320x200 chained fonctionnel 2018-10-13 13:23:00 +02:00