#
6393778b |
|
19-Sep-2023 |
David Karoly <karolyd577@gmail.com> |
boot/amiga_m68k/mmu: implement missing functions Change-Id: I1164ca30659684d8d273b58a7cc0ea33dde0a240 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6937 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
b3025a86 |
|
26-Oct-2013 |
François Revol <revol@free.fr> |
bootloader: M68K: Fix mmu_free() Same bug as in ARM code...
|
#
585830a5 |
|
26-Oct-2013 |
François Revol <revol@free.fr> |
bootloader: M68K: s/KERNEL_BASE/KERNEL_LOAD_BASE/
|
#
32bd2ded |
|
21-Feb-2013 |
François Revol <revol@free.fr> |
bootloader: Fix an overlooked condition in mmu_allocate() The size variable at this point is actually a page count. The test should never be true anyway though. Maybe we should use a pages variable for clarity?
|
#
6f6d78e8 |
|
25-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Cleaned up ELF64 address handling. * platform_allocate_elf_region() is removed, it is implemented in platform- independent code now (ELF*Class::AllocateRegion). For ELF64 it is now assumed that 64-bit addresses are mapped in the loader's 32-bit address space as (address - KERNEL_BASE_64BIT + KERNEL_BASE). * mapped_delta field from preloaded_*_image removed, now handled compile-time using the ELF*Class::Map method. * Also link the kernel with -z max-page-size=0x1000, removes the need for 2MB alignment on the data segment (not going to map the kernel with large pages for the time being).
|
#
88461898 |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Handle 64-bit load addresses for ELF64 images in the bootloader. The ELF loader now uses a new platform function, platform_allocate_elf_region, which returns 2 addresses: the real load address and an address where the region is mapped in the loader's address space. All of the ELF loading code has been changed to access the load region through the mapped address rather than the addresses contained in the ELF image. The ELF64 version of platform_allocate_elf_region on x86 uses the existing MMU code, which maps everything at 0x80000000, but returns the correct 64-bit address. The long mode switch code will just set up the 64-bit address space with everything remapped at the correct address.
|
#
17a33898 |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Remove phys_addr_range, just use addr_range for both virtual and physical address ranges (as requested by Ingo).
|
#
192af9e0 |
|
20-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changed addr_range to use uint64. I've tested this change on x86, causing no issues. I've checked over the code for all other platforms and made the necessary changes and to the best of my knowledge they should also still work, but I haven't actually built and tested them. Once I've completed the kernel_args changes the other platforms will need testing.
|
#
7ddba3d2 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
s/amicalls/rom_calls/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38944 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
918ac85f |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
Comment out atari stuff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38932 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
acb1d6c8 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
s/tos/ami/g;s/ATARI/AMIGA/g git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2231a4e6 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
Copy some more from Atari. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38923 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b3025a8642645f026efef25e5302e5183113aa59 |
|
26-Oct-2013 |
François Revol <revol@free.fr> |
bootloader: M68K: Fix mmu_free() Same bug as in ARM code...
|
#
585830a55ef4f6bbbd1559a47a8395b5597906fe |
|
26-Oct-2013 |
François Revol <revol@free.fr> |
bootloader: M68K: s/KERNEL_BASE/KERNEL_LOAD_BASE/
|
#
32bd2dedd92c994efb538bec7fbc31f5dd5b6122 |
|
21-Feb-2013 |
François Revol <revol@free.fr> |
bootloader: Fix an overlooked condition in mmu_allocate() The size variable at this point is actually a page count. The test should never be true anyway though. Maybe we should use a pages variable for clarity?
|
#
6f6d78e877c1a485d98de60395854a6d6de61c0d |
|
25-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Cleaned up ELF64 address handling. * platform_allocate_elf_region() is removed, it is implemented in platform- independent code now (ELF*Class::AllocateRegion). For ELF64 it is now assumed that 64-bit addresses are mapped in the loader's 32-bit address space as (address - KERNEL_BASE_64BIT + KERNEL_BASE). * mapped_delta field from preloaded_*_image removed, now handled compile-time using the ELF*Class::Map method. * Also link the kernel with -z max-page-size=0x1000, removes the need for 2MB alignment on the data segment (not going to map the kernel with large pages for the time being).
|
#
8846189866301c85683151a54ec88e809333ca7a |
|
24-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Handle 64-bit load addresses for ELF64 images in the bootloader. The ELF loader now uses a new platform function, platform_allocate_elf_region, which returns 2 addresses: the real load address and an address where the region is mapped in the loader's address space. All of the ELF loading code has been changed to access the load region through the mapped address rather than the addresses contained in the ELF image. The ELF64 version of platform_allocate_elf_region on x86 uses the existing MMU code, which maps everything at 0x80000000, but returns the correct 64-bit address. The long mode switch code will just set up the 64-bit address space with everything remapped at the correct address.
|
#
17a3389882cee19532ddc99bc1f9aa1efd296749 |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Remove phys_addr_range, just use addr_range for both virtual and physical address ranges (as requested by Ingo).
|
#
192af9e0afd2f3d0cbaf5c935480343a70c8ff53 |
|
20-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Changed addr_range to use uint64. I've tested this change on x86, causing no issues. I've checked over the code for all other platforms and made the necessary changes and to the best of my knowledge they should also still work, but I haven't actually built and tested them. Once I've completed the kernel_args changes the other platforms will need testing.
|
#
7ddba3d2ad915b5ea3ebdc0ea6699d5d8530ea06 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
s/amicalls/rom_calls/ git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38944 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
918ac85f32b23df3b018a2bb2c5ad53610f393b1 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
Comment out atari stuff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38932 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
acb1d6c8e0f7738ab05ffea577935ba8d31c838b |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
s/tos/ami/g;s/ATARI/AMIGA/g git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2231a4e6a3d158b8cb861fe1f064982204712588 |
|
10-Oct-2010 |
François Revol <revol@free.fr> |
Copy some more from Atari. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38923 a95241bf-73f2-0310-859d-f6bbb57e9c96
|