summaryrefslogtreecommitdiff
path: root/include/zero_page.h
Commit message (Collapse)AuthorAgeFilesLines
* ARM: i.MX8M: bootrom: access OCRAM directly if running in EL3Ahmad Fatoum2023-01-121-1/+1
| | | | | | | | | | | | | | | | | | It's straight-forward to hack barebox PBL to skip ATF installation and to start barebox proper in EL3. This can be useful for debugging and may in future be just a Kconfig option like we now have with Rockchip. In such a configuration, we don't need to copy the ROM log out of OCRAM, because there's no ATF installed there that might overwrite it. Therefore, just directly access the event log pointer in BootROM if running in EL3. As 0x9e0 is in the first zero page, we use the function in zero_page.h to temporarily disable traps in the zero page. We don't need to do that in PBL though as even early MMU will be enabled later. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230111152836.1548942-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: mmu64: fix build for non-MMU configurationsAhmad Fatoum2021-03-151-1/+1
| | | | | | | | | | barebox only catches null pointer dereferences when MMU support is enabled. Thus the empty stubs should always be used on !CONFIG_MMU systems, disregarding whether CONFIG_ARCH_HAS_ZERO_PAGE is selected or not. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: mmu64: allow to disable null pointer trap on zero pageMichael Tretter2020-10-221-0/+54
Barebox uses the zero page to trap NULL pointer dereferences. However, if the SDRAM starts at address 0x0, this makes the first page of the SDRAM inaccessible and makes it impossible to load images to offset 0x0 in the SDRAM. Trapping NULL pointer dereferences on such systems is still desirable. Therefore, add a function to disable the traps if accessing the zero page is necessary and to re-enable the traps after the access is done. The zero_page_memcpy function simplifies copying to the SDRAM, because this is the most common required functionality, but memtest also accesses the zero page and does not use memcpy. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>