[lkml]   [2008]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: mmiotrace bug: recursive probe hit
Pekka Enberg wrote:
> On Sat, Apr 5, 2008 at 10:36 AM, Avi Kivity <> 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
- 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.061 / U:6.508 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site