On Mon, Apr 02, 2012 at 02:39:05PM +0200, Samuel Thibault wrote: > > I don't see the relation with segmentation and the 4GiB split. > > I said: "to avoid the trick", i.e. just use 32bit pointers, to just use > the same type as in userland as you suggested. > > > What is the layout you expect for the kernel space ? First 4 GiB user > > then kernel ? > > First 4GiB user, last 4GiB kernel. > > > And you thought of segmentation to implicitely shift addresses ? > > Again, there is no segmentation in x86_64.
I was wondering why you referred to segmentation in the first place. I guess segmentation is what you referred to as "the trick". It wasn't a suggestion :). > > IMHO, changing GNU Mach to cleanly convert port names where needed > > remains the sane choice. > > That is, use 32bit port names for userland, and convert to 64bit port > addresses for kernelland. But that can only work if using different > types. I believe we're thinking of two different things here. My current idea of the solution is to directly convert names (32-bits) to ports or other IPC objects (e.g. port sets, 64-bits). You may be thinking of converting user names (32-bits) to kernel names (64-bits), then kernel names to IPC objects. Am I right ? -- Richard Braun