Code Monkey home page Code Monkey logo

Comments (4)

jinbpark avatar jinbpark commented on July 20, 2024 1

@bitboom ,
Not sure if this PR helps solving this,
But I added some points to wipe out a page by zero in that PR.

  1. a transition from Undelegated to Delegated
  2. a transition from Delegated to Undelegated

I think it's worth a try running the same ACS test with this PR. (not that high probability though)

from islet.

jinbpark avatar jinbpark commented on July 20, 2024 1

When i changed ACS to Device temporarily, i could read the memory.

@bitboom , This sounds like a TLB issue. (not 100% sure though)
It might be worth trying to run the below code.

pub fn set_pages_for_rmi(addr: usize, secure: bool) {
    let device_flags = helper::bits_in_reg(PTDesc::INDX, attr::mair_idx::RMM_MEM);   // try-1:  ACS (normal), RMM (normal)
    // try-2:  helper::bits_in_reg(PTDesc::INDX, attr::mair_idx::DEVICE_MEM);  --> ACS (normal), RMM (device)
    ....
    page_table.set_pages(va, phys, PAGE_SIZE, rw_flags | device_flags | secure_flags);
    ....
    unsafe {
        asm!("tlbi alle2", "dsb sy", "isb",);   // TLB flush
    }
}

from islet.

bitboom avatar bitboom commented on July 20, 2024

@jinbpark Thank you for the suggestion.

I found the cause of this issue.
The issue is that ACS set the shared region as Normal, Inner/Outer WB/WA/RA, but islet map the region as Device in set_pages_for_rmi.

When i changed ACS to Device temporarily, i could read the memory.

But I think our islet should change to Normal in set_pages_for_rmi. I tried it but failed :(

from islet.

bitboom avatar bitboom commented on July 20, 2024

@jinbpark Thanks for the suggestion! I tried it but i does't work :(

The problem seems to relate with cache. When i turn off cache with cache_state_modelled=0 of acs's script, it work.
Since this is not the tfundamental solution, I detached this issue from origin PR #148.

from islet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.