| #
8a04b1c1 |
| 28-Nov-2017 |
Peng Fan <peng.fan@nxp.com> |
UPSTREAM: armv8: mmu: fix page table mapping
To page mapping the lowest 2 bits needs to be 0x3. If not fix this, the final lowest 3 bits for page mapping is 0x1 which is marked as reserved.
Change-
UPSTREAM: armv8: mmu: fix page table mapping
To page mapping the lowest 2 bits needs to be 0x3. If not fix this, the final lowest 3 bits for page mapping is 0x1 which is marked as reserved.
Change-Id: I5ac722421b46514736d93452aab68debe8aabfe5 Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 90351547ceeb76c1337757c51af0fb5a2c30bd02)
show more ...
|
| #
91603e02 |
| 17-Aug-2017 |
Andy Yan <andy.yan@rock-chips.com> |
UPSTREAM: armv8: mmu: add space around operator
Add space around operator "+", make it match the coding style.
Change-Id: I5cb1e3cea056db89d7ac0c16c233228d39bf6675 Signed-off-by: Andy Yan <andy.yan
UPSTREAM: armv8: mmu: add space around operator
Add space around operator "+", make it match the coding style.
Change-Id: I5cb1e3cea056db89d7ac0c16c233228d39bf6675 Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: York Sun <york.sun@nxp.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 347e30e1720ea6c0231f81d278b076a39280a314)
show more ...
|
| #
3d53e4e6 |
| 17-Aug-2017 |
Andy Yan <andy.yan@rock-chips.com> |
UPSTREAM: armv8: mmu: remove unused macro definition
Macro VA_BITS and PTE_BLOCK_BITS are not used in the code, so remove them.
Change-Id: I5a6b900c8d1d145f28d1604c9b614226c20159d5 Signed-off-by: A
UPSTREAM: armv8: mmu: remove unused macro definition
Macro VA_BITS and PTE_BLOCK_BITS are not used in the code, so remove them.
Change-Id: I5a6b900c8d1d145f28d1604c9b614226c20159d5 Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: York Sun <york.sun@nxp.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 4f84cb980fdc25d7735fe114021b4a84ea601b9f)
show more ...
|
| #
ce38ebb6 |
| 16-Mar-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-fsl-qoriq
|
| #
7f9b9f31 |
| 06-Mar-2017 |
York Sun <york.sun@nxp.com> |
armv8: mmu: Add a function to change mapping attributes
Function mmu_change_region_attr() is added to change existing mapping with updated PXN, UXN and memory type. This is a break-before-make proce
armv8: mmu: Add a function to change mapping attributes
Function mmu_change_region_attr() is added to change existing mapping with updated PXN, UXN and memory type. This is a break-before-make process during which the mapping becomes fault (invalid) before final attributres are set.
Signed-off-by: York Sun <york.sun@nxp.com>
show more ...
|
| #
0b840433 |
| 10-Jan-2017 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-sunxi
|
| #
2a6713b0 |
| 02-Jan-2017 |
Andre Przywara <andre.przywara@arm.com> |
move UL() macro from armv8/mmu.h into common.h
The UL() macro is pretty useful in sharing constants between assembly and C files while still being able to specify a type for C. Move the macro from a
move UL() macro from armv8/mmu.h into common.h
The UL() macro is pretty useful in sharing constants between assembly and C files while still being able to specify a type for C. Move the macro from an armv8 specific header into a common header file to be able to use it by arm code (for instance) as well.
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Jagan Teki <jagan@openedev.com>
show more ...
|
| #
66669fcf |
| 19-Jul-2016 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-fsl-qoriq
Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts: arch/arm/cpu/armv8/Makefile arch/arm/lib/bootm-fdt.c
|
| #
cd4b0c5f |
| 24-Jun-2016 |
York Sun <york.sun@nxp.com> |
armv8: mmu: Add support of non-identical mapping
Introduce virtual and physical addresses in the mapping table. This change have no impact on existing boards because they all use idential mapping.
armv8: mmu: Add support of non-identical mapping
Introduce virtual and physical addresses in the mapping table. This change have no impact on existing boards because they all use idential mapping.
Signed-off-by: York Sun <york.sun@nxp.com>
show more ...
|
| #
252cdb46 |
| 24-Jun-2016 |
York Sun <york.sun@nxp.com> |
armv8: mmu: house cleaning
Make setup_pgtages() and get_tcr() available for platform code to customize MMU tables. Remove unintentional call of create_table().
Signed-off-by: York Sun <york.sun@nxp
armv8: mmu: house cleaning
Make setup_pgtages() and get_tcr() available for platform code to customize MMU tables. Remove unintentional call of create_table().
Signed-off-by: York Sun <york.sun@nxp.com>
show more ...
|
| #
7985cdf7 |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
arm64: Remove non-full-va map code
By now the code to only have a single page table level with 64k page size and 42 bit address space is no longer used by any board in tree, so we can safely remove
arm64: Remove non-full-va map code
By now the code to only have a single page table level with 64k page size and 42 bit address space is no longer used by any board in tree, so we can safely remove it.
To clean up code, move the layerscape mmu code to the new defines, removing redundant field definitions.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
d473f0c6 |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
thunderx: Move mmu table into board file
The MMU range table can vary depending on things we may only find out at runtime. While the very simple ThunderX variant does not change, other boards will,
thunderx: Move mmu table into board file
The MMU range table can vary depending on things we may only find out at runtime. While the very simple ThunderX variant does not change, other boards will, so move the definition from a static entry in a header file to the board file.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
5e2ec773 |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
arm64: Make full va map code more dynamic
The idea to generate our pages tables from an array of memory ranges is very sound. However, instead of hard coding the code to create up to 2 levels of 64k
arm64: Make full va map code more dynamic
The idea to generate our pages tables from an array of memory ranges is very sound. However, instead of hard coding the code to create up to 2 levels of 64k granule page tables, we really should just create normal 4k page tables that allow us to set caching attributes on 2M or 4k level later on.
So this patch moves the full_va mapping code to 4k page size and makes it fully flexible to dynamically create as many levels as necessary for a map (including dynamic 1G/2M pages). It also adds support to dynamically split a large map into smaller ones when some code wants to set dcache attributes.
With all this in place, there is very little reason to create your own page tables in board specific files.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
9bb367a5 |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
arm64: Disable TTBR1 maps in EL1
When running in EL1, AArch64 knows two page table maps. One with addresses that start with all zeros (TTBR0) and one with addresses that start with all ones (TTBR1).
arm64: Disable TTBR1 maps in EL1
When running in EL1, AArch64 knows two page table maps. One with addresses that start with all zeros (TTBR0) and one with addresses that start with all ones (TTBR1).
In U-Boot we don't care about the high up maps, so just disable them to ensure we don't walk an invalid page table by accident.
Reported-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
0691484a |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
thunderx: Calculate TCR dynamically
Based on the memory map we can determine a lot of hard coded fields of TCR, like the maximum VA and max PA we want to support. Calculate those dynamically to redu
thunderx: Calculate TCR dynamically
Based on the memory map we can determine a lot of hard coded fields of TCR, like the maximum VA and max PA we want to support. Calculate those dynamically to reduce the chance for pit falls.
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
94f7ff36 |
| 14-Oct-2015 |
Sergey Temerkhanov <s.temerkhanov@gmail.com> |
armv8: New MMU setup code allowing to use 48+ bits PA/VA
This patch adds code which sets up 2-level page tables on ARM64 thus extending available VA space. CPUs implementing 64k translation granule
armv8: New MMU setup code allowing to use 48+ bits PA/VA
This patch adds code which sets up 2-level page tables on ARM64 thus extending available VA space. CPUs implementing 64k translation granule are able to use direct PA-VA mapping of the whole 48 bit address space. It also adds the ability to reset the SCTRL register at the very beginning of execution to avoid interference from stale mappings set up by early firmware/loaders/etc.
Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com> Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
show more ...
|
| #
1670c8c2 |
| 30-Nov-2015 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
|
| #
d764129d |
| 05-Nov-2015 |
Alison Wang <b18965@freescale.com> |
armv8/layerscape: Update MMU table with execute-never bits
For most device addresses excution shouldn't be allowed. Revise the MMU table to enforce execute-never bits. OCRAM, DDR and IFC are allowed
armv8/layerscape: Update MMU table with execute-never bits
For most device addresses excution shouldn't be allowed. Revise the MMU table to enforce execute-never bits. OCRAM, DDR and IFC are allowed for excution.
Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Alison Wang <alison.wang@freescale.com> Reported-by: Zhichun Hua <zhichun.hua@freescale.com>
show more ...
|
| #
5f5620ab |
| 12-Nov-2015 |
Stefano Babic <sbabic@denx.de> |
Merge git://git.denx.de/u-boot
|
| #
588eec2a |
| 30-Oct-2015 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq
|
| #
8281c58f |
| 26-Oct-2015 |
Mingkai Hu <Mingkai.Hu@freescale.com> |
armv8/fsl_lsch2: Add fsl_lsch2 SoC
Freescale LayerScape with Chassis Generation 2 is a set of SoCs with ARMv8 cores and 2rd generation of Chassis.
Signed-off-by: Li Yang <leoli@freescale.com> Signe
armv8/fsl_lsch2: Add fsl_lsch2 SoC
Freescale LayerScape with Chassis Generation 2 is a set of SoCs with ARMv8 cores and 2rd generation of Chassis.
Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Hou Zhiqiang <B48286@freescale.com> Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com> Signed-off-by: Gong Qianyu <Qianyu.Gong@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
show more ...
|
| #
a69fdc77 |
| 23-Oct-2015 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
1275456d |
| 15-Oct-2015 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-arm
|
| #
ad3d6e88 |
| 20-Aug-2015 |
Thierry Reding <treding@nvidia.com> |
armv8/mmu: Set bits marked RES1 in TCR
For EL3 and EL2, the documentation says that bits 31 and 23 are reserved but should be written as 1.
For EL1, only bit 23 is not reserved, so only write bit 3
armv8/mmu: Set bits marked RES1 in TCR
For EL3 and EL2, the documentation says that bits 31 and 23 are reserved but should be written as 1.
For EL1, only bit 23 is not reserved, so only write bit 31 as 1.
Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
show more ...
|
| #
55aa0bed |
| 20-Aug-2015 |
Thierry Reding <treding@nvidia.com> |
armv8/mmu: Clean up TCR programming
Use the inner shareable attribute for memory, which makes more sense considering that this code is called when caches are being enabled.
Cc: Albert Aribaud <albe
armv8/mmu: Clean up TCR programming
Use the inner shareable attribute for memory, which makes more sense considering that this code is called when caches are being enabled.
Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
show more ...
|