Commit Graph

390 Commits

Author SHA1 Message Date
363e100493 Saving processor features in the processor control block
Fixed correct AMD Family 25 model detection
Fixed procedure for saving processor vendor name (previously corrupted)
Added a debugging print of the processor identification
2024-05-06 17:55:37 +02:00
7a62ce3feb Enable Bochs-based emulation
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 25s
Builds / ExectOS (i686) (push) Failing after 24s
2024-04-30 12:16:19 +02:00
ecf62ff231 Add OVMF firmware and VGA Bios suitable for use with Bochs
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 36s
2024-04-30 11:57:35 +02:00
ab618f95b9 Use dedicated GUID for DUMMYOS boot protocol
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 37s
Builds / ExectOS (i686) (push) Successful in 35s
2024-04-29 13:48:01 +02:00
e80927c5d3 Fix undefined behavior and NULL pointer in boot loader OS list renderer
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 32s
2024-04-27 00:42:25 +02:00
22693a48d3 Rework trap handling assembly code
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 32s
2024-04-23 15:07:08 +02:00
a36c02fde8 Use common name for EFLAGS and RFLAGS, regardless the CPU architecture
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 33s
2024-04-21 22:35:06 +02:00
30a2cb9849 Update timers support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 46s
2024-04-21 13:57:55 +02:00
331c5bfeda Rework initial timer support
All checks were successful
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-04-20 23:15:57 +02:00
92ee74b494 Rework trap handling to access registers
Some checks failed
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Failing after 29s
2024-04-19 16:52:37 +02:00
9d4751abee Remove useless assembler options
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 39s
Builds / ExectOS (i686) (push) Successful in 37s
2024-04-14 11:37:11 +02:00
ffda2fd8a9 Update toolchain settings
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 43s
2024-04-14 11:18:31 +02:00
befa211aa7 Add PFN related structures and definitions
All checks were successful
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 36s
2024-04-08 19:03:58 +02:00
7193e698f1 Store page map level
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 33s
2024-04-07 17:49:24 +02:00
bfcf9bc61a Add PFN_NUMBER type definition
Some checks failed
Builds / ExectOS (amd64) (push) Successful in 30s
Builds / ExectOS (i686) (push) Failing after 29s
2024-04-07 10:33:53 +02:00
04e22c127e Initial memory manager initialization code
Some checks failed
Builds / ExectOS (amd64) (push) Failing after 23s
Builds / ExectOS (i686) (push) Failing after 22s
2024-04-07 10:26:12 +02:00
42a1373612 Do not pre-allocate memory
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 37s
2024-04-06 11:28:02 +02:00
1305672875 Properly, recursively self map page tables; currently only for AMD64 and PML4
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 42s
2024-04-05 00:26:41 +02:00
d7b103f85d Add forward references for PTE related structures
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 32s
Builds / ExectOS (i686) (push) Successful in 31s
2024-04-03 16:03:17 +02:00
c6f3422c49 Update PTE related structures
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 42s
Builds / ExectOS (i686) (push) Successful in 41s
2024-04-03 16:00:26 +02:00
306891c9eb Rename XTBL_MODULE_INFO definition to XTBL_MODULE_DATA, to not confuse with structure
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 34s
Builds / ExectOS (i686) (push) Successful in 32s
2024-03-25 07:14:18 +01:00
715f842445 Implement RtlClearSetBits(), RtlFindClearBits(), RtlFindSetBits() and RtlSetClearBits() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-22 18:53:30 +01:00
7895cb0d32 Fix RtlClearBits() and RtlSetBits()
All checks were successful
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 32s
2024-03-21 21:36:33 +01:00
56d50ea2e8 Implement EDID support for getting the preferred screen resolution
All checks were successful
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-21 15:40:09 +01:00
eb75a27ac2 Use common handle and properly close GOP protocol on failures
All checks were successful
Builds / ExectOS (i686) (push) Successful in 37s
Builds / ExectOS (amd64) (push) Successful in 38s
2024-03-21 06:59:05 +01:00
b6f915c0c5 Implement RtlClearBits() and RtlSetBits() routines
All checks were successful
Builds / ExectOS (i686) (push) Successful in 30s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-19 19:53:49 +01:00
3cd55260e6 Expose BlEnterFirmwareSetup() routine via XTLDR protocol
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-03-19 17:11:38 +01:00
94e6ca7aec Implement BlEnterFirmwareSetup() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 39s
Builds / ExectOS (i686) (push) Successful in 37s
2024-03-19 16:50:04 +01:00
7b2a2565c5 Expose BlGetEfiVariable() and BlSetEfiVariable() routines via XTLDR protocol
All checks were successful
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-18 22:20:21 +01:00
6accf62552 Expose BlGetConfigBooleanValue() via XTLDR protocol
All checks were successful
Builds / ExectOS (i686) (push) Successful in 33s
Builds / ExectOS (amd64) (push) Successful in 34s
2024-03-18 22:16:20 +01:00
1d26b81923 Store last booted OS in NVRAM and make it default one on next boot
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 35s
Builds / ExectOS (i686) (push) Successful in 33s
2024-03-18 19:41:55 +01:00
db0e1d40aa Allow boot protocols to supply own routine for converting EFI memory type into OS-specific memory type
Some checks failed
Builds / ExectOS (i686) (push) Failing after 32s
Builds / ExectOS (amd64) (push) Failing after 33s
2024-03-17 23:06:37 +01:00
41ebabcb09 Provide only necessary framebuffer information to the kernel
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 32s
2024-03-15 16:46:53 +01:00
848731c9e6 Introduce ability to change screen resolution
All checks were successful
Builds / ExectOS (i686) (push) Successful in 44s
Builds / ExectOS (amd64) (push) Successful in 46s
2024-03-15 15:12:12 +01:00
26d5118cea Add forward references to bit map related routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 45s
Builds / ExectOS (i686) (push) Successful in 42s
2024-03-12 22:02:24 +01:00
c3831f82e7 Initial bit maps support
All checks were successful
Builds / ExectOS (i686) (push) Successful in 34s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-03-12 19:15:02 +01:00
bb44caee31 Implement HlPutCharacter() routine
All checks were successful
Builds / ExectOS (i686) (push) Successful in 29s
Builds / ExectOS (amd64) (push) Successful in 30s
2024-03-10 17:02:30 +01:00
4bff86c570 Add SSF 2.0 font header structure
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 35s
2024-03-10 13:03:45 +01:00
d8ebd9f202 Add font to framebuffer data
All checks were successful
Builds / ExectOS (i686) (push) Successful in 32s
Builds / ExectOS (amd64) (push) Successful in 32s
2024-03-10 10:04:51 +01:00
cb4292dccf Allow to use custom framebuffer fonts
Some checks failed
Builds / ExectOS (i686) (push) Failing after 28s
Builds / ExectOS (amd64) (push) Failing after 30s
2024-03-10 10:02:30 +01:00
a4c22ab5e8 Improvements to FrameBuffer support
All checks were successful
Builds / ExectOS (i686) (push) Successful in 35s
Builds / ExectOS (amd64) (push) Successful in 37s
2024-03-09 15:07:33 +01:00
475561b038 Add XTOS default framebuffer font (VGA Unicode by Dmitry Yu. Bolkhovityanov)
All checks were successful
Builds / ExectOS (i686) (push) Successful in 40s
Builds / ExectOS (amd64) (push) Successful in 42s
2024-03-08 20:20:21 +01:00
5814775c43 Add EFI legacy BIOS protocol related structures
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-03-07 21:55:58 +01:00
d61fd4f9c7 Fix grim bug in PE/COFF image structures causing invalid data read from optional header
All checks were successful
Builds / ExectOS (i686) (push) Successful in 31s
Builds / ExectOS (amd64) (push) Successful in 31s
2024-03-02 00:56:38 +01:00
a57ae020fa Implement PeGetFileSize(), PeGetImageSize() and PeUnloadImage() routines
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 47s
Builds / ExectOS (i686) (push) Successful in 45s
2024-03-01 23:12:12 +01:00
17c50ea912 Redesign a way of storing module information; this allows to store more data in a single section, like license or a list of authors, as well as solves the problem with different module name lengths
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 33s
Builds / ExectOS (i686) (push) Successful in 31s
2024-02-28 23:28:33 +01:00
4b34f7db4b Update preprocessor macros
All checks were successful
Builds / ExectOS (i686) (push) Successful in 56s
Builds / ExectOS (amd64) (push) Successful in 58s
2024-02-28 23:11:45 +01:00
632bb30b64 Implement BlGetRandomValue() and BlInitializeEntropy() routines for future KASLR support
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 1m16s
Builds / ExectOS (i686) (push) Successful in 1m14s
2024-02-26 23:06:44 +01:00
f9714a79e4 Add support for writing floating point values
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 51s
Builds / ExectOS (i686) (push) Successful in 48s
2024-02-22 23:39:11 +01:00
4b2d8ded72 No parameters are expected, explicitly
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 25s
Builds / ExectOS (i686) (push) Successful in 28s
2024-02-20 16:55:12 +01:00