Code Monkey home page Code Monkey logo

Comments (3)

bokdeuk-jeong avatar bokdeuk-jeong commented on July 21, 2024

RMM 메시지

  1. VM의 시작 주소를 실행했을 때 s2 page fault 발생 (pgfault가 발생하는게 정상)
    [DEBUG]armv9a::exception::trap -- ELR_EL2:0x40000000 -> IPA:0x40000000 -> PA:0x0
  2. KVM에서 매핑을 하라고 physical address 전달 (이것도 정상)
    [DEBUG]armv9a::rmi::realm -- received MapMemory to VM 0 0x40000000 -> 0x886B6B000 size:0x1000 prot:0x3
  3. 모니터에 요청한 GPT 매핑이 실패
    [WARN]armv9a::rmi::realm -- failed to set GPT 886B6B000

from islet.

bokdeuk-jeong avatar bokdeuk-jeong commented on July 21, 2024

[발견된 문제 1 : trusted-firmware-a 의 head commit 이 서로 다름 ]
확인 방법:

  • fip.bin교체 -> fip.bin내 blx.bin을 하나씩 교체해서 차이가 발생하는 바이너리 파악. bl2.bin 이미지의 차이가 있고, 이게 위의 에러를 발생.
  • trusted-firmware-a의 차이가 있는 것을 파악하게 된 후, 커밋의 차이를 비료

[발견된 문제 2 :내가 사용하는 commit으로 checkout을 했는데도 안됨]
내가 사용하는 commit id: 3f261a5
Merge changes from topic "ns/cpu_info" into integration

  • changes:
    feat(plat/arm/sgi): increase memory reserved for bl31 image
    feat(plat/arm/sgi): read isolated cpu mpid list from sds

==> 원인 분석
trusted-firmware-a 디렉토리에서 아래와 같이 했는데도 안된 이유

  • git checkout 3f261a5
    하면 git log에는 위의 commit id 바로 위에 우리가 추가한 패치가 쌓여 있는 것으로 나오지만,
    실제 코드에는 우리가 추가한 패치가 반영이 안됐다. 그래서 메모리 레이아웃이 맞지 않게 됨.
  • 게다가 upstream-trusted-firmware-a는 변경하지 않으려고 별도의 복사본(trusted-firmware-a)에다 작업을 하려는 거 같은데, 패치가 upstream-trusted-firware-a에도 적용이 됐고 오히려 upstream 디렉토리에는 소스코드에 제대로 된 패치가 보인다.
    upstream-trusted-firmware-a에서 위의 commit id로 우리가 추가한 패치를 적용 후 trusted-firmware-a로 복사해서 빌드 하니 realm linux 정상 부팅 됨

from islet.

bokdeuk-jeong avatar bokdeuk-jeong commented on July 21, 2024

script/init.sh의 마지막 줄을 수정해서
upstream-trusted-firmware-a를 trusted-firmware-a로 복사 한 후 패치를 적용하던 커맨드를
git clone --reference 로 대체

upstream 디렉토리에는 우리 패치가 적용되지 않고 trusted-firmware-a에만 적용됨을 확인
정상적으로 realm linux가 부팅됨을 확인

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.