Kevin P. Lawton writes:
> Ulrich Weigand wrote:
>
> >...
> > - Add a instruction analyzer/decoder to be used e.g. inside the GPF
> > handler to find out which instruction caused the fault. (I have an
> > decoder already written for another project, this might be useful ...)
> >
> > - Start virtualizing certain system instructions. We'll probably start
> > with those that are used by the nullkernel; most important seem to be
> > LDT/GDT/IDT accesses. This will require to set up a framework to
> > move the real monitor tables to the linear address expected by the
> > guest, protected by page access privileges, and maintain the 'shadow'
> > tables at some other location ...
>
> I'll work on the pre-scanning technique for virtualizing
> arbitrary instructions. Will need to implement parts of
> the other items here, but probably will do so minimally
> at first to get started.
>
> [...snipped excellent description of handling marked pages..]
Well if you only need something to get started with Linux (or
with nullkernel), I can easily release a pre-scanned Linux/nullkernel
in the format you specified
(using stuff at http://starship.python.net/crew/adjih/GPL-VM/).
This would work as long as you don't load modules in Linux
(more work is necessary for future final release obviously).
I can add also more information, for instance results of
the parsing (such as if indirect jump, which expression is used
to compute the destination, etc...).
-- Cedric