kernel

hobby kernel
git clone git://git.evenfri.xyz/kernel.git
Log | Files | Refs | README | LICENSE

gdt.asm (420B)


      1 bits 32
      2 
      3 global gdt_init
      4 
      5 section .data
      6 align 4
      7 
      8 gdt_desc:
      9   dw gdt_end - gdt - 1 ; limit
     10   dd gdt ; start
     11 
     12 gdt:
     13 gdt_null:
     14   dd 0x00000000
     15   dd 0x00000000
     16 
     17 gdt_code:
     18   dd 0x0000ffff
     19   dd 0x00cf9a00
     20 
     21 gdt_data:
     22   dd 0x0000ffff
     23   dd 0x00cf9200
     24 
     25 gdt_end:
     26 
     27 section .text
     28 
     29 gdt_init:
     30   lgdt [gdt_desc]
     31 
     32   mov ax, 0x10
     33   mov ds, ax
     34   mov es, ax
     35   mov fs, ax
     36   mov gs, ax
     37   mov ss, ax
     38 
     39   jmp 0x08:.clean_pipe
     40 
     41 .clean_pipe:
     42   ret