Git Product home page Git Product logo

foc's People

Contributors

ssumpf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foc's Issues

Fetch serial input also when the '-serial_esc' option is not set

Currently, serial input gets only fetched by the kernel when the '-serial_esc' option is set. But when using the kernel debugger console as a terminal backend in Genode, the '-serial_esc' option prevents the use of the ESC key in applications and causes problems when ESC-sequences are received. So, an adaptation is needed to fetch serial input also when the '-serial_esc' option is not set.

Relocate sigma0 to a higher address

When building Fiasco.OC for Arndale with GCC 4.9, an overlap occurs at boot time:

New region for list regions:        [ 40090000,  40095fdf] {     5fe0} Sigma0 sigma0
overlaps with:              [ 40002000,  40093fff] {    92000} Kern   -05-17-22-00/arndale/foc_arndale/kernel/fiasco.oc/fiasco

'Thread::user_single_step()' can disable interrupts

In the Thread::user_single_step() function, the statement

regs()->flags(enable ? user_flags() | EFLAGS_TF : user_flags() & ~EFLAGS_TF);

can clear the interrupt flag, because with the Ex_regs: Change 'user_flags' patch applied, the user_flags() function does not return the previous CPU flags anymore, but the thread state.

limit the application of the exception reply thread state

When the Genode exception handler receives an exception, it saves the thread state given to it by the kernel. When replying to the exception, the saved (and possibly modified via Cpu_session::state()) state is given to the kernel again, who applies it to the thread.

There are some situations where the thread state in the kernel changes without modification of the saved exception handler state, for example when Cpu_session::single_step() gets called. In those cases, the exception handler restores an outdated state. For x86 I observed those unnoticed changes with the single-step flag in Trap_state::_flags and on ARM with Trap_state::'pf_address, Trap_state::error_code, Trap_state:::tpidruro and Trap_state::km_lr.

It's not clear yet what exactly causes each of the unnoticed state changes, so a quick fix would be to not apply these parts of the kernel thread state from the exception reply.

exynos4: trustzone normal side interrupts

In trustzone normal side execution must not interfere with secure side. Each execution mode has assigned a type of interrupt, the normal side only uses the IRQ and secure side the FIQ.
By default when not using TrustZone Secure Side, Fiasco.OC try to handle (enable/disable) both interrupts, the IRQ and FIQ. We think that there is a problem, when the kernel running on TrustZone Normal Side try to write the FIQ bit, and interrupts remains disabled (the operation is cancelled).

rpi: USB IRQ filter

In the RaspberryPI platform the USB interrupts must be filtered to avoid the overload of 8000 irqs per second.

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.