I had set the gdt table using this data And I do mov $16, %eax ; mov %eax, %ds to load DS with a GDT entry. Now I change the gdt_table, or just se ...
I had set the gdt table using this data And I do mov $16, %eax ; mov %eax, %ds to load DS with a GDT entry. Now I change the gdt_table, or just se ...
So, I am beginning the development of a x86_64 hobby kernel and I found this code to load the GDT (Global Descriptor Table), but I don't understand wh ...
In a 64 bit program the selector:offset used to get the stack protector is fs:0x28, where fs=0. This poses no problem because in 64 bit we have the MS ...
Is there an agreed upon convention for operating systems specifying what each table index should describe? For example, on Windows systems (as describ ...
Contents I want to jump to diskette_initialisation with the jmp instruction after executing the lgdt instruction, but it crashes What is the cau ...
I've searched up on a lot on the net and every time I can only find the sizes of GDT, LDT and IDT. Here I'm not asking for the size of the table, but ...
I'm writing a little kernel in c for x86 platform, but I'm having trouble to load the gdt and reload the segment selectors. I am using bochs to test ...
In bootasm.S And this is used in Shouldn't the first word of gdtdesc be the size of gdt in bytes? In this case, it's 3*8=24, which equals to gdt ...
I am writing a 64 Bit UEFI OS ( GNU-EFI - Bootloader ). I am wondered about User Mode and Kernel Mode in OS, I have to Implement User Mode and Kernel ...
In case this helps somebody in the future: check if the global descriptor table is working check if the elements of page table entry struct are ...
I am trying to set up the GDT in rust and global asm but it seems to triple fault when I try to load the GDT. global_asm!(include_str!("load_gdt.as ...
I am making an OS mostly in C++, but for the bootloader, I'm using FASM. When I try to set the GDT, Qemu clears the screen and re-prints "SeaBIOS" at ...
I'm new to all this, so I apologize in advance if I missed something really obvious So, I'm trying to make a simple kernel in x86 assembly and C. I w ...
After a long read, I am really confused. From what I read: Modern OS does not use segments at all. The GDT is used to define a segment in the m ...
In the article on the GDT the OSDev wiki describes the flag that is used as D bit for CS descriptors as follows: Sz: Size bit. If 0 the selector d ...
I read that LDT (Local Descriptor Table) does not exist in 64-bit architecture and was wondering how a 32-bit system that uses it is emulated. ...
Assuming the CPU is in protected mode: When a ring-0 kernel sets up a ring-3 userspace process, which CPU-level datastructure does it have to modify ...
In a typical simple bootloader writing for x86, we have the following code to load the GDT and perform a far jump (note that CS is 0x0 before executin ...
What will happen if the GDT is changed as the program is executing? Is there any physical register or anything else that monitors whether the GDT is c ...
I know how a GDT (Global Descriptor Table) is implemented and the use of segment registers and segment descriptors. However how/when is a GDT entry ac ...