On Wed, 2005-11-02 at 17:34 -0500, Dave Anderson wrote: > > crash> rd -u 0x400000 > > rd: invalid user virtual address: 400000 type: "64-bit UVADDR" > > Ah, damn it -- it would also be printed later on in > readmem() if uvtop() fails: > > while (size > 0) { > switch (memtype) > { > case UVADDR: > if (!uvtop(CURRENT_CONTEXT(), addr, &paddr, > 0)) { > if (PRINT_ERROR_MESSAGE) > error(INFO, INVALID_UVADDR, > addr, type); > goto readmem_error; > } > break; > > That's probably where it's happening... > > I would guess that x86_64_uvtop() needs to immediately > recognize if the new VM scheme is in place, and if so > it should veer off to a new "x86_64_uvtop_lev4()" routine. Yep. I realized that after sending you e-mail. Now we have 4-level pagetables which include "PUD". I cooked up one, but its still not working :( I tried reusing the FILL_PML4 code from x86_64_kvtop() for x86_64_uvtop() -- it still doesn't work. I need to spend more time on it to understand it better before I hack it up blindly. Thanks, Badari