Commit Graph

70 Commits

Author SHA1 Message Date
1e696258c2
Initialize framebuffer and processor
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-29 22:49:15 +01:00
c8a54e602b
Disable legacy 8259 PIC before enabling APIC
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 26s
Reviewed-on: #5
Reviewed-by: Rafal Kupiec <belliash@noreply.codingworkshop.git>
Co-authored-by: Jozef Nagy <schkwve@gmail.com>
Co-committed-by: Jozef Nagy <schkwve@gmail.com>
2023-11-29 20:07:16 +01:00
669b84a826
Add architecture related information to kernel startup string
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 26s
2023-11-29 18:32:03 +01:00
d17b06a180
Register interrupt handlers once the APIC initialization is done
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-28 14:20:23 +01:00
0e6844e2fa
Fix page fault on accessing initial thread frame
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 24s
2023-11-26 14:14:54 +01:00
bed49fa0ac
Fix function prototypes using fastcall and stdcall calling convensions
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-25 23:25:44 +01:00
e245754d95
Add running level management support
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 14s
2023-11-25 23:14:15 +01:00
55cc62f5a0
Rename KIRQL to KRUNLEVEL type
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-25 00:32:55 +01:00
f28c870192
Implement KeHaltSystem() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 44s
2023-11-22 19:24:14 +01:00
d8403d01f5
Verify kernel and boot loader compatibility
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-22 17:22:57 +01:00
1a932468a2
Add some DPC related stubs
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-16 14:53:54 +01:00
5b6f3b0244
Mark user mode threads as not yet supported
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 29s
2023-11-15 20:41:28 +01:00
5d27473bb0
Fix i686 build
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-15 15:34:04 +01:00
d35dd4fce3
Save processor state during kernel initialization
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 29s
Builds / ExectOS (i686) (push) Failing after 16s
2023-11-15 15:00:38 +01:00
fc85e0674b
Let KeGetCurrentProcessorControlBlock() use CurrentPrcb field and correct comments
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-13 15:36:50 +01:00
1d9a79736a
Allow to postpone thread startup
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 27s
Builds / ExectOS (i686) (push) Successful in 30s
2023-11-11 16:30:53 +01:00
641b34b119
Fixes in i686 version of KepInitializeThreadContext()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 28s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-08 16:06:01 +01:00
362eefc2b3
Fixes in AMD64 version of KepInitializeThreadContext() to get rid of PageFault exception
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 58s
Builds / ExectOS (i686) (push) Successful in 31s
2023-11-07 15:34:49 +01:00
91ce0f9947
Compensate missing return address, which is a 4-byte on i686 and an 8-byte on amd64
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 28s
2023-11-05 20:07:13 +01:00
02f35dbd8c
Try to allocate new stack for a thread if needed
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 28s
2023-11-03 16:04:10 +01:00
a6c3924b56
Initialize Idle thread for i686 architecture
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 31s
Builds / ExectOS (i686) (push) Successful in 27s
2023-11-03 15:29:01 +01:00
63f8dbc59b
Initialize CPU power structures, idle process and idle thread
All checks were successful
Builds / ExectOS (i686) (push) Successful in 28s
Builds / ExectOS (amd64) (push) Successful in 29s
2023-11-02 23:07:11 +01:00
aa17be6eb3
Implement KeSetTargetProcessorDpc() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Successful in 28s
2023-10-29 19:59:21 +01:00
be7981f614
Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc()
All checks were successful
Builds / ExectOS (i686) (push) Successful in 27s
Builds / ExectOS (amd64) (push) Successful in 27s
2023-10-29 19:45:45 +01:00
6d63750fc2
Rename KepArchInitialize() routine to KepInitializeMachine()
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 26s
Builds / ExectOS (i686) (push) Successful in 27s
2023-10-29 10:38:23 +01:00
4e553b5570
Remove unused variables to satisfy compiler
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 55s
Builds / ExectOS (i686) (push) Successful in 53s
2023-10-27 15:37:31 +02:00
d5dd87b889
Add initial kernel panic mechanism
Some checks failed
ci/woodpecker/push/build Pipeline failed
2023-03-23 22:34:28 +01:00
934dba37a1
Initial kernel events support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-03-17 16:46:18 +01:00
e6b64b741a
Initialize thread context for i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-03-15 23:05:18 +01:00
e05366815a
NpxFrame is filled with zeroes, so there is no need to set all these stuff
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-03-15 22:48:26 +01:00
5677719038
Initialize thread context for AMD64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-03-14 17:37:20 +01:00
8f653c47dc
Initial Deferred Procedure Call (DPC) support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-03-05 22:56:16 +01:00
286fc76577
First attempt on SEH usage; currently this does not take an effect due to missing exception dispatcher
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-26 22:08:02 +01:00
57dee5c535
Reorder parameters in KeInitializeThread()
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-24 22:29:38 +01:00
9c74aafe3d
Initial implementation of process initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-24 19:52:20 +01:00
c4d1f1cd0d
Initial implementation of the thread initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-23 20:11:21 +01:00
88c17982e4
Thread initialization stub
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-21 22:30:56 +01:00
9a27d52efe
Correct typo
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-18 00:07:12 +01:00
3354075900
Initial Asynchronous Procedure Call (APC) support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-18 00:04:51 +01:00
08405e7bdc
Ad more routines for semaphores support
Some checks failed
ci/woodpecker/push/build Pipeline failed
2023-02-17 09:40:18 +01:00
ccaa28399a
Initial semaphores support
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 19:29:36 +01:00
525cc116ee
Update description
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 19:27:01 +01:00
98884516a1
Implement KeInitializeSpinLock() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 18:34:46 +01:00
b2456fd18a
Implement kernel timer initialization routines
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-16 17:56:35 +01:00
d8bc45e3bb
Move HL related global variables into separate file
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-13 23:41:24 +01:00
e4fa9bdead
CurrentPrcb is needed here
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-10 17:29:18 +01:00
c4a52938d2
Implement KeGetCurrentThread() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 23:58:24 +01:00
9132c47cd9
Initial process and thread related structures
Some checks failed
ci/woodpecker/push/build Pipeline failed
2023-02-08 23:40:58 +01:00
929d3dfae7
Implement KeGetCurrentProcessorBlock() and KeGetCurrentProcessorControlBlock() routines for both amd64 and i686
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-08 16:39:05 +01:00
75c519a70c
Use more generic name for this macro use pointer used behind it will point to kernel debugger after it gets initialized
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-07 19:37:44 +01:00