Commit Graph

45 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
22693a48d3 Rework trap handling assembly code 2024-04-23 15:07:08 +02:00
9f2279f28f Use common way of setting initial runlevel across architectures 2024-04-19 23:56:33 +02:00
92ee74b494 Rework trap handling to access registers 2024-04-19 16:52:37 +02:00
8aa33874ff Initialize CS segment on i686 architecture 2024-04-17 18:27:57 +02:00
b31aa82872 Fix loading CS segment for i686 architecture 2024-04-17 16:46:03 +02:00
4b2d8ded72 No parameters are expected, explicitly 2024-02-20 16:55:12 +01:00
e409675f98 Always use RtlSetMemory() to fill a buffer with a specified pattern 2024-02-20 16:16:32 +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
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
35aa26e0e9 Add missing documentation comment block 2023-11-15 15:50:33 +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
a32e18b237 Implement ArReadFSDualWord() routine 2023-02-07 23:19:22 +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
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
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
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
ae60753e33 Add missing source files for i686 architecture 2023-01-29 00:52:05 +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