mintsuki
b7176d5cfa
bmp: Ensure that bf_offset + bf_size <= file size
2021-09-25 02:02:21 +02:00
mintsuki
5374e4e1f2
bios: Call a20_enable() before doing anything else
2021-09-23 00:17:15 +02:00
mintsuki
dbab5f6063
apic: Do not attempt an APIC flush for protocols that don't mask IRQs
2021-09-22 12:33:56 +02:00
mintsuki
5a4a6151b9
stivale: Pass the right number of arguments to common_spinup()
2021-09-21 20:01:02 +02:00
mintsuki
4d40e73692
efi: Disable watchdog timer
2021-09-21 18:56:20 +02:00
mintsuki
56ceffb44b
entry: Move some initialisation calls to after config initialisation
2021-09-21 18:40:23 +02:00
mintsuki
46be45fabc
spinup64: Don't smash argument registers when calling flush_irqs()
2021-09-21 18:34:41 +02:00
mintsuki
21b926fb70
idt: Move flush_irq() logic to stage 3
2021-09-21 17:44:01 +02:00
mintsuki
c2e279db66
protos: Remove now-useless pic_flush() calls
2021-09-21 17:34:24 +02:00
mintsuki
7637f94efa
apic: Improve pending IRQ flushing mechanism
2021-09-21 17:28:32 +02:00
mintsuki
289030a105
build: Resolve some potential dependency race on gnu-efi
2021-09-21 15:02:37 +02:00
mintsuki
f73a19b5d5
apic: Do not panic if APIC not found
2021-09-21 14:49:48 +02:00
mintsuki
b29a513e6c
apic: Add logic to mask all IO APIC GSIs. Fixes #111
2021-09-21 11:11:52 +02:00
mintsuki
521cb1728a
stivale: Make unaligned stack request a warning rather than a panic
2021-09-19 14:42:40 +02:00
mintsuki
04732c6221
multiboot2: Add support for EFI system table tag
2021-09-14 23:12:34 +02:00
mintsuki
33692555a7
multiboot2: Add support for a.out kludge and other enhancements
2021-09-14 22:12:22 +02:00
mintsuki
35273093ba
term: Cursor should flip palette
2021-09-14 20:02:09 +02:00
mintsuki
ab19d6ccad
menu: Clear line before reprinting timeout message
2021-09-14 18:35:42 +02:00
mintsuki
fe882a8b2e
multiboot1 and 2: General fixes and cleanup
2021-09-14 07:43:17 +02:00
mintsuki
fa5fa057bd
term: Do not parse escape-abort characters when not in runtime mode
2021-09-13 09:49:43 +02:00
mintsuki
05eb70e9f0
smp: Use rdtsc to delay rather than dummy port IO
2021-09-13 05:13:02 +02:00
mintsuki
ae02de7902
multiboot2: Fix broken append_tag() invocation
2021-09-13 04:56:00 +02:00
mintsuki
4ad7081e6c
multiboot2: Misc adjustments
2021-09-13 04:49:59 +02:00
mint
90bdd0dca0
Merge pull request #109 from Andy-Python-Programmer/trunk
...
multiboot2: initial support
2021-09-13 04:33:39 +02:00
Andy-Python-Programmer
875d90d7a0
multiboot2: add copyright notice on multiboot2 header file
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-13 12:31:21 +10:00
Andy-Python-Programmer
dab6504102
multiboot2: add kernel modules support
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-13 12:21:31 +10:00
Andy-Python-Programmer
7ce2354c88
mutlboot2: assert that we do not overflow the mmap tags
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-13 11:10:45 +10:00
Andy-Python-Programmer
e17d34ee70
multiboot2: allocate bootinfo size AOT
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-12 17:19:50 +10:00
Andy-Python-Programmer
8b8388b167
elf_section_hdr_info: return the info instead of void
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-12 12:54:37 +10:00
mintsuki
7ad45e8daf
term: Fix bug introduced when moving from int to size_t for coordinates. Fixes #110
2021-09-11 08:43:39 +02:00
Andy-Python-Programmer
42f821f043
multiboot2: add EFI memory map tag
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-11 15:06:51 +10:00
Andy-Python-Programmer
5d2ce0d117
multiboot2: add ACPIv2 info tag
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-11 14:34:22 +10:00
Andy-Python-Programmer
6f15587c85
multiboot2: add the framebuffer tag
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-10 18:41:01 +10:00
Andy-Python-Programmer
6d034adc5a
multiboot2: implement ELF sections tag
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-10 18:02:54 +10:00
Andy-Python-Programmer
60811e70d6
multiboot2: initial support
...
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-09-10 13:46:41 +10:00
mintsuki
9459207ab3
ext2: Implement triply indirect blocks
2021-09-07 10:35:34 +02:00
mintsuki
3dbd494f87
disk: Signature double checking for EFI volume detection fallback
2021-09-06 08:52:41 +02:00
mintsuki
f20457f671
menu: Add option to change the colour of the branding string
2021-09-06 07:31:57 +02:00
mintsuki
db25c748f4
stivale1: Copy the memmap to a bootloader reclaimable region to conform with the spec
2021-09-06 03:33:15 +02:00
mintsuki
dafc710c60
pmm: Allocate memory map dynamically using EFI
2021-09-03 03:10:23 +02:00
mintsuki
0410e53e3d
cpu: Make rdseed() macro actually use rdseed
2021-09-02 22:59:51 +02:00
StaticSaga
62198ba1b0
fat32: fix LFN ignoring bug introduced by 25e1194
2021-09-02 11:53:43 +02:00
mintsuki
5217f50bbd
pmm: Increase the max size of the memory map
2021-09-02 04:23:09 +02:00
mintsuki
86780fc776
efi: Improve reclaim memory process
2021-09-02 02:47:08 +02:00
mintsuki
b00845fba0
efi: Add fallback in case we do not manage to pair the boot device handle with a volume
2021-09-02 02:11:15 +02:00
mintsuki
1a71851c7d
disk: Readd readback detection method as fallback
2021-09-02 01:31:36 +02:00
mintsuki
25e119496e
fat: Ignore volume label entries in directories. Fixes #107
2021-09-01 23:34:31 +02:00
mintsuki
134fd3c8bd
disk: Use a different method to match EFI_HANDLEs with volumes
2021-09-01 23:01:03 +02:00
mintsuki
0af91feaef
disk: Remove bogus pointer
2021-09-01 20:22:28 +02:00
mintsuki
0312020bd2
term: Nul should be ignored
2021-08-29 16:16:32 +02:00
mintsuki
12566c53b3
elf: Make allocation failure simulation more lax
2021-08-29 16:11:56 +02:00
mintsuki
0af1cdb72a
readline: UEFI: getchar() rework
2021-08-26 18:22:09 +02:00
mintsuki
0562c8ef70
multiboot1: When on BIOS, set IDTR to BIOS defaults before handoff
2021-08-26 01:41:13 +02:00
mintsuki
605623bd05
disk: Improve algorithm to determine fastest transfer size
2021-08-26 01:33:43 +02:00
mintsuki
57c44befee
Revert "term: Reverse video should not make the cursor invisible"
...
This reverts commit a5def082c3
.
2021-08-26 01:23:27 +02:00
mint
9d8fd54127
Merge pull request #104 from ArsenArsen/trunk
...
readline: re-add emacs key support
2021-08-26 00:17:55 +02:00
Arsen Arsenović
50dcc58a77
readline: re-add emacs key support
...
This time, we properly check shift flags from both the firmware options,
as to not lead to conflicts with existing code. The logic for checking
whether Ctrl is being held is also a lot cleaner now.
2021-08-26 00:15:42 +02:00
mintsuki
a5def082c3
term: Reverse video should not make the cursor invisible
2021-08-25 23:57:19 +02:00
mintsuki
31f52c2b30
efi: Directly use EFI functions instead of using GNU-EFI's call wrapper
2021-08-25 22:03:00 +02:00
mintsuki
23a93a85dc
term: Bug fixes
2021-08-24 01:08:08 +02:00
mintsuki
16645dfb48
disk: Misc fixes
2021-08-22 22:07:48 +02:00
mintsuki
483cb4655d
misc: Add copyright notice at boot
2021-08-22 18:29:18 +02:00
mintsuki
712f4c02e6
disk: Remove redundant code used to get volume count
2021-08-22 18:05:21 +02:00
mintsuki
9a934eb683
efi: Leave 64MiB to firmware instead of 16MiB
2021-08-22 17:57:52 +02:00
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