Giter Site home page Giter Site logo

Comments (3)

rsta2 avatar rsta2 commented on September 8, 2024

Circle relies on the initial state set by the firmware in some ways. If u-boot changes this state that's a problem. Because it is easy to reset VBAR on the RPi 1 I have done this in the recent commit so that u-boot can be used as you told (not tested by myself). I'm not sure if this will work on the RPi 2 and 3 in any case but at least it does not disturb normal operation (when loaded by the normal firmware) which I have tested on RPi 1-3.

The alignment configuration is set in lib/memory.cpp on the RPi 1 as required by Circle so it should not be a problem if u-boot modifies it.

Thanks for reporting this!

from circle.

jsanchezv avatar jsanchezv commented on September 8, 2024

I've tested the patch on my PI-2 and works flawlessly. When the image is 'mkimage'd with '-O linux -T kernel' or '-O linux -T standalone' and initiated by "bootm" command, the expected environment is found by the image (with the two described exceptions). But when the image is loaded from real binary (not mkimage'd) and started by 'go' command, the initial state is very different: L1 cache enabled, MMU enabled, etc.

ARM documentation for ARMv8 architecture states that VBAR is a register that needs to be correctly configured by an OS at startup. Is strange to me that u-boot restore all the initial configuration except VBAR register. A bug?

from circle.

rsta2 avatar rsta2 commented on September 8, 2024

According to the u-boot manual the bootm command should be the right one to start a Circle image. The go command is used to start so-called standalone applications which use service functions provided by u-boot. Circle doesn't do this.

I think there is some room for discussion if u-boot should reset VBAR on its own. I guess the operating systems which are normally loaded using u-boot are setting VBAR on their own and so there is no problem with it. Because Circle is doing the same now I hope there is no problem any more with Circle. According to your test with the RPi 2 I suppose it is working with u-boot now. Thanks for testing this!

from circle.

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.