This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Random behavior with SCTLR_EL1 reset values

Hi,

I am working on Juno and I am using SCTLR_EL1 reset value based on A53 spec is = 0x00C50838

but If I look to ARMv8 spec it shows some reserved bits as 1 and considering that reset values = 0x30D50800.

I am seeing some MMU random behavior at EL1 based on reset value as the same code sometimes gives stage 1 fault and other times stage 2 fault.

Please let me know what should be the correct SCTLR_EL1 reset value ?

Thanks.

Parents
  • Hi Martin,

    I need to set the SCTLR_EL1 value from EL2 so my Guest OS can work correctly.

    I am confused if I should take SCTLR_EL1 reset value from A53 spec or I should calculate value based on ARMv8 spec ?

    If you look into ARMv8 spec (section D7.2.81) for this register Bits[28:29, 22:23,11] are RES1 but if I look A53 spec (4.2.3) reset value is 0x00C50838 (so bits 28:29 are missing to be set).

    I faced before issue while setting MMU at EL2 level where I was not resetting MMU properly and was getting "Bus error" so I would like to know correct value which I should set for EL1.

    Thanks.

Reply
  • Hi Martin,

    I need to set the SCTLR_EL1 value from EL2 so my Guest OS can work correctly.

    I am confused if I should take SCTLR_EL1 reset value from A53 spec or I should calculate value based on ARMv8 spec ?

    If you look into ARMv8 spec (section D7.2.81) for this register Bits[28:29, 22:23,11] are RES1 but if I look A53 spec (4.2.3) reset value is 0x00C50838 (so bits 28:29 are missing to be set).

    I faced before issue while setting MMU at EL2 level where I was not resetting MMU properly and was getting "Bus error" so I would like to know correct value which I should set for EL1.

    Thanks.

Children
  • Partly it will depend on what kind of virtual world you're wanting to present to the guests.

    I would probably go with emulating a world where EL2 and EL3 didn't exist.  That is, for the bits the Architecture Reference Manual says have defined reset values when EL2/3 don't exist, use those values.