On Fri Sep 25 14:11:03 EDT 2009, m...@acm.jhu.edu wrote:
> So in my example, va = 0x10001001, len = 0x1000. I understood that to
> mean [0x10001001, 0x10002001) was the newly-valid interval, which
> would mean 0x10002000 was a valid address...

i think you're misreading the man page.  from the man page
        Segattach creates a new memory segment, adds it to the call-
        ing process's address space, and returns its lowest address.
so you need to use the value returned, not the value
you gave it.  in this case 0x10001000 not 0x0001001.

also from the man page
        Va and len specify the position of the segment in the
        process's address space.  Va is rounded down to the nearest
        page boundary and va+len is rounded up.  The system does not
so va is rounded down (as you see) and the length
is rounded up, also as you see.

- erik

Reply via email to