History log of /haiku/src/system/boot/platform/u-boot/arch/ppc/arch_mmu.cpp
Revision Date Author Comments
# a8cd19b6 28-Feb-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

system/boot: Begin factoring gFDT out of non-u-boot code

Change-Id: Ibe010c6c7ed71a20fc852ce6c72c6f32b98dfad2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2292
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 56f9c760 24-May-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: boot mmu support

Get enough of the mmu working to be able to allocate memory.

Unlike on PowerPC, we get both address and size as 64bit values. So
adjust of_region to allow this.

Also unlike the PPC port, we do not drive the hardware directly, instead we
rely on the openboot primitives to manage the translation table. This
allows staying independant of the hardware, which is a good idea at
least for the bootloader (we can do actual hardware things in the
kernel)

Change-Id: Ifa57619d3a09b8f707e1f8640d8b4f71bb717e2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1482
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 78b72981 12-Jun-2015 François Revol <revol@free.fr>

u-boot: PPC: Fix warnings


# 6229115b 16-Jun-2014 Humdinger <humdingerb@gmail.com>

More small C++11 tweaks.


# c55cff0a 17-Sep-2013 François Revol <revol@free.fr>

Whitespace cleanup


# af63ede7 08-Mar-2013 François Revol <revol@free.fr>

U-Boot: PPC: Implement Book-E MMU support in bootloader

Unlike Classic PPC, Book-E CPUs do not have hardware page-table walk,
rather only a limited set of software-managed TLBs. Also, translation
is never disabled even when page-faulting.

The Linux Book-E port pins part of the RAM in one or more TLBs, and
allocates kernel memory from it for the kernel itself and exception
vectors, as well as page tables.
cf. http://kernel.org/doc/ols/2003/ols2003-pages-340-350.pdf

We take a similar approach, but instead of using a tree-like page
directory we reserve a large part of this mapped range for an
hashed page table similar to the Classic one, to later allow
factoring code out. The kernel and boot modules will also be
allocated there, and the rest should be used as SLAB areas.

Note doing so will not allow implementing proper permissions for
the areas allocated there since they are all handled by a single TLB.

Also note Book-E does not standardize the MMU implementation itself.
For now only AMCC440 type MMU is supported. This will need to be
cleaned up later on.


# 3b4ba8d6 06-Nov-2012 François Revol <revol@free.fr>

U-Boot: PPC: Copy the memory sizing code from OF

Just an exercise to see how well the OF wrapper works.
Had to adjust cause the FDT I had had /memory node,
but no memory prop on /chosen.


# 78b72981970b0aeee6558f759a20d0b6893837f5 12-Jun-2015 François Revol <revol@free.fr>

u-boot: PPC: Fix warnings


# 6229115bacb6fe085dcef68cbde071632e05bb68 16-Jun-2014 Humdinger <humdingerb@gmail.com>

More small C++11 tweaks.


# c55cff0acc4bd544d05059833ca909385a5a2f94 17-Sep-2013 François Revol <revol@free.fr>

Whitespace cleanup


# af63ede7a1fd24b4713800cdc7aabb7ae3e09a55 08-Mar-2013 François Revol <revol@free.fr>

U-Boot: PPC: Implement Book-E MMU support in bootloader

Unlike Classic PPC, Book-E CPUs do not have hardware page-table walk,
rather only a limited set of software-managed TLBs. Also, translation
is never disabled even when page-faulting.

The Linux Book-E port pins part of the RAM in one or more TLBs, and
allocates kernel memory from it for the kernel itself and exception
vectors, as well as page tables.
cf. http://kernel.org/doc/ols/2003/ols2003-pages-340-350.pdf

We take a similar approach, but instead of using a tree-like page
directory we reserve a large part of this mapped range for an
hashed page table similar to the Classic one, to later allow
factoring code out. The kernel and boot modules will also be
allocated there, and the rest should be used as SLAB areas.

Note doing so will not allow implementing proper permissions for
the areas allocated there since they are all handled by a single TLB.

Also note Book-E does not standardize the MMU implementation itself.
For now only AMCC440 type MMU is supported. This will need to be
cleaned up later on.


# 3b4ba8d6074e8b91786ae237d569a859129a7a90 06-Nov-2012 François Revol <revol@free.fr>

U-Boot: PPC: Copy the memory sizing code from OF

Just an exercise to see how well the OF wrapper works.
Had to adjust cause the FDT I had had /memory node,
but no memory prop on /chosen.