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