Commit Graph

390 Commits

Author SHA1 Message Date
75c519a70c Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized 2023-02-07 19:37:44 +01:00
67768ae7a3 Mark ArpIdentifyProcessor() as unimplemented 2023-02-06 16:15:24 +01:00
9c7d961c5a Architecture specific initialization after processor init is done 2023-02-06 15:53:11 +01:00
385f0e6de0 Not all AMD64 CPUs support large pages and global pages, unfortunately 2023-02-05 22:14:47 +01:00
76f22fbdc4 Initialize segments and processor registers for i686 architecture 2023-02-05 15:45:22 +01:00
911903d0eb Add missing routine description 2023-02-05 10:08:49 +01:00
d6aac59199 Let kernel initialize stack on it's own without relying on boot loader 2023-02-05 09:55:59 +01:00
0b743a5f26 Add stub routine for identifying processor 2023-02-05 00:42:30 +01:00
c6cadbd655 Initialize MXCSR register 2023-02-05 00:30:12 +01:00
5eaf7d63a3 Initialize Page Attribute Table 2023-02-05 00:14:34 +01:00
55cdae7c83 Initialize AMD64 processor registers 2023-02-04 23:40:03 +01:00
f181215341 Initialize segment registers 2023-02-04 00:17:07 +01:00
f37722b6e6 Distinguish ProcessorBlock and ProcessorControlBlock 2023-02-03 19:28:03 +01:00
b90f37dad4 Fill in Interrupt Descriptor Table (IDT) 2023-02-03 18:40:10 +01:00
648ad1636a Cleanup TSS initialization code 2023-02-03 18:27:50 +01:00
269214ed34 Another improvements to GDT 2023-02-03 18:00:37 +01:00
a49d0804ce Add trap handlers for both i686 and amd64 2023-02-02 23:31:32 +01:00
404f2f85c6 Cleanup the Interrupt Stack Table 2023-02-01 23:47:57 +01:00
7fc1f04cd0 TSS entry is already put into GDT table, just initialize it 2023-02-01 23:37:12 +01:00
cbd21ced39 Use a size of the structure, not a pointer 2023-02-01 22:38:36 +01:00
dc1a94b982 This is 'Processor Block' 2023-02-01 22:02:07 +01:00
3522539d4b Initialize Interrupt Descriptor Table (IDT) 2023-02-01 21:56:17 +01:00
1ef205d47b Initialize DoubleFault and NonMaskableInterrupt TSS entries 2023-02-01 20:36:40 +01:00
e2813bcdaa Fix entries in Global Descriptor Table (GDT) 2023-02-01 20:24:55 +01:00
892c9eca86 Do not hardcode I/O map base 2023-01-30 22:38:41 +01:00
a761d3125a Architecture specific initialization prior to processor structures initialization 2023-01-30 20:34:05 +01:00
6f068513cd Initial processor block initialization 2023-01-30 19:07:05 +01:00
bca7ac41b8 Initialize boot CPU structures inside kernel on i686 architecture 2023-01-29 10:54:52 +01:00
7ac434cb99 Move architecture specific globals to external header, as ex. there is no GDT on ARM 2023-01-29 09:48:59 +01:00
ae60753e33 Add missing source files for i686 architecture 2023-01-29 00:52:05 +01:00
7bf4a9ab8d Initialize boot CPU structures inside kernel on AMD64 2023-01-29 00:45:17 +01:00
8733a23b20 Include kernel top header 2023-01-29 00:34:34 +01:00
757560ffeb Do not use EFI RunTime Services in kernel as they are not mapped correctly 2023-01-29 00:32:52 +01:00
9cd9a1eafa Correct typos 2023-01-29 00:25:25 +01:00
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem 2023-01-28 10:34:55 +01:00
d5f9b20b51 Import kernel readme 2023-01-27 22:59:53 +01:00
e94e50b5d9 Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT 2023-01-26 20:08:57 +01:00
b57e79aa7f Proceed with architecture specific initialization 2023-01-25 19:37:13 +01:00
8da38af489 Rename KepInitializeBootStructures() to KepInitializeStack() 2023-01-25 19:28:12 +01:00
3c3e93afc7 Save kernel initialization block earlier 2023-01-25 18:45:08 +01:00
707dc37868 Fix type of Source parameter in HlLoadSegment() routine 2023-01-24 23:08:48 +01:00
35aa514f95 Implement HlLoadSegment() intrinsics routine 2023-01-24 19:27:18 +01:00
d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic 2023-01-23 20:13:51 +01:00
adc6677c9d Code formatting 2023-01-23 20:04:32 +01:00
c81b858757 Implement HlReadGSQuadWord() intrinsic 2023-01-23 19:59:54 +01:00
f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register 2023-01-23 15:26:35 +01:00
9cbe2d458c Initial support for EFI framebuffer 2023-01-23 15:26:35 +01:00
fb60625abc Add more intrinsic routines 2023-01-13 22:32:45 +01:00
12b8c5f539 Switch kernel stack and move boot structures initialization into separate routine 2023-01-08 10:35:49 +01:00
3caca6e1bf Set kernel subsystem to XT_NATIVE_KERNEL 2023-01-06 19:25:21 +01:00