Windows kpgd lookup method0 and method1 are _only_ functional if the CR3 value is returned by the driver. This fact has been a bit buried via the use of kv2p which falls back to the driver as well to get a dtb. It is however a very quirky setup where kernel memory accesses are sometimes translated via the CR3 value (while vmi->kpgd isn't know) and then by the kernel page table. This PR disallows the use kv2p while the real kernel pgd is unknown to provide a more consistent setup.
vmi_read_addr_* is only meaningful if the width of the addr is known. The existing setup always fell back on 32-bit addr width when the page mode is unknown, thus breaking file-mode on 64-bit memory dumps. This patch fixes this issue by employing heuristics during page mode detection in Windows to check if we have 32-bit or 64-bit addresses.
Introduce generic memory access functions via the access_context_t structure
Reduce code-duplication in read.c
Reduce code-duplication in write.c
Add example of using access_context_t and vmi_get_va_pages
Introduce vmi_write_addr_* functions
Extra debug/error output and formatting
Merge pull request #174 from kittel/master

Fixed doxygen for vmi_pagetable_lookup_extended (param syntax is: in,out)
Clean up the Xen event version checks and make events work with the latest 4.5 master branch.
Merge pull request #175 from tklengyel/xenevent_cleanup

Clean up the Xen event version checks and make events work with the late...
Switch errprint to dbprint for non-critical errors in events
Fix 32-bit Windows 7 initialization errors and process list example not working. Switched it to walk PsActiveProcessHead instead of PsInitialSystemProcess.
Merge pull request #176 from tklengyel/win7_32bit_fix

Fix 32-bit Windows 7 initialization errors and process list example not ...
Merge pull request #177 from tklengyel/event_verbosity

Switch errprint to dbprint for non-critical errors in events
Merge pull request #168 from tklengyel/read_write2

Introduce generic memory access functions
Adding some new ignores.
Restore find kpgd_method2 as a fallback.

Also fixes missing 'case' in switch statement.
Merge pull request #178 from awsaba/kpgd_method2_fix

Restore find kpgd_method2 as a fallback.
Merge pull request #179 from awsaba/more_ignores

Adding some new ignores.