Commit Graph

884 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
f8d2ccc0d0
Add more debugging macros 2023-02-06 16:10:32 +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
2ba42c5270
Update ideas 2023-02-05 13:23:11 +01:00
911903d0eb
Add missing routine description 2023-02-05 10:08:49 +01:00
707c92e08a
Boot loader no longer needs to do anything related to the stack 2023-02-05 10:03:21 +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
19f34d4b17
Cleanup the code 2023-02-02 19:42:57 +01:00
715f875c4f
Set alignment and packing properly 2023-02-02 17:01:18 +01:00
2e2b01742a
Definitions for setting structures alignment and packing 2023-02-02 15:47:21 +01:00
73fc7607cd
There is no need to specify alignment of the structure in the forward reference 2023-02-02 15:37:57 +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
21fbe6febe
Add IDT related definitions 2023-02-01 20:14:10 +01:00
5bbda188c6
IDT access levels and gate types 2023-02-01 00:51:13 +01:00
9a1e9b1084
Define TSS offsets 2023-01-30 23:43:10 +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
ebe6792f2b
Add MSR (Model Specific Registers) values 2023-01-30 17:59:00 +01:00
d3376ce33b
This is no longer an idea 2023-01-29 22:33:12 +01:00
2bf15a5bb8
Fix pointer offset in PE relocation code 2023-01-29 20:38:05 +01:00
ddffd0c582
Temporary kernel stack is no longer used 2023-01-29 11:08:51 +01:00
df11473eac
Cleanup xtldr code as it no longer need to initialize CPU structures 2023-01-29 10:59:22 +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
79a5027bca
Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel 2023-01-29 01:01:36 +01:00
ce4e590347
Add missing forward declaration of ArInitializeProcessor() routine 2023-01-29 00:57:06 +01:00
900e71459a
Add missing x86 descriptor sizes 2023-01-29 00:54:36 +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