lkml.org 
[lkml]   [2008]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: mmiotrace bug: recursive probe hit
Pekka Enberg wrote:
> On Sat, Apr 5, 2008 at 10:36 AM, Avi Kivity <avi@qumranet.com> wrote:
>
>> It should not be too difficult to modify x86_emulate.c to do everything
>> through a function vector. However there is a simpler (for you) solution:
>> run the driver-to-be-reverse-engineered in a kvm guest, and modify kvm
>> userspace to log accesses to mmio regions. This requires the not-yet-merged
>> pci passthrough support. You can reverse engineer Windows drivers with this
>> as well.
>>
>> This won't work for kmemcheck smp though.
>>
>
> For kmemcheck, I'd prefer the per-CPU page tables suggested by Ingo.
> I'm having hard time understanding why that's a "ugly hack" compared
> to using kvm for this...
>

It's not an ugly hack, but will be very very difficult. With mmu
notifiers it's probably doable though:

- the linux page tables are never loaded into cr3, but rather kept as a
reference
- page faults are by instantiating ptes into shadow page tables (which
track the linux page tables)
- mmu notifiers are used to drop shadow ptes when the linux ptes change

--
Any sufficiently difficult bug is indistinguishable from a feature.



\
 
 \ /
  Last update: 2008-04-05 14:41    [W:0.085 / U:0.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site