Commit Graph

430 Commits

Author SHA1 Message Date
385f0e6de0
Not all AMD64 CPUs support large pages and global pages, unfortunately
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 22:14:47 +01:00
76f22fbdc4
Initialize segments and processor registers for i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 15:45:22 +01:00
2ba42c5270
Update ideas
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 13:23:11 +01:00
911903d0eb
Add missing routine description
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:08:49 +01:00
707c92e08a
Boot loader no longer needs to do anything related to the stack
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 10:03:21 +01:00
d6aac59199
Let kernel initialize stack on it's own without relying on boot loader
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 09:55:59 +01:00
0b743a5f26
Add stub routine for identifying processor
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:42:30 +01:00
c6cadbd655
Initialize MXCSR register
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:30:12 +01:00
5eaf7d63a3
Initialize Page Attribute Table
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-05 00:14:34 +01:00
55cdae7c83
Initialize AMD64 processor registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-04 23:40:03 +01:00
f181215341
Initialize segment registers
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-04 00:17:07 +01:00
f37722b6e6
Distinguish ProcessorBlock and ProcessorControlBlock
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 19:28:03 +01:00
b90f37dad4
Fill in Interrupt Descriptor Table (IDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:40:10 +01:00
648ad1636a
Cleanup TSS initialization code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:27:50 +01:00
269214ed34
Another improvements to GDT
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-03 18:00:37 +01:00
a49d0804ce
Add trap handlers for both i686 and amd64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 23:31:32 +01:00
19f34d4b17
Cleanup the code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 19:42:57 +01:00
715f875c4f
Set alignment and packing properly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 17:01:18 +01:00
2e2b01742a
Definitions for setting structures alignment and packing
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 15:47:21 +01:00
73fc7607cd
There is no need to specify alignment of the structure in the forward reference
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-02 15:37:57 +01:00
404f2f85c6
Cleanup the Interrupt Stack Table
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 23:47:57 +01:00
7fc1f04cd0
TSS entry is already put into GDT table, just initialize it
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 23:37:12 +01:00
cbd21ced39
Use a size of the structure, not a pointer
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 22:38:36 +01:00
dc1a94b982
This is 'Processor Block'
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 22:02:07 +01:00
3522539d4b
Initialize Interrupt Descriptor Table (IDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 21:56:17 +01:00
1ef205d47b
Initialize DoubleFault and NonMaskableInterrupt TSS entries
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:36:40 +01:00
e2813bcdaa
Fix entries in Global Descriptor Table (GDT)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:24:55 +01:00
21fbe6febe
Add IDT related definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 20:14:10 +01:00
5bbda188c6
IDT access levels and gate types
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-01 00:51:13 +01:00
9a1e9b1084
Define TSS offsets
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 23:43:10 +01:00
892c9eca86
Do not hardcode I/O map base
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 22:38:41 +01:00
a761d3125a
Architecture specific initialization prior to processor structures initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 20:34:05 +01:00
6f068513cd
Initial processor block initialization
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 19:07:05 +01:00
ebe6792f2b
Add MSR (Model Specific Registers) values
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-30 17:59:00 +01:00
d3376ce33b
This is no longer an idea
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 22:33:12 +01:00
2bf15a5bb8
Fix pointer offset in PE relocation code
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 20:38:05 +01:00
ddffd0c582
Temporary kernel stack is no longer used
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 11:08:51 +01:00
df11473eac
Cleanup xtldr code as it no longer need to initialize CPU structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:59:22 +01:00
bca7ac41b8
Initialize boot CPU structures inside kernel on i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 10:54:52 +01:00
7ac434cb99
Move architecture specific globals to external header, as ex. there is no GDT on ARM
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 09:48:59 +01:00
79a5027bca
Cleanup AMD64 part of CPU initialization, as it has been moved to the kernel
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 01:01:36 +01:00
ce4e590347
Add missing forward declaration of ArInitializeProcessor() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:57:06 +01:00
900e71459a
Add missing x86 descriptor sizes
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:54:36 +01:00
ae60753e33
Add missing source files for i686 architecture
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:52:05 +01:00
7bf4a9ab8d
Initialize boot CPU structures inside kernel on AMD64
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:45:17 +01:00
8733a23b20
Include kernel top header
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:34:34 +01:00
757560ffeb
Do not use EFI RunTime Services in kernel as they are not mapped correctly
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:32:52 +01:00
9cd9a1eafa
Correct typos
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-29 00:25:25 +01:00
29ec28fafe
Update ideas and known issues markdown
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-28 19:22:02 +01:00
27e2fdf4f2
Introduce architecture library as new kernel subsystem and move selected routines into new subsystem
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-01-28 10:34:55 +01:00