> 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.

I see several problems using this approach:

- You can only virtualize a your own proccessor. That is, you can�t
  execute x86 code in a 68K or PowerPC processor.

- The technique works only if the breakpoints (virtualization entry
  points) are single byte.
  
- Some common instructions must be executed virtualized, so speed
  penalty would be fairly high. A clear example is "RET" (return
  from subrutine).

- You need THREE pages for each original page:

  - Original page, to support software instruction decoding/emulation
    when a breakpoint is found. This page is needed also to support
    code page read.

  - The translated page. This page is almost identical to previous
    page. The only diferences are the breakpoints used to mark
    virtualized instructions. This page is the one really executed.

  - The attribute page. The page which Kevin explains.

So, both memory consumption and speed execution (mostly by the need to
virtualize "RET") would be an issue.

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
[EMAIL PROTECTED] http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz


Reply via email to