Commit Graph

1034 Commits

Author SHA1 Message Date
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
67768ae7a3 Mark ArpIdentifyProcessor() as unimplemented
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 16:15:24 +01:00
f8d2ccc0d0 Add more debugging macros
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 16:10:32 +01:00
9c7d961c5a Architecture specific initialization after processor init is done
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-02-06 15:53:11 +01:00
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