[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 64bit GNU Mach
From: |
Samuel Thibault |
Subject: |
Re: 64bit GNU Mach |
Date: |
Mon, 2 Apr 2012 14:54:17 +0200 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Richard Braun, le Mon 02 Apr 2012 14:44:45 +0200, a écrit :
> 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".
No, I mentioned segmentation as the way to have both kernel and user
being able to use 4GiB pointers without limiting themselves in the same
linear address area.
> > > 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).
That's what I'm suggesting from the beginning. That needs two differents
types (64bit mach_port_t and 32bit mach_port_name_t), where there is
currently just one (vm_offset_t mach_port_t).
> You may be thinking of converting user names (32-bits) to kernel names
> (64-bits), then kernel names to IPC objects. Am I right ?
No, I thought you were suggesting to convert usernames (32bits) to
kernel pseudo-pointers (32bit), then use some trick to convert these to
real pointers (64bit).
Samuel
- 64bit GNU Mach, Samuel Thibault, 2012/04/01
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach, Samuel Thibault, 2012/04/02
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach, Samuel Thibault, 2012/04/02
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach, Samuel Thibault, 2012/04/02
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach, Samuel Thibault, 2012/04/02
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach,
Samuel Thibault <=
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
- Re: 64bit GNU Mach, Samuel Thibault, 2012/04/02
- Re: 64bit GNU Mach, Richard Braun, 2012/04/02
Re: 64bit GNU Mach, Roland McGrath, 2012/04/02