Commit Graph

622 Commits

Author SHA1 Message Date
mintsuki
6fad120218 disk: Use stdalign.h instead of GCC attribute 2022-01-01 13:15:53 +01:00
mintsuki
3402b22cb6 misc: Move to standard C11 noreturn 2021-12-31 10:58:05 +01:00
mintsuki
97eaf2777d volume: Catch xfer_size==0 condition in cache_block() 2021-12-29 01:18:41 +01:00
mintsuki
63c3f48f49 libgcc: Small __*divmoddi4 bug fix 2021-12-29 01:14:11 +01:00
mintsuki
5b3dab3036 volume: Fix bug where reads close to the end of drive may fail 2021-12-24 00:19:24 +01:00
mintsuki
d948b6e98e chainload: Fix up drive number passed to spinup() 2021-12-23 20:51:38 +01:00
mintsuki
245bea9ef3 build: Misc Makefile improvements 2021-12-22 22:08:19 +01:00
mintsuki
e9383335b4 stivale1&2: Allocate kernel with the right memmap type for 32-bit 2021-12-22 20:27:51 +01:00
mintsuki
b332e85876 build: Improve clang detection code 2021-12-22 01:44:33 +01:00
mintsuki
364809bc5f lds: Move build-id inside limine.sys size area 2021-12-22 00:10:43 +01:00
mintsuki
62e9936b71 fat32: Do not hardcode sector size 2021-12-20 07:49:39 +01:00
mintsuki
a3890c9e60 build: Fix makefile race condition 2021-12-20 06:12:31 +01:00
mintsuki
966b4e542d build: UEFI linker scripts adjustments 2021-12-19 02:22:21 +01:00
mintsuki
66ac709839 build: BIOS linker scripts adjustments 2021-12-19 01:08:34 +01:00
mintsuki
ed82bd6113 build: Remove useless subsystem objcopy argument for UEFI 2021-12-19 00:28:02 +01:00
mintsuki
5ae2433f39 menu: Do not reset term on editor exit to menu 2021-12-18 20:51:07 +01:00
mintsuki
8977863d91 Revert "build: Small change to EFI objcopy command"
This reverts commit 1e69aff0d7.
2021-12-18 20:43:35 +01:00
mintsuki
cd4431f227 config: Misc macro improvements 2021-12-15 19:45:54 +01:00
mintsuki
b5808884a3 config: Implement macros 2021-12-15 19:29:12 +01:00
lukflug
4cb616bcad panic: Prevent recursive panics during early boot 2021-12-14 06:47:28 +01:00
mintsuki
1e69aff0d7 build: Small change to EFI objcopy command 2021-12-12 19:58:15 +01:00
mintsuki
acdd21348d misc: Add no_unwind to some variables 2021-12-12 19:06:36 +01:00
mintsuki
f0cda17326 misc: Implement .no_unwind section 2021-12-12 18:48:36 +01:00
mintsuki
88cd9dca7e misc: Unwind both .data and .bss 2021-12-12 18:40:27 +01:00
mintsuki
2f66e0f23a menu: Fix stack alignment issue 2021-12-12 18:30:41 +01:00
mintsuki
5fb4f68a5b console: Add editor command 2021-12-11 22:22:48 +01:00
mintsuki
d021d6ff12 menu: Fix panic menu-reentry with TIMEOUT=0; fix entry assembly 2021-12-11 20:28:16 +01:00
mintsuki
edad956e9a misc: Allow recovering from panics 2021-12-11 19:58:00 +01:00
mintsuki
0d8037a4a4 Revert "stivale2: Add stack validity check"
This reverts commit 4a59ba6ba4.
2021-12-11 17:55:47 +01:00
mintsuki
9131aee184 Revert "stivale2: Only test stack validity if in top 2GiB"
This reverts commit eaea24f552.
2021-12-11 17:55:47 +01:00
mintsuki
2891c3c4a8 menu: Add missing semicolon after label 2021-12-11 16:08:11 +01:00
mintsuki
f50bbcd9a2 menu: Move protocol logic from entry.s3.c to menu.c 2021-12-11 15:34:30 +01:00
mintsuki
d0e0248f9c misc: Use %p where appropriate in prints 2021-12-10 03:18:19 +01:00
mintsuki
48828f316b misc: Move to assembly for mem family functions 2021-12-10 02:56:56 +01:00
mintsuki
0f35483ee7 stivale.32: xorq -> xorl 2021-12-10 01:13:35 +01:00
mintsuki
b1bbcc4698 elf: Use right print format for panic 2021-12-09 23:47:01 +01:00
mintsuki
59f66809f3 menu: Fix editor bug with cursor wrapping 2021-12-09 23:37:59 +01:00
mintsuki
68c7e26574 build: Move to reduced-gnu-efi 2021-12-08 21:26:25 +01:00
mintsuki
84c8dce062 uefi32: Fix bug introduced in 2f844f3 2021-12-08 18:20:45 +01:00
mintsuki
477a04b630 build: Makefile improvements 2021-12-08 17:41:19 +01:00
mintsuki
2be3776f34 linux: Ensure loading message shows up before fopen() for modules 2021-12-07 11:53:17 +01:00
mintsuki
eaea24f552 stivale2: Only test stack validity if in top 2GiB 2021-12-06 19:10:57 +01:00
mintsuki
4a59ba6ba4 stivale2: Add stack validity check 2021-12-06 18:58:29 +01:00
mintsuki
e127b6c88a elf: Print out range addresses on allocation failure 2021-12-06 02:31:35 +01:00
mintsuki
beffb3e9ea elf: Add guards to prevent non-higher half 64-bit kernels from loading when using PMRs or fully virtual mappings 2021-12-06 00:21:38 +01:00
mintsuki
ce37d327ef pmm: Mark Limine image wholly as bootloader reclaimable in memory map when using UEFI 2021-12-02 01:23:40 +01:00
mintsuki
ec4b01865c main: Add autodetection prompt instead of doing it automatically 2021-11-28 22:30:05 +01:00
mintsuki
79970493d8 elf: Silence excessive verbosity 2021-11-28 22:18:49 +01:00
mintsuki
21b625be43 build: Fix up MKESCAPE macro logic 2021-11-28 19:14:34 +01:00
mintsuki
6dcce5f7d2 build: Initial support for special characters in build path 2021-11-28 19:00:49 +01:00
mint
99c42e7686
Merge pull request #135 from pitust/trunk
fwcfg: implement fw_cfg for kernel/config loading
2021-11-28 12:45:17 +01:00
pitust
ea615eb9c8 fix my tabs 2021-11-27 11:01:47 +00:00
mintsuki
f5b3653d26 linux: Add TEXTMODE config option 2021-11-27 00:44:07 +01:00
mintsuki
6b0c9c4cb1 vbe&gop: Add 24 and 16 bpp modes to list of fallbacks (see #137) 2021-11-27 00:15:33 +01:00
mintsuki
dab74fd81a linux: Fall back to text mode if unable to set video mode (see #137) 2021-11-27 00:06:06 +01:00
mintsuki
89f6d7ddeb Revert "build: Support spaces in build directory"
This reverts commit d815c3d732.
2021-11-26 14:51:01 +01:00
pitust
47bb8ce3fa fwcfg: implement the fw_cfg interface 2021-11-26 12:09:09 +00:00
mintsuki
5da7b1fcdc multiboot1&2: Move kernel loading message to after detection code 2021-11-25 23:06:34 +01:00
mintsuki
2f844f3f48 stivale1&2: Pass higher half GDTR.base when returning higher half pointers 2021-11-25 22:46:16 +01:00
mintsuki
eea96cda9c gdt: Allocate GDT on the heap on UEFI 2021-11-25 21:51:41 +01:00
mintsuki
6c7fa6924a pmm: Work around sanitiser side effect introduced in b5eea0c 2021-11-25 21:06:17 +01:00
mintsuki
4bb42789ff multiboot1: Allocate root struct on the heap 2021-11-25 20:50:41 +01:00
mintsuki
735afcc4ee stivale1&2: Allocate root struct on the heap 2021-11-25 20:39:21 +01:00
mintsuki
d815c3d732 build: Support spaces in build directory 2021-11-25 18:44:10 +01:00
mintsuki
01255704bd stivale2: Implement slide HHDM header tag 2021-11-24 15:44:17 +01:00
mintsuki
6bcbfe9b48 protos: Implement autodetection 2021-11-24 13:23:02 +01:00
mintsuki
ad3e17569c stivale2: Implement boot volume struct tag 2021-11-24 12:24:17 +01:00
mintsuki
5555af6641 term: Implement interruptible quiet mode 2021-11-23 11:47:14 +01:00
mintsuki
4a6aabbe55 panic: Mention CTRL+ALT+DEL in system halted message 2021-11-23 11:29:53 +01:00
mintsuki
65925ebc60 term: Bug fixes 2021-11-21 01:18:39 +01:00
mintsuki
237a3b3152 term: Fix bug introduced by last commit 2021-11-20 23:05:56 +01:00
mintsuki
89fbcbe71b term: When using quiet mode, hide textmode cursor 2021-11-20 22:40:27 +01:00
mintsuki
a937eb4202 term: Introduce quiet mode 2021-11-20 21:47:51 +01:00
mintsuki
6e61b4bd50 pmm: Minor cleanup 2021-11-19 15:15:06 +01:00
mintsuki
202eac3d3a bootboot: Remove bootboot support from Limine
I added bootboot support to Limine because it was sent as a pull request by a
friend. The following does not in any way place any blame on said friend.

After having had to fix numerous bugs related to misunderstandings about the
pretentious BOOTBOOT specification I've come to the conclusion that BOOTBOOT
absolutely doesn't belong in Limine.

If you want to boot a BOOTBOOT kernel with Limine just chainload the OG BOOTBOOT
and don't pollute the source tree of Limine with having to support such a brain
dead protocol.

Legit, I didn't really read the BOOTBOOT spec prior to today and just winged
the fixes to the BOOTBOOT proto code based on common sense, but it turns out that
BOOTBOOT adheres to no common sense.

Use stivale(2).
2021-11-10 14:15:14 +01:00
mintsuki
636164a8ae bootboot: Further address some of the issues raise in #124 2021-11-10 13:48:16 +01:00
mintsuki
8b81412e14 bootboot: Fix potential buffer overflow in bruteforce_kernel() (see #124) 2021-11-10 13:40:39 +01:00
mintsuki
42cd7d95ac build: Compile BIOS Limine for i686 instead of i386 2021-11-10 13:18:08 +01:00
mintsuki
6aba8decc4 bootboot: Check for the right architecture when bruteforcing kernel (see #124) 2021-11-10 12:29:58 +01:00
mintsuki
e0fefcf21c bootboot: Remove uselessness and compliance fixes (see #124) 2021-11-10 12:25:45 +01:00
mintsuki
6a56a07d20 Revert "bootboot: add a delay when assuming the stack size"
This reverts commit 252bc5e524.
2021-11-10 02:01:05 +01:00
mintsuki
9d4bf41ed9 config: Implement and use config_get_tuple() 2021-11-09 12:01:53 +01:00
Andy-Python-Programmer
8d25ad05d2
bootboot: make WARNING caps'ed for consistency
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-11-09 16:57:50 +11:00
mintsuki
1be24c3cbe bootboot: Fix spec compliance as noted in PR #124 comments 2021-11-09 00:32:05 +01:00
mintsuki
0c073fcc44 build: Get build-id from linker instead of generating a random one 2021-11-08 09:42:41 +01:00
mintsuki
2caf1eaec0 bootboot: Bug fixes 2021-11-08 07:06:32 +01:00
mintsuki
93cd5b1de3 bootboot: General cleanup 2021-11-07 12:29:58 +01:00
mint
99be5e2df5
Merge pull request #124 from pitust/trunk
bootboot: add initrd support, and add a warning about the init stack
2021-11-07 11:28:43 +01:00
pitust
252bc5e524 bootboot: add a delay when assuming the stack size 2021-11-07 08:12:40 +00:00
pitust
610ae1198a bootboot: remove random newline 2021-11-06 14:45:16 +00:00
pitust
db61f6914d bootboot: fix two issues in bootboot proto 2021-11-06 14:36:29 +00:00
pitust
6cbc63a32c bootboot: finish writing the error lmao 2021-11-06 12:15:04 +00:00
pitust
9374fb4f65 bootboot: add initrd support, and add a warning about the init stack 2021-11-06 09:10:11 +00:00
Andy-Python-Programmer
1580669781
stivale+stivale2: default to file path as the module string if NULL
Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-11-05 19:22:57 +11:00
mintsuki
c338f575d8 elf: Drop lower half program headers for PMRs 2021-11-05 03:22:19 +01:00
mint
5006077c51
Merge pull request #122 from pitust/trunk
bootboot: fix all the bad bugs
2021-11-04 09:32:25 +01:00
pitust
3338c8daa3 bootboot: flush both the pic and the apic 2021-11-04 08:19:17 +00:00
pitust
8308cfb3f2 bootboot: fix all the bad bugs 2021-11-04 07:56:54 +00:00
mintsuki
6ce89e9681 pmm: Better handling of creating new memmap entries 2021-11-03 02:32:17 +01:00
mintsuki
738095c451 stivale: Deprecate low memory area 2021-11-03 01:52:55 +01:00