Commit Graph

85 Commits

Author SHA1 Message Date
d0577611ca Move asm headers 2025-09-19 13:47:18 +02:00
4c380bae1c Fix build by replacing leftover Ar calls 2025-09-19 13:29:15 +02:00
1b0468f742 Fix build by replacing leftover Ar calls 2025-09-19 13:26:26 +02:00
e7425de523 Drop C wrappers and switch to C++ API 2025-09-19 12:56:06 +02:00
fabf3a3a5e Replace all occurrences of NULL with NULLPTR for unified C and C++ null pointer handling 2025-09-16 15:59:56 +02:00
307ec1794c Clean up after migration to C++ 2025-09-16 14:20:20 +02:00
f4561c1f4f Remove leftover old headers and fix missed spots 2025-09-16 08:46:53 +02:00
ee97388981 Switch i686 processor structures setup to use class data 2025-09-15 22:50:52 +02:00
4592955da1 Migrate HL subsystem to C++ 2025-09-13 19:15:13 +02:00
3a11d536d5 Refactor AR subsystem 2025-09-11 20:23:51 +02:00
4947f788d5 Migrate KE subsystem to C++ 2025-09-09 23:20:50 +02:00
3f5f57ef12 Remove leftover test code 2025-09-08 15:44:12 +02:00
c8dc2a1407 Migrate AR subsystem to C++ 2025-09-08 15:29:13 +02:00
c4a7df6f38 Extract trampoline code into a separate file 2025-08-20 20:20:35 +02:00
2468d80078 Add trampoline to enable 5-level paging 2025-08-20 00:20:10 +02:00
e8771dfc5b Use __asm__ to comply with disabled GNU extensions 2025-08-15 00:32:56 +02:00
d806c8e1f2 Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:12:06 +02:00
2ea306097d Resolve compilation errors due to renamed CPUID requests 2025-08-10 17:10:01 +02:00
ff41b0d4f7 Fix incorrect TSS descriptor limit according to architecture specification 2025-07-28 18:25:47 +02:00
740df726e9 Implement ArInterruptsEnabled() routine 2024-05-17 23:19:25 +02:00
5591e1b377 Fix ArGetCpuFlags() routine 2024-05-17 23:16:16 +02:00
9f1a4f0ced Compose the AMD family and model IDs according to the AMD CPUID manual, section 2 2024-05-14 19:39:07 +02:00
2a8cc7397e Implement ArGetCpuFlags() routine 2024-05-14 16:26:02 +02:00
38b0b2ac7d Use correct stack when using preallocated processor structures 2024-05-08 15:57:24 +02:00
3c3a756771 Allow to initialize CPU with allocated processor structures 2024-05-08 00:02:47 +02:00
2c384d780f Fix storing CPU vendor name in PRCB 2024-05-06 20:01:19 +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
9f2279f28f Use common way of setting initial runlevel across architectures 2024-04-19 23:56:33 +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
8aa33874ff Initialize CS segment on i686 architecture 2024-04-17 18:27:57 +02:00
7011d456e9 Fix loading CS segment for AMD64 architecture 2024-04-17 16:48:18 +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
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
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