Commit Graph

385 Commits

Author SHA1 Message Date
mintsuki
48f7dee672 cpu: Remove static from header inline functions 2021-08-22 17:37:09 +02:00
mintsuki
e497c1d7f4 disk: Fix bugs introduced by previous commit 2021-08-22 17:20:22 +02:00
mintsuki
049601814a disk: Add logic to determine fastest transfer size 2021-08-22 16:27:06 +02:00
mintsuki
dadca8fe17 efi: Rework EFI memory map sanitisation 2021-08-22 15:02:33 +02:00
mintsuki
ee3131bdfa gterm: Rearrange logic to determine font properties 2021-08-20 22:18:15 +02:00
mintsuki
cefc4a76ca gterm: Implement TERMINAL_FONT_SPACING and default it to 1 2021-08-20 19:25:42 +02:00
mintsuki
f9fe2f96ed misc: Bug fixes 2021-08-20 18:28:51 +02:00
Sebastian
904488c60f
acpi: Fix wrong data type in tables header 2021-08-19 18:13:20 -05:00
mintsuki
fa0aa6d7b9 gterm: Add config aliases and other minor fixes 2021-08-18 21:02:03 +02:00
Hannu Hartikainen
cd02860fc1 gterm: expand font 9th column like VGA
Implement column expansion like VGA Line Graphics Mode does it, e.g. the
8th column is replicated for characters 0xC0-0xDF. Do this for all
columns above 8 so font sizes like 10x16 are also usable.
2021-08-18 16:07:48 +03:00
Hannu Hartikainen
58d128b9f3 gterm: support font scaling 2021-08-18 16:07:48 +03:00
Hannu Hartikainen
c11dc2388d gterm: rename vga_font_{width,height} to lowercase
Now that the values are editable, this is the correct letter case.
However this deserves its own commit so the commit with the logical
change is easier to read.
2021-08-18 16:06:17 +03:00
Hannu Hartikainen
a8a8af4c5f gterm: support different font sizes 2021-08-18 16:06:17 +03:00
Hannu Hartikainen
867b4a5fa6 gterm: fix custom MENU_FONT
The default font being already loaded in stage2 prevented a custom font
from being loaded in stage3 (at least in UEFI). If a custom font is
configured, load it.
2021-08-18 16:06:17 +03:00
mintsuki
32192f73a4 docs: Document TEXTMODE option 2021-08-17 00:58:02 +02:00
mintsuki
b2e66e5a2d term: Misc improvements and fixes 2021-08-17 00:37:24 +02:00
mintsuki
385af687b3 vga_textmode: Replace BIOS calls to enable and disable hardware cursor with direct VGA port IO 2021-08-17 00:06:20 +02:00
mintsuki
19ecfe9c1e menu: Fix broken change 2021-08-17 00:00:23 +02:00
mintsuki
7e50f302e7 term: Fix broken defines and calls 2021-08-16 22:47:40 +02:00
mintsuki
17c5ec43e0 term: Finish up context control work 2021-08-16 20:56:39 +02:00
mintsuki
0b1c1ccc88 gterm: Add context control logic 2021-08-16 20:00:37 +02:00
mintsuki
a3f3f95bd7 term: Implement a bunch of escape sequences 2021-08-16 19:32:09 +02:00
mintsuki
1cd381a3aa stivale2: More reasonable code flow to determine target video mode 2021-08-16 18:34:30 +02:00
mintsuki
c7a46830f6 term: Mass backport changes done in Vinix upstream 2021-08-16 18:02:28 +02:00
mintsuki
993a602afb term: Support bold attributes 2021-08-12 07:52:25 +02:00
mintsuki
5f1c34a587 tftp: Overhaul and bug fixes 2021-08-12 07:40:29 +02:00
Andy-Python-Programmer
3b4d7c53fa
Implement the "stivale2_struct_tag_kernel_file_v2" tag
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-08-10 18:33:03 +10:00
mintsuki
7cca9dd42f build: Misc build system improvements 2021-08-07 07:26:34 +02:00
mintsuki
5ffce7c42e term: Support DEC private escape 25 (enable/disable cursor) 2021-08-06 06:16:41 +02:00
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