Hi Franc,
      
      The easiest way to trigger privileged code from userland is by
      adding a new syscall to the base-hw kernel. To achieve this, you
      first have to adapt the kernel-interface description. Let me give
      you some background for this. There are two types of syscalls,
      public syscalls that can be called by everyone and core syscalls
      that can be called only by Genodes core process. For optimization
      purpose, the kernel expects the IDs of the syscalls to be this
      way:
      
      public syscalls: 0, 1, ..., x
      core syscalls: x+1, x+2, x+y
      
      So if you want to add a public syscall in
      base-hw/include/kernel/interface.h, you should always use the call
      ID that is one higher than the current maximum in this file.
      Additionally, you must increase all core-syscall IDs in
      base-hw/src/core/include/kernel/core_interface.h by one.
      
      After that, you can implement the syscall back-end by adding a new
      method 'void Thread::_call_xxx()' in
      base-hw/src/core/kernel/thread.cc and adapting the 'void
      Thread::_call()' method in the same file accordingly. In this file
      you also find the implementation of all the other syscalls. They
      may serve you as inspiration on how to pass arguments and return
      values.
      
      If you have further questions, please don't hesitate to ask ;)
      
      Cheers,
      Martin
      
      On 19.01.2015 11:04, Franc sylvester wrote:
    
    
      Hello everyone, 
        
        
        I am stuck at one point because of lack of understanding in
          Genode, Actually I want to execute some assembly instruction
          in privileged mode in base-hw kernel from a user script. 
          
        
        So I need to know, How will I add a kernel module which
          will execute assembly instruction and how can I call this
          module from the user space.
        
        
        And if there is already any such modules exist in Genode
          that will really help me to understand the flow mechanism, Let
          me know. 
        
        
        Cheers
        Franc
      
      
      
      ------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
      
      
      
      _______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main