mintsuki
6275457af0
toolchain: Use program prefix limine- to avoid collisions with x86_64-elf system toolchains
2021-08-06 05:05:50 +02:00
mintsuki
0dde09bbb9
term: Support bright colours
2021-07-31 23:51:48 +02:00
mintsuki
07dc81bbee
build: Pass -mabi=sysv to cc
2021-07-31 21:28:06 +02:00
mintsuki
5d22de7733
term: Misc improvements
2021-07-31 20:52:46 +02:00
ytret
059be24d3b
stivale2: set ID of textmode structure tag
2021-07-31 20:59:05 +03:00
mintsuki
9540ea620b
elf: Make sure KASLR doesn't result in load addresses higher than 0x80000000 for higher half kernels
2021-07-29 15:44:27 +02:00
mintsuki
af28eee1bc
build: Prevent gensyms.sh from failing if pipefail is not supported by the shell
2021-07-26 20:19:40 +02:00
mintsuki
db561393dd
stivale: Add requested stack sanity checks. Closes #95
2021-07-26 19:25:59 +02:00
mintsuki
9d68787fe1
build: OpenBSD compatibility
2021-07-26 18:27:05 +02:00
mintsuki
af03050db3
build: Make build system more BSD friendly
2021-07-26 16:09:03 +02:00
mintsuki
e9760d2e33
build: Work around gnu-efi build system issue
2021-07-25 16:23:36 +02:00
mintsuki
f2fcc38af7
stivale2_rt: Fix mov of the incorrect size
2021-07-25 15:23:29 +02:00
mintsuki
5089bafaf8
pmm: Fix sanitise_entries() bugs
2021-07-25 14:18:35 +02:00
mintsuki
2a4f9eb0c4
elf: Do not enforce segment load address alignment even if PMRs are requested
2021-07-25 01:18:36 +02:00
mintsuki
0e2b9c5776
term: Bound check when setting cursor position
2021-07-20 14:13:56 +02:00
mintsuki
6e1afcd3cb
uefi: Initial 32 bit UEFI support
2021-07-20 13:35:43 +02:00
mintsuki
f5b0a4ee25
elf: More bug fixes
2021-07-17 08:19:03 +02:00
mintsuki
5fa8ef5d37
elf: Bug fixes
2021-07-17 07:38:19 +02:00
mintsuki
de3c7eed67
stivale2: Implement PMRs
2021-07-15 16:20:29 +02:00
mintsuki
79b8c38c8c
stivale: Initial infrastructure to support ELF permissions
2021-07-15 14:09:12 +02:00
mintsuki
178f3cea0e
elf: Return permission ranges
2021-07-15 13:34:24 +02:00
mintsuki
aec537f519
menu: Fix title alignment
2021-07-15 12:51:46 +02:00
mintsuki
1aa5ae13fc
misc: Change how bios and uefi macros are defined and tested
2021-07-15 10:03:47 +02:00
mintsuki
d478a1b28b
stivale2: Add support for text mode struct tag
2021-07-11 10:07:43 +02:00
mintsuki
f5ffbdf2cd
stivale2: Add support for any video header tag
2021-07-11 09:47:57 +02:00
mintsuki
63a45e2b31
stivale2: Implement max_length field of terminal structure tag
2021-07-11 08:51:22 +02:00
mintsuki
f4a47cff02
gterm: Improve text drawing performance on both QEMU TCG and real hardware
2021-07-11 08:30:54 +02:00
mintsuki
e5ec3c1fb3
gterm: Reintroduce fast canvas drawing, only.
...
Co-authored-by: StaticSaga <61866965+StaticSaga@users.noreply.github.com>
2021-07-11 07:28:09 +02:00
mintsuki
f4dc6481f1
gterm: Revert recent changes as they make the terminal significantly slower on real hardware
2021-07-11 04:50:15 +02:00
mintsuki
9423860745
Revert "readline: rewrite Ctrl-[pnbf] to arrows"
...
This reverts commit 9e2d9f1630
.
2021-07-11 02:03:10 +02:00
mintsuki
f66620052d
Revert "readline: exclude the non-ctrl case from checks"
...
This reverts commit 2fcabe8dfe
.
2021-07-11 02:02:50 +02:00
mintsuki
6f17771c53
menu: Disable scrolling when displaying status text
2021-07-11 02:01:03 +02:00
mintsuki
50fd990ece
term: Improve logic of disabling scrolling
2021-07-11 01:51:17 +02:00
mintsuki
ffac9b1c68
stivale2: Prevent buffer overflows when writing to stivale2 terminal
2021-07-11 01:31:16 +02:00
mintsuki
d85e6302db
Revert "bmp: Sanity check images"
...
This reverts commit 8ea847e563
.
2021-07-11 01:24:00 +02:00
StaticSaga
8ea847e563
bmp: Sanity check images
2021-07-10 13:59:58 +02:00
StaticSaga
b38b830241
gterm: Fix typo on IMAGE_STRETCHED
2021-07-10 13:59:42 +02:00
StaticSaga
0daf11ecca
gterm: refactor genloop()
2021-07-09 16:27:23 +02:00
mintsuki
cd59bb5097
pmm: Add option to randomise memory contents at boot-up
2021-07-09 14:40:44 +02:00
mintsuki
757cc792fd
menu: Print comments in cyan instead of green
2021-07-08 18:05:17 +02:00
StaticSaga
7bfdfbd2ad
gterm: make gterm_plot_char faster
2021-07-08 17:50:48 +02:00
Arsen Arsenović
2fcabe8dfe
readline: exclude the non-ctrl case from checks
...
Honestly, all of this is hacky, somehow people implementing these APIs
never bothered to put modifiers in some other register to be returned.
The EFI people got a whole struct dedicated to returning what key is
pressed, and didn't even put the modifiers in it.
EFI actually did implement this with EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL,
the returned struct holds the modifier. I can implement this using that
protocol and int 16/AH=01h at a later date.
2021-07-08 17:43:58 +02:00
mintsuki
8636aa2f13
menu: Add support for comments in entry editor
2021-07-08 17:28:43 +02:00
mintsuki
3270ce1bf8
menu: When a directory entry is selected, show expand/collapse rather than boot
2021-07-08 17:15:28 +02:00
mintsuki
3b06a0603f
menu: Reset terminal palette to default after printing entry comment
2021-07-08 17:07:07 +02:00
mint
2a64832923
Merge pull request #91 from ArsenArsen/trunk
...
readline: rewrite Ctrl-[pnbf] to arrows
2021-07-08 17:02:16 +02:00
mintsuki
9f5c5e09b4
menu: Support entry comments
2021-07-08 16:57:40 +02:00
Arsen Arsenović
9e2d9f1630
readline: rewrite Ctrl-[pnbf] to arrows
2021-07-08 16:57:04 +02:00
mintsuki
25d9fd6614
term: Do not scroll screen when it shouldn't be
2021-07-08 16:33:24 +02:00
mintsuki
c3f5f0d6fd
menu: Nicely box boot menu
2021-07-08 16:07:33 +02:00
mintsuki
a39a588b0e
menu: Avoid useless draws of the entry tree
2021-07-08 15:47:28 +02:00
StaticSaga
8a8b437437
gterm+bmp+image: Improve performance on TCG
2021-07-08 13:52:13 +02:00
mintsuki
b5f35d6091
multiboot1: Make sure all info is passed to kernel in conventional memory
2021-07-07 10:01:08 +02:00
mintsuki
3b18864e6f
efi: Misc bug fixes
2021-07-07 05:54:40 +02:00
mintsuki
0c46de53d8
Revert "pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap"
...
This reverts commit eadee3e6cb
.
2021-07-07 05:37:47 +02:00
mintsuki
2bce5bf2d1
docs: Update screenshot
2021-07-07 04:50:32 +02:00
mintsuki
44f5c06366
textmode: Minor aesthetic adjustments
2021-07-07 04:23:34 +02:00
mintsuki
0e6ad967de
textmode: Fix various cursor-related issues
2021-07-07 03:37:29 +02:00
mint
4d1a02b0b5
Merge pull request #89 from notYuriy/stretch
...
bmp: Add support for stretched images
2021-07-07 02:53:23 +02:00
Iurii Zamiatin
6b15b0f97b
bmp: Add support for stretched images
2021-07-07 03:46:40 +03:00
mintsuki
177b83de9c
menu: Prefer left alignment for titles which are not divisible by 2
2021-07-07 02:43:07 +02:00
mintsuki
3ba705d082
term: Ensure that double escape character raw prints escape
2021-07-07 02:26:25 +02:00
Carver
8c29063bfc
Centering
2021-07-06 16:56:01 -07:00
Carver Harrison
6e82bd0e2f
Another Indentation Fix
2021-07-06 16:35:21 -07:00
Carver
eb33edf9ee
Epic last minute formatting fix
2021-07-06 16:31:39 -07:00
Carver
05b42b2428
Merge branch 'trunk' of https://github.com/carverh/qloader2 into trunk
2021-07-06 16:28:31 -07:00
Carver
34825df41b
New menu system and editor
2021-07-06 16:27:07 -07:00
mintsuki
a092368895
pmm: Rework pmm_reclaim_uefi_mem()
2021-07-07 00:44:37 +02:00
mintsuki
c20828138e
Revert "uefi: Even saner handling of exiting boot services"
...
This reverts commit e6cc0e4b93
.
2021-07-06 22:45:16 +02:00
mintsuki
ae2d924c14
efi: Properly propagate exits after loading an image using chainloading; do not try to return from panics if boot services were exited
2021-07-06 09:59:49 +02:00
mintsuki
eadee3e6cb
pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap
2021-07-06 08:55:32 +02:00
mintsuki
e63931f0dd
linux: Exit bootservices *before* saving the memory map in the zero page
2021-07-06 08:41:48 +02:00
mintsuki
e6cc0e4b93
uefi: Even saner handling of exiting boot services
2021-07-06 08:21:20 +02:00
mintsuki
05bc7c5bda
uefi: More sane handling of exiting boot services
2021-07-06 07:42:35 +02:00
mintsuki
d966dc083c
pmm: Sanitise raw EFI memory map
2021-07-06 05:26:55 +02:00
mintsuki
4a87babe4a
misc: Forbid variable shadowing
2021-07-06 05:17:18 +02:00
mintsuki
04d713a45b
linux: Use get_raw_memmap()
2021-07-06 03:23:36 +02:00
mintsuki
36fa6291bd
pmm: Optimise get_raw_memmap()
2021-07-06 03:17:28 +02:00
mintsuki
449df1d547
pmm: Implement get_raw_memmap() and use it in mb1 proto
2021-07-06 03:01:07 +02:00
mintsuki
572bcdae3b
x86: Invalidate LDT before handoff
2021-07-06 02:13:25 +02:00
mintsuki
fa2a2d77bb
protos: Remove dead code
2021-07-06 00:48:29 +02:00
mintsuki
81f4b86916
build: Unify do_32() and direct calls under a single common_spinup()
2021-07-05 23:28:04 +02:00
mintsuki
08423fb646
stivale: Slight change in how anchors work
2021-07-05 22:51:03 +02:00
mintsuki
591f601299
stivale: Use anchor struct definitions from public stivale headers
2021-07-05 12:20:47 +02:00
mintsuki
84e540ee48
stivale2: Implement kernel loading by anchor for non-ELF kernels
2021-07-05 10:20:35 +02:00
mintsuki
d62c4f67d5
stivale: Implement kernel loading by anchor for non-ELF kernels
2021-07-05 08:04:17 +02:00
mintsuki
85a500a668
multiboot1: Fix broken cast
2021-07-03 01:45:46 +02:00
mintsuki
05e7c27f01
multiboot1: Make sure to load modules at a valid address even when using a.out kludge
2021-07-03 01:02:32 +02:00
mintsuki
d53facc731
multiboot: Load modules right after kernel to emulate GRUB behaviour
2021-07-02 23:58:22 +02:00
mintsuki
652a6d2575
multiboot1: Reset textmode even if kernel does not request fb info
2021-07-02 04:34:00 +02:00
mintsuki
aee3d96242
build: Update version detection method not to rely on Git when a version file is available
2021-06-30 23:14:15 +02:00
mintsuki
b697b6aec6
build: Build necessary gnu-efi objects in the stage23 Makefile rather than the root one
2021-06-30 21:58:11 +02:00
Kacper Słomiński
6d47bf9d81
multiboot1: account for memory that crosses 1MB when summing up sizes
2021-06-30 20:59:59 +02:00
Kacper Słomiński
78ec547086
multiboot1: don't mask the PIC when entering kernel
...
The spec states the PIC must left in the state the BIOS left it in.
2021-06-30 20:44:24 +02:00
Kacper Słomiński
7002918c91
multiboot1: add a.out kludge support
2021-06-30 20:16:30 +02:00
Kacper Słomiński
f84b33650e
multiboot1: allocate kernel and modules using proper type
...
This prevents the code from allocating over the kernel and modules when
allocating memory.
The type is changed to usable when preparing the memory map.
2021-06-30 20:16:30 +02:00
mintsuki
2f08116acb
misc: Fix potentially misleading strings
2021-06-30 18:44:31 +02:00
mintsuki
7d44e79abc
build: which -> command -v
2021-06-30 18:22:50 +02:00
Kacper Słomiński
e6adc164bb
entry: accept "multiboot" as well as "multiboot1"
2021-06-29 16:58:19 +02:00
Kacper Słomiński
6bb204bbd9
multiboot1: add support for 64-bit ELFs
2021-06-29 16:58:15 +02:00
Kacper Słomiński
9115bc7b50
elf: allow elf64_load to use paddrs instead of vaddrs
2021-06-29 16:57:51 +02:00
Kacper Słomiński
22587856fd
elf: adjust entry point address to paddr in elf32_load
2021-06-29 15:19:46 +02:00
Kacper Słomiński
4fb782449f
protos: add initial multiboot1 implementation
2021-06-29 15:16:25 +02:00
mintsuki
60e1b43f66
secureboot: Add .sbat section
2021-06-25 01:23:26 +02:00
mintsuki
ece3e9c099
iso9660: Fix bug where non rockridge filenames were not actually being loaded
2021-06-22 12:36:45 +02:00
mintsuki
7bf53f1406
pmm: Do not reclaim EfiLoader sections as usable
2021-06-15 03:10:59 +02:00
mintsuki
eb83d013ca
disk: Misc bug fixes and improvements
2021-06-12 13:13:19 +02:00
mintsuki
662b5b7624
iso9660: Fix improper handling of filename casing
2021-06-12 08:03:49 +02:00
mintsuki
dc47b83c16
term: Fix various cursor-related issues
2021-06-08 00:06:33 +02:00
mintsuki
abf1d90515
stivale32: Fix typo made when converting to AT&T syntax
2021-06-02 16:33:00 +02:00
mintsuki
c31073ce63
acpi: Fix wrongly calculated RSDP checksum
2021-06-01 21:59:05 +02:00
mintsuki
6ac24628e8
build: Ensure load addresses of debug and tab sections are 0
2021-05-31 01:52:43 +02:00
mintsuki
e69f7429ce
build: Use linker directly instead of going thru compiler; ensure we are buildable with an llvm toolchain
2021-05-31 00:32:43 +02:00
mintsuki
1e935e10d3
linux: Fix wrong jmp instruction
2021-05-30 15:45:31 +02:00
mintsuki
6e78e33989
misc: Replace Intel-syntax inline assembly with GAS-syntax inline assembly; ensure we can build with clang
2021-05-29 18:07:28 +02:00
mintsuki
87cc5494c7
build: Remove dependency on GCC-specific -fplan9-extensions flag
2021-05-28 16:05:42 +02:00
mintsuki
977b00f0b3
stivale2: Fix bug where when requesting higher half pointers the stivale2 struct pointer was still passed in the lower half
2021-05-23 03:34:36 +02:00
mintsuki
dc3b45a9a9
term: General terminal improvements
2021-05-23 00:19:27 +02:00
mintsuki
4d7a48eca7
term: Add support for tabs
2021-05-22 23:11:18 +02:00
mintsuki
a6a88109d7
stivale2: Unbreak listing tags due to higher half pointers and verbose mode
2021-05-22 22:20:26 +02:00
mintsuki
f9f38f0c39
build: Revert usage of -mgeneral-regs-only
2021-05-22 10:26:56 +02:00
mintsuki
0602e40cce
stivale2: Actually pass tag pointers in linked list in the higher half if requested
2021-05-22 10:13:06 +02:00
mintsuki
110d2dc7d4
misc: Misc EFI-related adjustments
2021-05-20 01:16:39 +02:00
mintsuki
40e65eddb1
panic: Add missing getchar() before returning to EFI
2021-05-19 08:52:21 +02:00
mint
0d3d667ba8
Merge pull request #84 from chocabloc/trunk
...
Return to firmware instead of halting in UEFI mode
2021-05-19 08:46:20 +02:00
aditya
e013c2ce46
include efi.h
2021-05-19 12:14:00 +05:30
aditya
60170c9f2c
use fb_clear
2021-05-19 12:11:39 +05:30
mintsuki
9676a3d09c
stivale: Load up invalid IDT before jumping to kernel instead of leaking internal one
2021-05-19 08:29:21 +02:00
aditya
4737625d22
fix typo
2021-05-19 11:56:43 +05:30
aditya
2c679dcec3
return to firmware instead of halting in uefi mode
2021-05-19 11:49:53 +05:30
mintsuki
eb51e5a14a
readline: Fix handling of escape key for BIOS
2021-05-19 08:13:15 +02:00
mintsuki
4c1782357a
readline: Fix issue where timeouts were not reported properly on BIOS
2021-05-13 02:56:25 +02:00
mintsuki
df6a0d3c24
readline: Protect against non-printable characters
2021-05-12 13:10:39 +02:00
mintsuki
12ec203f46
chainload: EFI workarounds
2021-05-12 12:53:06 +02:00
mintsuki
f650e4b41b
misc: Add verbose config option
2021-05-11 06:46:42 +02:00
mintsuki
0eb5af44aa
Revert "stivale2: Reduce verbosity"
...
This reverts commit 2526b92ab3
.
2021-05-11 06:12:47 +02:00
mintsuki
b73890cce5
Revert "stivale: Reduce verbosity"
...
This reverts commit 8b38bc55cb
.
2021-05-11 06:12:33 +02:00
mintsuki
0687bd2760
Revert "linux: Reduce verbosity"
...
This reverts commit e228745e5c
.
2021-05-11 06:12:22 +02:00
mintsuki
9174a241dc
fat: Implement FAT12
2021-05-11 06:04:23 +02:00
mintsuki
e228745e5c
linux: Reduce verbosity
2021-05-11 02:15:44 +02:00
mintsuki
8b38bc55cb
stivale: Reduce verbosity
2021-05-11 02:11:37 +02:00
mintsuki
2526b92ab3
stivale2: Reduce verbosity
2021-05-11 02:09:59 +02:00
mintsuki
3681263f7b
panic: Properly reset palette
2021-05-10 23:06:39 +02:00
mintsuki
1a83dfcf78
misc: Misc bug fixes
2021-05-07 00:27:49 +02:00
mintsuki
db3a41bc4c
uefi: Implement chainloading support
2021-05-06 04:31:05 +02:00
mintsuki
540829f6a7
disk: Minor adjustments and fixes
2021-05-05 19:59:21 +02:00
mintsuki
fdfa0207e6
stivale: Panic if higher half addresses header flag is set for 32-bit kernels
2021-05-05 00:53:18 +02:00
mintsuki
ad2e03b434
pmm: Guard against broken E820 causing an EBDA overwrite
2021-05-05 00:12:20 +02:00
mintsuki
a01e5ecd1a
stivale2: Implement higher half returned addresses flag
2021-05-04 23:00:26 +02:00
mintsuki
4bd3a540a8
stivale: Implement higher half returned addresses flag
2021-05-04 15:17:36 +02:00
mintsuki
07d9f7d7ee
build: Bump GCC to 11.1.0, misc fixes
2021-05-04 13:56:00 +02:00
mintsuki
b401d07f8f
build: Work around GCC issue where -static-pie does not seem to work with -elf cross compilers
2021-05-03 01:08:31 +02:00
mintsuki
ac9ddc7cdd
uefi: Fix linking flags
2021-05-02 22:52:24 +02:00
mintsuki
7750e14c10
stivale2: Preserve state of FS and GS segment registers across terminal print calls
2021-04-30 02:09:00 +02:00
mintsuki
1365d9656b
linux: Make sure to align kernel and modules memory map allocations to page size
2021-04-29 00:45:02 +02:00
mintsuki
f2b172be71
linux: Pass additional EFI info to kernel
2021-04-28 23:41:34 +02:00
mintsuki
8475f98f08
linux: Pass EDID info onto kernel
2021-04-28 22:56:28 +02:00
mintsuki
033ceb3353
stivale: Implement SMBIOS related stuff. Fixes #81
2021-04-28 20:15:24 +02:00
mintsuki
3702060f69
disk: Limit the range of hard drives and optical drives scanned in BIOS
2021-04-24 22:59:03 +02:00
mintsuki
fb7e9fdb3c
pmm: Remove dead code and misc bug fixes
2021-04-20 13:52:42 +02:00
mintsuki
6554ff8c38
menu: Fix issue where rescue editor would ignore modifications made when triggered by missing config file instead of lack of entries
2021-04-20 10:49:49 +02:00
mintsuki
f2505f4169
config: Fix issue where menu_tree would be always NULL
2021-04-20 10:16:43 +02:00
mintsuki
7f63b9a10a
menu: Instead of panicking when no config file exists or it has no entries, offer the user the ability to manually type in a boot entry
2021-04-20 06:45:03 +02:00
mintsuki
b3e4c49e57
vmm: The PAT flag was accidentally set for 4KiB pages
2021-04-20 06:11:02 +02:00
mintsuki
c3db6d0c41
stivale: Implement KASLR config option
2021-04-15 04:32:49 +02:00
mintsuki
3c0fd2b56b
stivale2: Make sure memory at 0x70000 is actually free as per spec
2021-04-15 04:08:20 +02:00
mintsuki
06315dd809
pmm: Protect page 0 of physical memory
2021-04-15 03:44:25 +02:00
mintsuki
4e4017fb13
pmm: Rework conventional memory allocator
2021-04-15 02:21:38 +02:00
mintsuki
d9466f3d25
stivale2: Implement unmap NULL using 4KiB pages
2021-04-14 21:57:23 +02:00
mintsuki
5488c8818b
stivale2: Implement unmap NULL feature
2021-04-14 11:06:14 +02:00
mintsuki
693945b157
stivale2: Implement cols and rows fields for terminal struct tag
2021-04-14 10:44:55 +02:00
mintsuki
042c8037a8
stivale2: Terminal: Save and restore user segment registers instead of smashing them
2021-04-13 21:48:09 +02:00
mintsuki
c011339c0c
stivale2: Clear terminal before passing control to kernel
2021-04-11 10:15:14 +02:00
mintsuki
9ab0beea54
build: Pass -Werror to nasm
2021-04-11 10:00:57 +02:00
mintsuki
7ac20e0615
gterm: Many improvements
2021-04-11 02:30:48 +02:00
mintsuki
e402508b61
gop: Preset mode is the one the firmware gives us
2021-04-11 02:08:24 +02:00
mintsuki
380f358e07
gop: Do not assume BPP to always be 32
2021-04-11 02:04:38 +02:00
mintsuki
49621f5c4f
stivale: Map the framebuffer in the memory map only in stivale protos
2021-04-11 01:38:06 +02:00
mintsuki
4dc24474a0
gterm: Fix allocated buffer which could be too small and result in an overflow
2021-04-11 01:33:58 +02:00
mintsuki
5434ccb598
gop: Implement missing logic to avoid setting modes when unnecessary
2021-04-11 01:29:39 +02:00
mintsuki
4bbc98b62e
Revert "video: Many terminal related bug fixes and improvements"
...
This reverts commit f7638e965b
.
2021-04-11 01:26:50 +02:00
mintsuki
f7638e965b
video: Many terminal related bug fixes and improvements
2021-04-10 23:08:32 +02:00
mintsuki
3be9003992
linux: Ensure that the framebuffer memory map tag does not reach the kernel
2021-04-10 06:09:15 +02:00
mintsuki
c796764aa9
stivale2: Initialise gterm in case we're coming in from a non-graphical mode
2021-04-09 04:57:52 +02:00
mintsuki
ebcaf8dfa0
gensyms.sh: Explicitly use bash in shebang
2021-04-09 03:09:33 +02:00
mintsuki
c3481e12cc
mtrr: Wholly remove MTRR support
2021-04-09 02:28:56 +02:00
mintsuki
91f0600e6b
image: Add support for centering images
2021-04-09 01:26:39 +02:00
mintsuki
bf9962e86f
gterm: Speed up terminal by doing sub-character pixel comparisons and only printing differences
2021-04-09 00:22:20 +02:00
mintsuki
8bd7cf743c
gterm: Speed up terminal greatly by only printing on screen characters that changed
2021-04-08 23:41:35 +02:00
mintsuki
55a88438f4
menu: Default to black and grey for bg and fg in case they are not provided for backwards compatibility
2021-04-08 23:34:22 +02:00
mintsuki
05c60bac51
gterm: Speed up terminal greatly by caching an alpha blent canvas of the background instead of alpha blending every pixel of the background every time
2021-04-08 23:05:27 +02:00
mintsuki
21ec72f1b7
build: Minor changes
2021-04-08 21:02:46 +02:00
mintsuki
543edfa0b3
build: Make build system more flexible to use when using the host toolchain
2021-04-08 19:41:46 +02:00
mintsuki
621fc30a3b
build: Prefer -static-pie to -shared for linking PIE executables
2021-04-08 02:07:40 +02:00
mintsuki
9caa555973
trace: Add support for UEFI
2021-04-08 01:15:35 +02:00
mintsuki
7abb7348a9
stivale2: Implement terminal
2021-04-07 02:10:28 +02:00
mintsuki
4c5ff180d7
menu: Fix broken comparison that would always override user set menu resolution
2021-04-06 23:57:28 +02:00
mintsuki
bfc613bcbb
video: Fix missing terminal deinitialisation before changing into final video mode
2021-04-04 18:05:18 +02:00
mintsuki
98fdd625c4
video: Wire in new textmode modesetting logic; use BIOS instead of VGA ports to enable and disable hardware textmode cursor
2021-04-04 04:51:55 +02:00
mintsuki
49ac7572d1
video: Implement fb_clear()
2021-04-04 04:02:05 +02:00
mintsuki
1ffb45ac9c
video: Do not switch video modes when unnecessary to avoid flickering and screen blanking out
2021-04-04 03:38:38 +02:00
mintsuki
f899648d86
build: Misc enhancements
2021-04-03 22:12:40 +02:00
mintsuki
12aceadc76
libgcc: Fix __udivmoddi4 and __divmoddi4
2021-04-03 15:26:58 +02:00
mintsuki
d6f2585b09
real: Remove stray mov from sleep.asm
2021-04-03 01:33:01 +02:00
mintsuki
235096cb62
build: Remove now useless libgcc.a references from linker scripts
2021-04-03 01:23:14 +02:00
mintsuki
8e4de054d7
build: Generally rework build system to easily allow 3rd party toolchains to be used. Drop reliance on libgcc for BIOS builds by shipping our own routines instead
2021-04-03 00:48:38 +02:00
mintsuki
74ef5901a7
build: UEFI: Link using gcc rather than ld directly, and do not enable PIC
2021-04-02 16:45:14 +02:00
mintsuki
2bdd297c3d
build: Pull actual branch name from git rather than hardcoding 'trunk'
2021-04-02 16:19:56 +02:00
mintsuki
dce8d312ea
stivale2: Report correct kernel/modules memory map type value
2021-04-01 20:05:27 +02:00
mintsuki
59dd147bf4
stivale: Refuse to boot if text mode wanted on UEFI
2021-03-31 01:48:27 +02:00
mintsuki
0f0dddf75e
part: Harden MBR detection code
2021-03-29 12:14:17 +02:00
mintsuki
bd0a713c1c
bios: Skip disks which return bogus geometry
2021-03-28 20:30:13 +02:00
mintsuki
0885bac3aa
stivale2: Implement kernel slide tag
2021-03-28 16:20:23 +02:00
mintsuki
d1946b9dbc
stivale2: Implement kernel file tag
2021-03-28 15:46:59 +02:00
mintsuki
fc0dc17bb9
stivale2: Remove useless KASLR related code
2021-03-26 16:50:50 +01:00
mintsuki
30b750a2ad
elf: Always do ASLR when loading relocatable ELFs and handle unavailable memory ranges instead of crashing
2021-03-26 15:47:59 +01:00
mintsuki
621a004bf2
menu: Make right arrow act as enter on entries
2021-03-26 13:56:09 +01:00
mintsuki
04bef1ce1a
misc: Warn about missing limine.sys only when necessary
2021-03-21 09:44:07 +01:00
mintsuki
af53421cd0
fb: Support 64-bit EFI framebuffer bases
2021-03-21 08:25:50 +01:00
mintsuki
698e386cc5
misc: Add warnings about copying limine.sys over
2021-03-21 07:58:21 +01:00
mintsuki
48e6d8f90e
echfs: Remove overly verbose print
2021-03-21 07:49:31 +01:00
mintsuki
b20c440278
linux: Remove overly verbose print
2021-03-21 07:46:54 +01:00
mintsuki
c89644b3d1
edid: Properly get segment:offset from flat address
2021-03-20 13:07:28 +01:00
mintsuki
2dc49ee73b
vbe: Force bpp to 32 when trying EDID else it will never work
2021-03-20 12:03:57 +01:00
mintsuki
984986a64d
iso9660: Add support for rock ridge and properly handle padded sectors when searching directories
2021-03-20 11:52:53 +01:00
mintsuki
cd3a64c9f1
linux: Initial support for 32 bit boot protocol instead of 16 bit one
2021-03-19 09:36:49 +01:00
mintsuki
37a40880b2
protos: Fix retf frames for Linux and chainload
2021-03-17 19:40:27 +01:00
mintsuki
2e12cc0a40
protos: Make sure Linux and chainload protocols use the proper real mode IVT when spun up
2021-03-17 19:12:31 +01:00
mintsuki
e374d73265
pmm: Fix bug with memmap_alloc_range() where the type of the new upper entry was incorrectly set
2021-03-17 17:56:36 +01:00
mintsuki
f7dc2e7b8e
pmm: Limit bump allocator to 0x70000 on UEFI as well
2021-03-17 07:51:32 +01:00
mintsuki
fd66a94334
gop: Change way preset resolution is set when fallbacking
2021-03-17 07:43:34 +01:00
mintsuki
1b1b014a34
pmm: Misc bug fixes and improvements
2021-03-17 06:53:24 +01:00
mintsuki
741dca5089
misc: Fix linker_dbg.ld section misplacement
2021-03-15 07:32:23 +01:00
mintsuki
b71e3a0a0e
misc: Fix LIMINE_VERSION
2021-03-15 06:43:59 +01:00
mintsuki
39936f5929
fb: Improve fallback resolution logic
2021-03-15 02:56:49 +01:00
mintsuki
6bbc31f232
disk: Actually wire in the max_partition logic
2021-03-15 02:22:55 +01:00
mintsuki
503fb92c90
config: Update search paths
2021-03-14 07:04:12 +01:00
mintsuki
6c7e096800
stivale2: Implement EDID and EFI system table tags
2021-03-14 06:13:19 +01:00
mintsuki
3674ce3af9
gop: Implement fallback resolutions like for VBE
2021-03-14 03:03:08 +01:00
mintsuki
d6cda61fb9
gop: Properly determine bpp and pixel masks and shifts
2021-03-14 02:11:41 +01:00
mintsuki
7950ac5997
uefi: Add hacky support for determining boot drive was a CD
2021-03-13 15:53:16 +01:00
mintsuki
094c8eca5b
protos: Properly advertise the presence of PXE to stivale2
2021-03-13 14:26:27 +01:00
mintsuki
1f1f601c50
pmm: Make sure conv_mem_alloc() does not return NULL as a valid allocation
2021-03-13 14:10:40 +01:00
mintsuki
441c6fadbe
misc: Makefile fixes
2021-03-13 09:48:11 +01:00
mintsuki
9386536c64
uefi: We don't do PXE
2021-03-13 09:45:17 +01:00
mintsuki
7ee7e3425c
pxe: Make it work again
2021-03-13 09:08:01 +01:00
mintsuki
de4fd786dd
uri: Replace bios:// with hdd:// and odd://
2021-03-13 08:27:15 +01:00
mintsuki
5380c82e57
fat16: FAT16 does not use the high sector number in the directory entries
2021-03-13 05:18:55 +01:00
mintsuki
1822839506
fat: Initial FAT16 implementation
2021-03-13 05:07:18 +01:00
mintsuki
23838a4e84
misc: We don't stacktrace on UEFI
2021-03-13 03:40:17 +01:00
mintsuki
63bccd9b0a
misc: IDT itself does not need to be in .realmode
2021-03-13 03:39:38 +01:00
mintsuki
94887a4533
misc: Handle CPU exceptions nicely
2021-03-13 03:21:01 +01:00
mintsuki
9e60b1da10
misc: Split off a stage 2 symbol map and embed it into stage 2 so that it can print stacktrace symbol names before stage 3 is loaded
2021-03-12 05:19:56 +01:00
mintsuki
6d9d3259a1
stivale: UEFI is not BIOS
2021-03-12 00:04:37 +01:00
mintsuki
53332d7056
misc: Clean up the boot device detection system
2021-03-11 00:23:44 +01:00
mintsuki
0cd183faf4
misc: Make sure Limine UEFI still works without GRAPHICS=yes and/or with TIMEOUT=0
2021-03-10 05:08:37 +01:00
mintsuki
7f32fb591b
mtrr: Fix range overlap check
2021-03-10 04:45:30 +01:00
mintsuki
8bcbaa48c9
stivale: Exit boot services in the right spot
2021-03-10 03:09:42 +01:00
mintsuki
ab441fecda
acpi: Fix length of RSDP calculation
2021-03-10 02:27:26 +01:00
mintsuki
0ab68fa83e
pmm: Remove useless if
2021-03-10 01:35:28 +01:00
mintsuki
6fe0a46a34
pmm: Implement pmm_reclaim_uefi_mem()
2021-03-10 01:23:44 +01:00
mintsuki
32aa82a1bd
misc: Fix output of limine_stage2only.elf in Makefile
2021-03-08 03:08:32 +01:00
mintsuki
db20cc7580
misc: Disentangle Makefiles so it builds fine with -j
2021-03-08 03:05:39 +01:00
mintsuki
a8626d6fdd
misc: Initial Makefile rework
2021-03-08 00:50:23 +01:00
mintsuki
62b042a2fe
Get SMP to work on UEFI
2021-03-07 06:50:04 +01:00
mintsuki
058da70164
Misc fixes
2021-03-07 04:31:06 +01:00
mintsuki
e56df5b3ab
pmm: Make conventional memory allocator work with UEFI
2021-03-07 04:10:44 +01:00
mintsuki
4e55d28777
acpi: Implement UEFI version of acpi_get_rsdp()
2021-03-07 03:57:18 +01:00
mintsuki
d96bdf775b
fat32: Fix base calculation for cluster sizes of more than 1 sector
2021-03-07 03:03:56 +01:00
mintsuki
5d3f8b4eb0
Implement do_32() and make stivale kernels work with UEFI
2021-03-07 00:52:25 +01:00
mintsuki
6c22743c7e
Do not build necessary gnu-efi dependencies using the host compiler, use our toolchain instead
2021-03-06 06:02:48 +01:00
JlXip
32a4539313
iso9660: support files without extension
2021-03-05 23:51:34 +01:00
mintsuki
443266feb3
Implement UEFI EDID
2021-03-05 23:48:52 +01:00
mintsuki
c3c278ffdd
Always use our own (better) allocator
2021-03-05 06:10:58 +01:00
mintsuki
a81f094d1d
Implement UEFI to Limine memory map conversion
2021-03-05 04:20:58 +01:00
mintsuki
8939c3421c
misc: Compile stage 2 with -Os and stage 3 with -O3
2021-03-04 23:12:40 +01:00
mintsuki
cbcf3779b6
Fix keyboard stuff
2021-03-04 13:48:31 +01:00
mintsuki
f26b6045a7
Let there be GOP
2021-03-04 10:13:02 +01:00
mintsuki
c478e57adb
Tidy up stage 3 entry
2021-03-04 09:22:08 +01:00
mintsuki
deac1d7fd1
Misc stuff
2021-03-04 09:15:10 +01:00
mintsuki
7be0b35f6f
We got the config to load
2021-03-04 07:18:00 +01:00
mintsuki
1be84baf84
Makefile fixes
2021-03-04 05:30:31 +01:00
mintsuki
746d9146c6
Make the smp trampoline more UEFI friendly
2021-03-04 05:15:20 +01:00
mintsuki
82466973d3
Implement disk_volume_from_efi_handle()
2021-03-04 01:42:25 +01:00
mintsuki
e21b9d87c9
Fix sleep_and_quit_on_keypress on BIOS
2021-03-03 22:47:46 +01:00
mintsuki
f7a8bbd7f6
A lot of changes
2021-03-03 22:38:28 +01:00
mintsuki
54862a8269
disk: More properly detect non-present removable media
2021-03-03 22:20:48 +01:00
mintsuki
3e4b4a6b9b
disk: Move caching code to part.c from disk.c
2021-03-03 22:02:18 +01:00
mintsuki
0ec053710c
Make it work
2021-03-02 19:11:34 +01:00
mintsuki
6d756cf78b
Makefile fixes
2021-03-02 10:42:35 +01:00
mintsuki
edd4a8de60
Initial UEFI port
2021-03-02 10:23:43 +01:00
mintsuki
a7a168a682
fb: Abstract framebuffer API
2021-03-02 06:21:05 +01:00
mintsuki
689e82dba7
vbe: Move graphical terminal code to gterm and ship font instead of dumping from graphics card
2021-03-02 06:05:14 +01:00
mintsuki
d4ea15e39e
misc: Make sure to remove limine_stage2only.elf in stage23 clean target
2021-03-01 23:57:39 +01:00
mintsuki
8c0c36ea74
misc: Change the way stage 2 and 3 are divided
2021-03-01 23:38:55 +01:00
mintsuki
659a6afa18
iso9660: Fix GCC 11 'array subscript partly outside array bounds' warning
2021-03-01 20:43:27 +01:00
mintsuki
1e7ba95230
config: Move config code to stage 3
2021-02-26 01:30:27 +01:00
mintsuki
60742ea6a5
main: Add missing switch case for CD boot
2021-02-26 00:34:36 +01:00
mintsuki
8769aaae1e
misc: Move a lot of code from stage 2 to stage 3
2021-02-25 23:11:53 +01:00
mintsuki
08f6ea60a8
misc: Add measures to prevent stage 2 from accidentally relying on stage 3 before the latter is loaded
2021-02-25 11:28:14 +01:00