aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-04-10fix context_switch functionFabian Imhof1-8/+9
2025-04-07Fix naming from jmp to call for Far CallMatteo Gmür6-30/+17
2025-04-07Adjust idt flags bitsetMatteo Gmür1-2/+2
2025-04-06wip context switch in asmFabian Imhof3-11/+50
2025-04-05add wip context switch to user modeFabian Imhof9-61/+96
2025-04-05fix segment_selectorFabian Imhof1-1/+1
2025-04-04Multiplication by two for segment selector indexMatteo Gmür3-4/+8
2025-04-03add documentation to interrupt handlerFabian Imhof1-10/+15
2025-04-02fix interrupt handler and idtFabian Imhof6-16/+19
2025-04-01Fix invalid type field of gate descriptorMatteo Gmür2-3/+5
2025-03-31Add missing flag to idt entry.Matteo Gmür1-8/+13
2025-03-31Improve create_segment readabilityMatteo Gmür11-58/+106
2025-03-31Clean up global descriptor table initalizationMatteo Gmür11-77/+100
2025-03-29remove empty lineFabian Imhof1-1/+0
2025-03-29fix gdt segments, improve idt and trial&error for triple faultFabian Imhof14-63/+113
2025-03-29Merge branch 'fmorgner/patch-context-switching' into ↵Fabian Imhof9-29/+42
'feat_inital_context_switching' Fix GDT and CS reload See merge request teachos/kernel!5
2025-03-28gdt: fix reload of GDTFelix Morgner8-29/+39
The core problems were/are the following: - The flags of the segments were not entirely correct. Please recheck them against the spec! - The GDT pointer did not contain the address of the first (null) GTD entry, but the address of the stl::vector containing the GDT entries. - The far pointer must consist of: - the address to jump to - the byte index into the GDT for the desired segement descriptor to be loaded into CS. - The type of the "dummy" function we jump to was wrong (it's a function, we should declare it as such). - We cannot enable interrupts right now, since we die with a triple fault. This is caused by some initia fault which seems to lead to a general protection fault, which then triple faults since we cannot find the IDT. Some FIXMEs have been added to the code. Please look at them carefully and compare things against the specs.
2025-03-28ide: disable reboot on crash and add more infoFelix Morgner1-0/+3
We don't necessarily want to end up in a boot loop when debugging. Additionally, when can have QEMU dump the machine state on crashes, as well as tell us which interrupts occur.
2025-03-28Attempt to fix ljmp. Might not be possible in Long modeMatteo Gmür5-10/+10
2025-03-28Revert "update long jump handling"Matteo Gmür5-20/+19
This reverts commit 9ddfcd02413a93718e8cde53f9ba5a96a5b29b8f.
2025-03-27update long jump handlingFabian Imhof5-19/+20
2025-03-27Attempt to fix crash in far jump. WIP does not return from call to assembler ↵Matteo Gmür9-32/+37
method
2025-03-26add llm suggestion to idt creationFabian Imhof1-13/+16
2025-03-26Fixing pointer values and adding basic idt valueMatteo Gmür3-5/+26
2025-03-25Implement idtr structure and document possible flags.Matteo Gmür26-188/+425
2025-03-25Adjust file structure and fix compilation issuesMatteo Gmür34-222/+215
2025-03-20begin implementation of IDTFabian Imhof19-43/+310
2025-03-18Attempt to add calls that Reload code segment and data segment registerMatteo Gmür1-0/+31
2025-03-18Fix invalid bit values in access byte and typo in create_segment_descriptor ↵Matteo Gmür2-6/+6
method
2025-03-17Debug and adjust load task register assembly call. WIPMatteo Gmür3-25/+27
2025-03-17Fix issue in vectorMatteo Gmür8-36/+92
2025-03-16Adjust task state segment structMatteo Gmür1-21/+14
2025-03-16Move base value out into variableMatteo Gmür1-3/+4
2025-03-16add commentFabian Imhof2-2/+1
2025-03-16start implementing TSSFabian Imhof9-43/+201
2025-03-15Merge branch 'feat_inital_context_switching' of ↵Fabian Imhof2-3/+1
ssh://gitlab.ost.ch:45022/teachos/kernel into feat_inital_context_switching
2025-03-15create TSS descriptorFabian Imhof1-0/+10
2025-03-15Use empty bit field to implement reservedMatteo Gmür2-3/+1
2025-03-15temporarily make all page table entries user accessibleFabian Imhof2-3/+10
2025-03-15resolve merge conflictFabian Imhof0-0/+0
2025-03-15implement loading of gdtr registerMatteo Gmür28-242/+210
2025-03-15Fix size of segment descriptor using bit fields and struct packingMatteo Gmür26-229/+152
2025-03-14Fix header recursion problemMatteo Gmür5-24/+23
2025-03-13fixup typing and continue adding gdtFabian Imhof17-46/+77
2025-03-13Merge branch 'feat_inital_context_switching' of ↵Fabian Imhof2-11/+18
ssh://gitlab.ost.ch:45022/teachos/kernel into feat_inital_context_switching
2025-03-13IN_PROGRESS implement gdt initializationFabian Imhof17-65/+219
2025-03-13Fix segment descriptor bit order of private membersMatteo Gmür2-11/+18
2025-03-13create GDT and fix segment descriptor bit orderFabian Imhof10-46/+141
2025-03-10Implement segment descriptorMatteo Gmür6-33/+30
2025-03-10Adjust segment descriptor to use defined helpersMatteo Gmür3-27/+41