Commit Graph

874 Commits

Author SHA1 Message Date
edbc2cc045
Initialize architecture specific hardware extensions 2024-05-22 22:53:29 +02:00
609538b9be
Implement MmpGetPdeAddress() and MmpGetPteAddress() routines for i686 architecture as well as MmpMemoryExtensionEnabled() for checking PAE/LA57 support 2024-05-22 22:47:28 +02:00
4db5425238
Add PHYSICAL_ADDRESS type definition 2024-05-22 18:52:57 +02:00
03727a61d3
Implement hardware layer pool memory management 2024-05-22 18:51:09 +02:00
28903e0c10
Add missing forward reference for AcGetAcpiTable() routine 2024-05-20 15:34:49 +02:00
500498508e
Rename PACK definition 2024-05-20 15:34:15 +02:00
ac33b86c3d
Implement AcGetAcpiTable() routine 2024-05-19 23:45:28 +02:00
4931f1b9a3
Cleanup loader information block after switching to system resources 2024-05-18 17:32:56 +02:00
c17f6a95d4
Use relative path in debug output 2024-05-18 17:30:11 +02:00
34cc81c446
Provide framebuffer information via system resource 2024-05-18 17:06:44 +02:00
2103b2dafd
Make sure frame buffer is initialized before drawing 2024-05-18 16:57:38 +02:00
d2014a5e82
Use HlpRGBColor() internally 2024-05-17 23:29:03 +02:00
811b173387
Re-enable interrupts only if they were enabled previously 2024-05-17 23:24:04 +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
41bc673694
Initialize framebuffer device based on a system resource provided by boot loader 2024-05-17 22:37:42 +02:00
8a15d46198
Initialize system resource as soon as possible 2024-05-17 22:31:29 +02:00
1e2efce26a
Add a system resources list to the initialization block 2024-05-16 23:20:57 +02:00
74c1b03a6b
Implement a system resources management routines 2024-05-16 23:08:59 +02:00
058649036f
Take care about blink first, otherwise BlPhysicalListToVirtual() fails to properly map single-element linked list 2024-05-16 22:17:40 +02:00
f74a5521ba
Update KPROCESS and KTHREAD structure definitions 2024-05-14 19:44:10 +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
efef3cb80d
Cleanup EFLAGS related definitions 2024-05-14 16:22:10 +02:00
01d127f49e
Consider not initialized list as empty, what prevents page faults 2024-05-14 15:53:21 +02:00
60a9e4b534
Rename source file with fb-related stuff, fix build 2024-05-13 15:59:24 +02:00
086d9ed7e2
Rename source file with fb-related stuff 2024-05-13 15:55:39 +02:00
78424385fc
Convert RGB colors to FrameBuffer format 2024-05-13 08:51:27 +02:00
e311cad8f7
Allow to clear framebuffer screen with any, custom background color 2024-05-12 22:43:06 +02:00
c576f7f8f2
Provide pixel information to the kernel 2024-05-12 22:28:06 +02:00
615a1457bf
Fixes to FbpGetPixelInformation() and FbpGetColorMask() routines 2024-05-12 22:20:22 +02:00
3d08be4fac
Refactor kernel startup code 2024-05-12 09:06:24 +02:00
eeeb9d6ed7
Update PoInitializeProcessorControlBlock() routine and corresponding structures 2024-05-09 22:12:50 +02:00
c34b6ff6c1
Take CPU number from processor block 2024-05-08 21:59:18 +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
fb099a1988
Preallocate buffer for all supported CPUs 2024-05-07 23:47:58 +02:00
b65ff2a767
Implement MmAllocateProcessorStructures() routine as a temporary hack to get a buffer for AP initialization 2024-05-07 23:30:11 +02:00
8d6d27651c
Implement KeGetCurrentProcessorNumber() routine 2024-05-07 18:52:43 +02:00
f66e9aea9e
Store CPU number and mask interrupts in processor block 2024-05-07 16:21:38 +02:00
276eb77862
Update KPROCESSOR_BLOCK structure 2024-05-07 16:20:40 +02:00
ac0b8ab36a
Allow to specify CPU number when initializing (A)PIC 2024-05-07 16:16:49 +02:00
2c384d780f
Fix storing CPU vendor name in PRCB 2024-05-06 20:01:19 +02:00
243aacc9c1
Cleanup thread context initialization code 2024-05-06 16:57:29 +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
e4155ee008
Lower runlevel to APC before initializing idle process 2024-05-05 21:48:58 +02:00
c98ad3862b
Use kernel boot stack for the idle thread 2024-05-05 21:47:48 +02:00
07d7e06b2b
Flush keyboard buffer out of any keystrokes before waiting for user input 2024-05-05 15:29:20 +02:00
40e0dd8c5e
Mask LVTERR first to prevent local APIC errors 2024-05-05 15:24:17 +02:00
5a013e3ab5
Properly free memory after reading a file 2024-04-30 12:27:27 +02:00