aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/include
AgeCommit message (Collapse)AuthorFilesLines
2025-04-05add wip context switch to user modeFabian Imhof3-32/+23
2025-04-04Multiplication by two for segment selector indexMatteo Gmür1-2/+6
2025-04-03add documentation to interrupt handlerFabian Imhof1-10/+15
2025-04-02fix interrupt handler and idtFabian Imhof2-6/+7
2025-04-01Fix invalid type field of gate descriptorMatteo Gmür2-3/+5
2025-03-31Improve create_segment readabilityMatteo Gmür4-18/+46
2025-03-31Clean up global descriptor table initalizationMatteo Gmür5-17/+40
2025-03-29fix gdt segments, improve idt and trial&error for triple faultFabian Imhof5-30/+51
2025-03-28gdt: fix reload of GDTFelix Morgner4-12/+18
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-28Attempt to fix ljmp. Might not be possible in Long modeMatteo Gmür2-4/+4
2025-03-28Revert "update long jump handling"Matteo Gmür1-1/+1
This reverts commit 9ddfcd02413a93718e8cde53f9ba5a96a5b29b8f.
2025-03-27update long jump handlingFabian Imhof1-1/+1
2025-03-27Attempt to fix crash in far jump. WIP does not return from call to assembler ↵Matteo Gmür4-10/+22
method
2025-03-26Fixing pointer values and adding basic idt valueMatteo Gmür1-2/+4
2025-03-25Implement idtr structure and document possible flags.Matteo Gmür16-96/+275
2025-03-25Adjust file structure and fix compilation issuesMatteo Gmür17-112/+109
2025-03-20begin implementation of IDTFabian Imhof8-0/+175
2025-03-18Fix invalid bit values in access byte and typo in create_segment_descriptor ↵Matteo Gmür1-5/+5
method
2025-03-17Fix issue in vectorMatteo Gmür5-18/+77
2025-03-16Adjust task state segment structMatteo Gmür1-21/+14
2025-03-16add commentFabian Imhof1-1/+1
2025-03-16start implementing TSSFabian Imhof4-3/+110
2025-03-15Use empty bit field to implement reservedMatteo Gmür1-1/+1
2025-03-15temporarily make all page table entries user accessibleFabian Imhof1-1/+1
2025-03-15implement loading of gdtr registerMatteo Gmür15-160/+129
2025-03-14Fix header recursion problemMatteo Gmür3-15/+14
2025-03-13fixup typing and continue adding gdtFabian Imhof9-23/+40
2025-03-13Merge branch 'feat_inital_context_switching' of ↵Fabian Imhof1-5/+8
ssh://gitlab.ost.ch:45022/teachos/kernel into feat_inital_context_switching
2025-03-13IN_PROGRESS implement gdt initializationFabian Imhof8-13/+111
2025-03-13Fix segment descriptor bit order of private membersMatteo Gmür1-5/+8
2025-03-13create GDT and fix segment descriptor bit orderFabian Imhof5-40/+68
2025-03-10Implement segment descriptorMatteo Gmür4-12/+12
2025-03-10Adjust segment descriptor to use defined helpersMatteo Gmür1-27/+27
2025-03-10Adjust register segment descriptors to possible statesMatteo Gmür5-60/+157
2025-03-09Adjust comments and implement remaining interface for STL classes.Matteo Gmür3-94/+162
2025-03-09add doxygen comments to shared and unique pointerFabian Imhof2-3/+161
2025-03-04Add more methods to vector to mimic stl interface partially.Matteo Gmür2-86/+297
2025-02-27add commentFabian Imhof1-0/+5
2025-02-27start segment_descriptorFabian Imhof2-3/+44
2025-02-27add descriptor_table access_byteFabian Imhof2-0/+87
2025-02-27Add files to cmake and implement gdt flagsMatteo Gmür1-0/+68
2025-02-27Merge remote-tracking branch 'origin/develop_ba' into ↵Fabian Imhof8-30/+385
feat_inital_context_switching
2025-02-27Add inital empty files for GDTMatteo Gmür4-0/+0
2025-02-27remove interrupt.hppFabian Imhof1-26/+0
2025-02-27add smart pointersFabian Imhof2-0/+188
2025-02-25Create inital custom version of c++ vectorMatteo Gmür1-0/+193
2025-02-24Add noexpect to deallocate callsMatteo Gmür4-4/+4
2025-02-23Adjust linked list allocator to allow for deallocation without passing size ↵Matteo Gmür4-34/+13
parameter and with arbitrary size
2025-02-21Add documentation to new componentsMatteo Gmür4-7/+68
2025-02-21Update factory method codeMatteo Gmür4-28/+11