A lot of it applies, but the specifics for setting up AArch64 paging are different. In AArch64, page tables have at least three levels, and the table at each level will fill one whole page (except the top level, which may be smaller). If you're still using 4kB pages, your page tables will have at least four levels.
If you've set up paging on x64 before, this will all look very familiar.
Here's a link to a manual that covers AArch64 paging.
Raspberry Pi 4
Re: Raspberry Pi 4
Hi. I think I will do so because it seem like I will be able to be faster.
Re: Raspberry Pi 4
Hi. So which memory model do I use? Application, System, or Virtual Memory?
-
- Member
- Posts: 5568
- Joined: Mon Mar 25, 2013 7:01 pm
Re: Raspberry Pi 4
I'm not sure what you're asking. The ARM memory model is part of the ARM architecture, you can't not use it.
If you're looking for information about the page tables, that's covered in chapter D5, "The AArch64 Virtual Memory System Architecture".
If you're looking for information about the page tables, that's covered in chapter D5, "The AArch64 Virtual Memory System Architecture".
Re: Raspberry Pi 4
Hi. This is a little side question. How do I fix the self test for gcc 7.1.0? It gives me the error "nul: invalid argument". How do I fix this?
-
- Member
- Posts: 5568
- Joined: Mon Mar 25, 2013 7:01 pm
Re: Raspberry Pi 4
You'll have to explain in more detail what you're doing when you get that error.
Re: Raspberry Pi 4
not necessarily. if you don't need all the 49 bit address space (both parts combined), you can shrink one level, by appropriate setting those SZ fields and making TTBRx point to the level 1 page table. then you have 512GB+512GB address space, which is not that small, but you have 3-level translation. I do exactly this.Octocontrabas wrote: If you're still using 4kB pages, your page tables will have at least four levels.