Commit Graph

47 Commits

Author SHA1 Message Date
363e100493
Saving processor features in the processor control block
Fixed correct AMD Family 25 model detection
Fixed procedure for saving processor vendor name (previously corrupted)
Added a debugging print of the processor identification
2024-05-06 17:55:37 +02:00
cf0d23b6fe
Correct a typo causing page fault during int handling after switching to new kernel stack 2024-05-06 16:47:12 +02:00
22693a48d3
Rework trap handling assembly code 2024-04-23 15:07:08 +02:00
3aa0413756
Use common routine to set runlevel 2024-04-19 23:52:21 +02:00
28c89986fb
Tweaks to AMD64 architecture support 2024-04-19 23:37:39 +02:00
92ee74b494
Rework trap handling to access registers 2024-04-19 16:52:37 +02:00
cf408519ad
Initialize AMD64 segments properly 2024-04-17 20:02:27 +02:00
7011d456e9
Fix loading CS segment for AMD64 architecture 2024-04-17 16:48:18 +02:00
4b2d8ded72
No parameters are expected, explicitly 2024-02-20 16:55:12 +01:00
7727888087
Implement ArFlushTlb() routine 2024-02-04 23:43:38 +01:00
9ce841e957
Implement memory barriers 2024-02-04 22:10:37 +01:00
d17b06a180
Register interrupt handlers once the APIC initialization is done 2023-11-28 14:20:23 +01:00
ba6e68e1b5
Fix a bug that caused overwritting a value read from CR8 with a default value 2023-11-26 00:33:46 +01:00
55cc62f5a0
Rename KIRQL to KRUNLEVEL type 2023-11-25 00:32:55 +01:00
71d0608643
Implement ArGetStackPointer() routine 2023-11-19 00:09:16 +01:00
ccd0514416
Implement more CPU-related routines 2023-11-15 14:52:18 +01:00
c5a9253ea8
Implement ArLoadLocalDescriptorTable() routine 2023-03-02 23:04:36 +01:00
dfae0b4727
Implement ArSetGdtEntryBase() routine 2023-03-02 22:51:57 +01:00
e41de62dab
Implement ArYieldProcessor() routine 2023-02-27 17:28:20 +01:00
d427ca20fb
Always include xtos.h in kernel sources 2023-02-20 00:21:52 +01:00
d72002187d
Partially implement ArpIdentifyProcessor() 2023-02-10 17:23:47 +01:00
e645cf664c
Set process and thread information in processor control block 2023-02-09 17:30:24 +01:00
47f399e987
Set current process and thread in processor control block 2023-02-09 00:02:45 +01:00
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
385f0e6de0
Not all AMD64 CPUs support large pages and global pages, unfortunately 2023-02-05 22:14:47 +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
b90f37dad4
Fill in Interrupt Descriptor Table (IDT) 2023-02-03 18:40:10 +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
3522539d4b
Initialize Interrupt Descriptor Table (IDT) 2023-02-01 21:56:17 +01:00
e2813bcdaa
Fix entries in Global Descriptor Table (GDT) 2023-02-01 20:24:55 +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
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
27e2fdf4f2
Introduce architecture library as new kernel subsystem and move selected routines into new subsystem 2023-01-28 10:34:55 +01:00