History log of /haiku/src/system/kernel/arch/arm/arch_vm_translation_map.cpp
Revision Date Author Comments
# 9a9c5e9f 11-Mar-2023 David Karoly <karolyd577@gmail.com>

kernel/arm: clean up x86 PAE related code

Change-Id: I2bd1f1dc699396fee1ec03b5895e995c3aca5fef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6193
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Automation <automation@haiku-os.org>


# aa3083e0 29-Jan-2017 Freeman Lou <freemanlou2430@yahoo.com>

Style fixes to various parts of the system.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

This patch was never applied after GSoC 2012. Rebase the parts that
still apply so we can close the ticket.

Fixes #9490.


# 178be2a6 08-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fix.


# fea7eea4 07-Aug-2014 Arvind S Raj <sraj.arvind@gmail.com>

Check if gARMPagingMethod is null

in arch_vm_translation_map_is_kernel_page_accessible. Fix borrowed from x86
(commit 428b9e758c30a95154f5ad0d974894ef9ae133d6).

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11107.


# 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.


# 258d4ef9 26-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel arm: Quick style cleanup; No functional change


# 5707f251 13-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Quiet down VM debug output, so we can easily find errors ;)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40927 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3091264b 31-Oct-2010 François Revol <revol@free.fr>

s/Copyirght/Copyright/ unless it's a neologism from Ithamar :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c917cd62 30-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* ARM: Major VM work
- This is mostly a copy of the x86 32bit paging method and infrastructure, this was copied for two reasons:
1) It is the most complete VM arch
2) The first ARM PAE patches have landed on alkml, so we will have to deal with it in the future as well,
and this infrastructure has proven to be ready ;)
- No protection features, or dirty/accessed tracking yet
- Lots of #if 0

but....

It boots all the way up to init_modules() now, and then dies because of a lack of (ARM) ELF relocation implementation!

Since at this point the VM can be fully initialised, I'm going to focus on CPU exceptions next, so we can get KDL to trigger
when it happens, and I can actually debug from there ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39206 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 147133b7 25-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* First run through the kernel's private parts to use phys_{addr,size}_t
where appropriate.
* Typedef'ed page_num_t to phys_addr_t and used it in more places in
vm_page.{h,cpp}.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36937 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc000161 05-Feb-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by "notzed": Adapt ARM platform stubs for recent VM changes. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e50cf876 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the VM headers into subdirectory vm/.
* Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 541dd933 17-Aug-2009 François Revol <revol@free.fr>

I'm obviously not that old. Not officially at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d20ab0b9 14-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Add missing kernel stub.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32407 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23eafdaf 13-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
- stubbed out many arch kernel functions (borrowed from other archs),
- partially implement ELF relocations code, enough to load the kernel,
- move uart.c to kernel sources and use the same one for the loader,
- default implementation for gensyscalls,
- assembler code functions for interrupt masking (enable/disable/restore/query).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32327 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 178be2a6d5bfba51695a85598bc72cbe5ecb066e 08-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fix.


# fea7eea41727c4be8172a2465e752fbc30d7ccf4 07-Aug-2014 Arvind S Raj <sraj.arvind@gmail.com>

Check if gARMPagingMethod is null

in arch_vm_translation_map_is_kernel_page_accessible. Fix borrowed from x86
(commit 428b9e758c30a95154f5ad0d974894ef9ae133d6).

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11107.


# 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.


# 258d4ef93d3f51cef60b05d1c5ae418108b55782 26-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel arm: Quick style cleanup; No functional change


# 5707f2519cc1b258b0baca9625f9763f43cf5de8 13-Mar-2011 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Quiet down VM debug output, so we can easily find errors ;)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40927 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3091264bb53e84341c9ac5a246d44363d8292353 31-Oct-2010 François Revol <revol@free.fr>

s/Copyirght/Copyright/ unless it's a neologism from Ithamar :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39235 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c917cd62618c2bfd683dba8bf34f96fb7bd37203 30-Oct-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* ARM: Major VM work
- This is mostly a copy of the x86 32bit paging method and infrastructure, this was copied for two reasons:
1) It is the most complete VM arch
2) The first ARM PAE patches have landed on alkml, so we will have to deal with it in the future as well,
and this infrastructure has proven to be ready ;)
- No protection features, or dirty/accessed tracking yet
- Lots of #if 0

but....

It boots all the way up to init_modules() now, and then dies because of a lack of (ARM) ELF relocation implementation!

Since at this point the VM can be fully initialised, I'm going to focus on CPU exceptions next, so we can get KDL to trigger
when it happens, and I can actually debug from there ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39206 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 147133b76cbb1603bdbff295505f5b830cb4e688 25-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* First run through the kernel's private parts to use phys_{addr,size}_t
where appropriate.
* Typedef'ed page_num_t to phys_addr_t and used it in more places in
vm_page.{h,cpp}.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36937 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc00016122cadfefdbd84a1c2bbcca320da99d98 05-Feb-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by "notzed": Adapt ARM platform stubs for recent VM changes. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35411 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e50cf8765be50a7454c9488db38b638cf90805af 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the VM headers into subdirectory vm/.
* Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 541dd9330e1262548f0b1ea49dfcae30284294e6 17-Aug-2009 François Revol <revol@free.fr>

I'm obviously not that old. Not officially at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d20ab0b9afddc41b7a62fbc699e879436ddd05a4 14-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Add missing kernel stub.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32407 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 23eafdaf313f2e756170f6a543205311a4d9bc96 13-Aug-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
- stubbed out many arch kernel functions (borrowed from other archs),
- partially implement ELF relocations code, enough to load the kernel,
- move uart.c to kernel sources and use the same one for the loader,
- default implementation for gensyscalls,
- assembler code functions for interrupt masking (enable/disable/restore/query).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32327 a95241bf-73f2-0310-859d-f6bbb57e9c96