Commit Graph

97 Commits

Author SHA1 Message Date
9132c47cd9 Initial process and thread related structures 2023-02-08 23:40:58 +01:00
a32e18b237 Implement ArReadFSDualWord() routine 2023-02-07 23:19:22 +01:00
5eaf7d63a3 Initialize Page Attribute Table 2023-02-05 00:14:34 +01:00
f37722b6e6 Distinguish ProcessorBlock and ProcessorControlBlock 2023-02-03 19:28:03 +01:00
269214ed34 Another improvements to GDT 2023-02-03 18:00:37 +01:00
dc1a94b982 This is 'Processor Block' 2023-02-01 22:02:07 +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
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
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
27e2fdf4f2 Introduce architecture library as new kernel subsystem and move selected routines into new subsystem 2023-01-28 10:34:55 +01:00
e94e50b5d9 Implement HlLoadInterruptDescriptorTable() intrinsics for loading IDT 2023-01-26 20:08:57 +01:00
3ad3149f80 Add descriptor structure definition 2023-01-25 17:42:35 +01:00
bfc9db8b6d Unify KGDTENTRY and KIDTENTRY between architectures as much as possible 2023-01-25 17:35:03 +01:00
3ee759cc27 i686 Interrupt request levels definitions 2023-01-25 17:18:27 +01:00
7bd67d6210 Add GDT and Segments related definitions for i686 2023-01-25 17:13:24 +01:00
707dc37868 Fix type of Source parameter in HlLoadSegment() routine 2023-01-24 23:08:48 +01:00
35aa514f95 Implement HlLoadSegment() intrinsics routine 2023-01-24 19:27:18 +01:00
d3d8d144a0 Implement HlLoadGlobalDescriptorTable() intrinsic 2023-01-23 20:13:51 +01:00
f20ab3e52e Implement HlLoadTaskRegister() for loading TSS segment selector into task register 2023-01-23 15:26:35 +01:00
fb60625abc Add more intrinsic routines 2023-01-13 22:32:45 +01:00
ca1d7ddfe8 Basic context, frames and exceptions definitions 2023-01-07 23:36:50 +01:00
f74ba62f24 Add GDT, IDT and TSS related structures 2023-01-07 13:33:16 +01:00
674e69da0e Cleanup useless externals 2023-01-05 23:38:58 +01:00
712de4e4e4 XTDK contains headers uniquely identified 2023-01-05 23:28:43 +01:00
3250ad67aa Rename header file 2023-01-05 23:09:54 +01:00
3131aac7a9 Move serial ports I/O address to architecture specific header 2023-01-05 15:58:36 +01:00
b7e5f1b5c1 Use CR constants instead of hardcoded values 2023-01-04 16:33:28 +01:00
9dc0e60f28 We support EFI-enabled systems only and such machines should support PAE, so there is no need for XTLDR to support non-PAE x86 hardware 2022-12-28 15:57:03 +01:00
fcfa575bff Implement HlReadTimeStampCounter() routine 2022-12-27 23:28:27 +01:00
f46615f92c Implement HlInvalidateTlbEntry(), HlReadModelSpecificRegister() and HlWriteModelSpecificRegister() routines 2022-12-27 23:19:33 +01:00
602d89ef27 Fixes in HlIoPortInShort() and HlIoPortInLong() routines 2022-12-27 22:43:19 +01:00
9828b23400 Implement HlIoPortInShort(), HlIoPortInLong(), HlIoPortOutShort() and HlIoPortOutLong() routines 2022-12-27 22:26:45 +01:00
5b75d005a7 Implement HlClearInterruptFlag() and HlSetInterruptFlag() intrinsic routines 2022-12-27 18:54:01 +01:00
93ad0b4ea0 Set valid calling convention for HAL routines 2022-12-23 14:41:11 +01:00
3ab1695968 Common routines for reading from and writing to CPU control registers 2022-12-23 14:30:52 +01:00
6c4496f839 KERNEL_STACK_SIZE should be expressed in bytes as the name suggests, calculate number of pages where needed 2022-12-21 22:24:16 +01:00
7c38efc802 Update boot sequence and check PE/COFF image machine type compatibility 2022-12-20 19:11:15 +01:00
9f4db475bb Implement HlHalt() intrinsic routine and add basic definitions for kernel services 2022-12-11 23:09:35 +01:00
0572b208f1 Add full paging support for AMD64 and i686 architectures, including PAE support 2022-12-11 20:14:04 +01:00
324a88cc01 Implement HlCpuId() routine and corresponding structures for issueing CPUID instruction 2022-12-11 17:40:56 +01:00
93fa2aed67 Implement BlMapVirtualMemory() routine for recursive mapping 2022-12-06 23:32:31 +01:00
b89121fded Implement routines for accessing and manipulating CPU control registers 2022-12-02 23:03:42 +01:00
35f2c67138 Basic XT structures 2022-07-29 16:31:59 +02:00