Fixed url below.

On Sat, Jan 11, 2020 at 3:41 PM Harry Butterworth <heb1...@gmail.com> wrote:

> Take a look at Andy’s Binary Editor nyangau.org/be/be.htm
> <http://nyangau.org/be/be.html> and implement an open source equivalent
> as an integrated debugger for seL4.
>
> You will need to be able to get keyboard input, write characters to the
> screen and get access to files containing the structure definitions.  You
> can provide the structure definitions at boot time.
>
> You won’t need an OS or POSIX or even much of a standard library; the
> implementation just requires the language runtime, a parser, a few data
> structures, and a bit of printf-like code.  You could write it all and make
> it completely self-contained which would allow you to keep the footprint
> really small.
>
> Steps to proceed are as follows:
>
> 1) Pick a language.  I’d probably pick C++ for this but you might also
> consider D or Rust or maybe COGENT.
> 2) Work out how to write a small test program in your chosen language and
> get seL4 to run it.  This will require an implementation of the runtime for
> the language.  If this hasn’t been done already for the language you pick,
> you can implement bits of the runtime as you go along when they are
> needed.  If you fail at this step, go back to step 1, pick a different
> language.
> 3) Work out how to get your test program to write characters to the screen
> (or serial console perhaps).
> 4) Work out how to get keyboard input.
> 5) Define the grammar for the structure definitions.  If you happen to
> pick COGENT you might look at DARGENT.
> 6) Understand the Model View Controller design pattern.
> 7) Write a parser to parse the structure definitions to create a model.
> You’ll want the model to use lazy evaluation so the whole system defined by
> the structure definitions can be represented but there is only overhead for
> the bits that are being actively browsed.
> 8) Implement a view for the model which displays a selected part on the
> console.
> 9) Implement a controller for the view and model which is an event loop
> that handles keyboard input and manipulates the model and view accordingly.
>
> After getting your new debugger to work for browsing the entire system
> including the kernel data structures, find a way to integrate it which
> allows it to be configured to run with only the capability it needs for the
> debugging you want to do.  After that you could make sure it can be used
> for debugging real time applications with a guarantee not to interfere with
> their real time operation.
>
> For bonus points, if you have picked COGENT, you might finish off with a
> formal proof that your debugger displays the correct characters on the
> console according to the structure definitions, contents of memory and
> history of keyboard input.  This (in fact the whole task) would be
> complicated by the fact that the memory contents change all the time
> underneath you as you browse a live system so you’d have to work out how to
> incorporate that and still prove something useful.
>
> Enjoy
>
> On Fri, Jan 10, 2020 at 8:21 PM abdi mahmud haji <
> abdimahmudhaji...@gmail.com> wrote:
>
>> hey guys
>> I'm abdurahman  and i have same question for you
>> i have been studying microkernel for a little well now specially seL4 and
>> i have done almost every tutorials in sel4 -tutorials and i have a crazy
>> idea ,that is i when try to build a 'shell or prompt' on the seL4
>> mircokernel but i don't have any idea how to do or where to start . does
>> any one have a suggestion for me
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel@sel4.systems
>> https://sel4.systems/lists/listinfo/devel
>>
>
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to