mintsuki
6529246e84
misc: Remove unnecessary ifdefs added in previous commits
2023-10-06 12:19:45 -05:00
mintsuki
b2becebbf9
misc: Only allocate memory and modules above 4GiB on 64-bit platforms
2023-10-06 12:19:45 -05:00
mintsuki
b2da2d701e
pmm: Allow allocations above 4GiB and use them in freadall()
2023-10-06 12:19:45 -05:00
mintsuki
a6e115d486
misc: Backports from trunk
2023-09-16 16:53:40 -05:00
mintsuki
7305724b95
misc: Misc EFI linker script improvements and drop .sbat
2023-09-11 17:13:31 -05:00
Kacper Słomiński
d7966d0bf4
limine: Adjust higher half offsets for AArch64
2023-07-26 17:02:47 -05:00
mintsuki
cc387af31d
pmm: Use fixed value of 1024 for recl entries count
2023-06-15 13:08:17 +02:00
mintsuki
fe7910cadf
pmm: Fix change-memmap-in-use bug
2023-06-15 13:08:17 +02:00
mintsuki
3b9d29385c
vmm: Fix page_sizes values and move declaration to top
2023-06-15 10:46:30 +02:00
mintsuki
aa926e7a6b
limine: Backport paging mode request from trunk
2023-06-15 07:28:08 +02:00
mintsuki
23081f06d5
pmm: Work around potential memmap data race in EFI init_memmap()
2022-10-17 06:45:45 +02:00
mintsuki
f3357648ab
pmm: Fix AllocatePages() call to take pages count; remove useless alignment check
2022-10-17 06:45:45 +02:00
mintsuki
7d0ef9ef24
pmm: Avoid throwing away big memory ranges that fail to AllocatePages() indiscriminately
2022-10-17 06:45:45 +02:00
mintsuki
fc6e44c82c
pmm: Misc bug fixes in pmm
2022-09-28 02:10:08 +02:00
mintsuki
4b4f3c9d68
pmm: Obtain raw memmap from untouched_memmap rather than EFI memmap. Addresses #222 and https://forum.puppylinux.com/viewtopic.php?t=6881
2022-09-27 06:57:10 +02:00
mintsuki
165b4d8f7a
pmm: Keep first page on sanitiser call in get_raw_memmap()
2022-09-27 06:57:10 +02:00
mintsuki
9203b9cea4
pmm: Backport some other stuff reverted in 4a4409e1
2022-09-27 06:57:10 +02:00
mintsuki
abcbff6ec1
pmm: Backport fa6f6077
and 74a3a1c6
2022-09-27 06:57:10 +02:00
mintsuki
c381963592
pmm: Undo most of what was done between 85603ec8
and 74a3a1c6
2022-09-24 04:35:52 +02:00
mintsuki
d3385da3e3
limine: Make NX feature not mandatory
2022-09-02 03:31:22 +02:00
mintsuki
c44f514738
misc: Rename UEFI and BIOS define macros
2022-09-02 02:29:12 +02:00
mintsuki
fb372e6db7
pmm: Make code to reserve page 0 uniform between BIOS and UEFI
2022-09-01 04:58:18 +02:00
mintsuki
07080dcbc2
misc: blib.h -> misc.h
2022-08-26 23:44:47 +02:00
Kacper Słomiński
e1f6ac8860
Initial AArch64 port ( #205 )
...
* Initial aarch64 port
* Enable chainload on aarch64
No changes necessary since it's all UEFI anyway.
* Add specification for Limine protocol for aarch64
* PROTOCOL: Specify state of information in DT /chosen node
* common: Add spinup code for aarch64
* common: Port elf and term to aarch64
* common: Port vmm to aarch64
Also prepare to drop VMM_FLAG_PRESENT on x86.
* protos: Port limine boot protocol to aarch64
Also drop VMM_FLAG_PRESENT since we never unmap pages anyway.
* test: Add DTB request
* PROTOCOL: Port SMP request to aarch64
* cpu: Add cache maintenance functions for aarch64
* protos/limine, sys: Port SMP to aarch64
Also move common asm macros into a header file.
* test: Start up APs
* vmm: Unify get_next_level and implement large page splitting
* protos/limine: Map framebuffer using correct caching mode on AArch64
* CI: Fix GCC build for aarch64
* entry, menu: Replace uses of naked attribute with separate asm file
GCC does not understand the naked attribute on aarch64, and didn't
understand it for x86 in older versions.
2022-08-18 17:32:54 +02:00
mintsuki
7ade45b230
misc: struct e820_entry_t -> struct memmap_entry
2022-08-13 19:54:49 +02:00
mintsuki
71fd2d2516
pmm: Properly handle memory map entries that cross 4GiB on UEFI
2022-08-13 17:52:01 +02:00
mintsuki
74a3a1c6b6
pmm: General tyding up of pmm code (2)
2022-08-11 20:20:16 +02:00
mintsuki
fa6f607769
pmm: General tyding up of pmm code
2022-08-11 09:41:07 +02:00
mintsuki
4b55b45382
pmm: Fix a handful of GCC warnings
2022-08-04 13:04:55 +02:00
mintsuki
0ef0c3adc5
linux, pmm: Get a boot with 32-bit UEFI. Addresses #185
2022-08-04 12:56:46 +02:00
mintsuki
cd1107abe2
limine: Specify that memory between 0 and 0x1000 is never to be marked usable
2022-07-29 00:42:47 +02:00
mintsuki
0a2c2896b7
Revert "pmm: Fix issue with get_memmap() that could cause page table corruption"
...
This reverts commit 9c180b4008
.
2022-07-26 20:02:57 +02:00
mintsuki
fb5d903ccf
pmm: Reclaim bootservices entries last and disallow allocations after
2022-07-26 19:55:18 +02:00
mintsuki
7bfa2cd775
pmm: Fix bugs introduced in 85603ec
2022-07-26 11:01:00 +02:00
mintsuki
85603ec8db
pmm: Simplify handling EFI memory acquisition and release
2022-07-26 08:09:50 +02:00
mintsuki
b92d48e44f
multiboot(2): Initial support for arbitrary kernel load addresses
2022-06-27 10:55:57 +02:00
mintsuki
0836a62fbd
pmm: Minor overhaul to try and fix #185
2022-06-26 04:23:13 +02:00
mintsuki
9c180b4008
pmm: Fix issue with get_memmap() that could cause page table corruption
2022-06-22 22:28:43 +02:00
mintsuki
df7e43df7f
efi: Adjust for new reduced-gnu-efi
2022-04-20 04:00:00 +02:00
mintsuki
1af09d0749
mm/efi: Fix issue where in-use bootloader memory may be erroneously allocated
2022-04-19 22:28:21 +02:00
mintsuki
1d2cb8e400
pmm: Fix alignment issue introduced in 3fe8217
2022-02-28 08:24:44 +01:00
mintsuki
400202d926
misc: stage23 -> common
2022-02-03 10:38:43 +01:00