Browse By Tags

  • Trouble configuring MMU for 2MB block mapping

    So I'm working with QEMU and AArch64 mode and using the MMU. I've succesfully mapped 4K blocks, but I'm having trouble mapping 2M blocks. My configuration is such that the L1 entries are 1GB blocks, L2 entries are 2M blocks, and L3 entries are 4K, or…

  • Arm64 Long Format Translation Table Walk

    Hi all - I'm trying to understand stage 1 translation.

    Assuming that the translation is starting at level 2, how do you determine the number of page table entries in the level 2 table? The documnetation says it can have up to 512 for 4kb granule size…

  • Arm64 Long Format Translation Table Walk

    Hi all - I'm trying to understand stage 1 translation.

    Assuming that the translation is starting at level 2, how do you determine the number of page table entries in the level 2 table? The documnetation says it can have up to 512 for 4kb granule size…

  • Permission fault, level 2 on MMU enable

    Hi ARM folks, hoping someone can show me where I'm going wrong programming the MMU. The ESR_EL1 reports that it is a Permission fault, level 2. Here's what I'm trying to accomplish:

    4GiB space, 4kiB granule flat identity mapped, divided like…

  • Why does Arm still support short descriptors?

    What I'm asking is ARM Architecture Reference Manual for ARMv8-A  says in AArch32 there are two translation table formats:

    • Short descriptors: 32 bit
    • Long descriptors: 64 bit

    On page G4-4726 (Issue B.b), there are various points listed that each…

  • ARM A64 Page table

    Hi,

    I have a question on ARM page table.

    I am running a bare metal application on Cortex A72 and i have a failure with my application.

    Upon debugging the failure, i found an address which is contributing the failure. our Bare metal application is responsible…

  • Is it necessary to flush data cache of a modified page table entry?

    Dear experts,

    • Q0)  why can't MMU observe the table entry change made by its company core ?

    working for Cortex-A55MP, EL1 in Aarch32, svc mode:

    Both 2 level of table entry are attributed as (inner WB/WA, and outer WB/WA) and 
    the MMU is set TTBR0 as…

  • determine a page size on armv8

    Hi,

    I have a need at determining a page size, particularly for a Non-secure EL1, stage 1. I know of 

    __asm__ volatile ("at s1e1r, %0" : : "r" (buf));    
    __asm__ volatile ("mrs %0, PAR_EL1\n" : "=r" (par_el1));

  • Data Abort Exception in A53

    Hello,

    I am working on Cortex-A53  and using Cortex-A53 DSM Model in my design. We are getting Data Abort exception on a read to ROM address and ESR_EL3 register showing its a DECERR External error. MMU and Cache both are not enabled at this point where…

  • Why does ARM have 64KB Large Pages?

    The ARM720T user manual mentions small and large pages. Since the ARM 720T requires a 64KB page table entry to be duplicated 16 times in the page table, why not place 16 small page (4KB) entries to mimic a 64KB page entry instead of using a large page…

  • Trustzone and caches

    Hi,

    this question is following my work on the PL310 L2 cache of an imx6 board (see The specified item was not found. ).

    We are developing a secure OS that will run alongside Linux. At boot, our secure OS will start a couple application before actually starting…

  • Cortex A9 single core

    From the TRM of the Cortex A9 we can read in section 7.4.3 Cortex-A9 behavior for Normal Memory Cacheable memory regions:

    SCTLR.C=1 The Cortex-A9 Data Cache is enabled. Some Cacheable accesses are still treated

    as Non-Cacheable:

    • all pages marked as Write…

  • MMU deactivation and I-Cache / Branch Predictor

    Hi !

    In order to call some functionality hard-coded in my board ROM (HAB from NXP i.MX6 board), I need to shut down the MMU: the ROM is not position independent. In particular, it is not always possible to map it and the devices correctly due to restriction…

  • Hard Fault in cortex m4

    Hello All,

    Good Morning!

    I am working on Cortex m4.

    I have read following about hard fault ,

    "Bus Fault: detects memory access errors on instruction fetch, data read/write, interrupt vector fetch, and register stacking (save/restore) on interrupt (entry/exit…

  • Why Cortex-R series is real time oriented ?

    Hi Forum,

    Why Cortex-R series is real time oriented than other ISA(ARM/others) ?

    Is there a list of all the points and comparison with ARM Cortex-A ?

    Why we can not make Cortex-A to suite for real time, which brings to think of Cortex-R ?

    I am trying to understand…

  • Different between AF vs AP (MMU Setup)

    What is different between AF & AP?  I understand AP = permission access as read/write/readonly/no access but what is AF? 

  • In Arm v7 mmu, stage2 translation cannot use short descriptors. WHY?

    ARM V7 document states: "In ARMv7-A short descriptors only be used at EL0 and EL1 stage 1 translations. They cannot, therefore, be used by hypervisors or Secure monitor code."

    Why stage2/hypervisors/secure monitor cannot use short descriptors…

  • dump MMU translation table for A9 in Linux

    Hello,

         I would like to know how to read the translation table info for A9  from embedded Linux.

         In freeRTOS I have translation_table.S but I do not find anything similar for ARM architecure in linux kernel.

         Should I just dump TTBR0/TTBR1 registers…

  • MMU initialization for an ARM multicore system

    I am working on an Arria10 SoC which has dual ARM Cortex-A9 MPCore. And I work on bare-metal environment with Intel SoCFPGA’s hardware library(HwLib).

    On the shared SDRAM, I am planning to have dedicated memory regions for each core, and a shared…

  • MMU and Cache configuration

    Hello there,

    I want to enable MMU and Cache to improve the performance of my arm cortex-A5 core.

    I have gone through the Reference manual of arm cortex a5 and found the below step to enable mmu and cache

    Steps :

    1.Disable cache, branch predictors

    2. Invalidate…

  • ARM cortex M4

    Which Linux version used for ARM cortex M4 ?? and how to install this linux version on TDA3x from Texas instruments ??

  • ARM CoreLink MMU-500 System Memory Management Unit - Preloading the TLBs and page tables

    Hi

    We have an MMU-500 ARM IP being used in one of our SoCs. As part of the cluster level verification, we need to preload the TLBs, pagetables etc of MMU-500 IP. We have a few queries regarding this:-

    1) ARM® System Memory Management Unit Architecture…

  • How to design simple memory protection using MMU attributes & modes ?

    Hello,

    Can anyone give some points as to how to design simple memory protection model, of standalone OS application composed tasks, each has its own region/section with attributes such as read only, write only, shared memory etc.

    I mean, when a region…

  • Correct usage of the NSTable bit in aarch64/armv7a LPAE

    I'm porting our armv7a-short descriptor OS to LPAE and aarch64. In the short descriptor MMU, the "NS" bit can only be found in the first level of the MMU (I'll call it the SECTION level), meaning that only a single page cannot be tagged as NS, a whole…

  • How to invalidate cache (NVIDIA Drive PX2, ARMv8)

    Hey,

    on our development board we use PCIe to exchange data between the two Tegras on a NVIDIA Drive PX2.

    Basically the data coming across NT ports acts like a DMA engine writing to system RAM. With an interface function from the API of the PCIe-chip we…