Re: 64 bits Kernel and 32 bits process
Re: 64 bits Kernel and 32 bits process
- Subject: Re: 64 bits Kernel and 32 bits process
- From: Justin Walker <email@hidden>
- Date: Mon, 17 Jan 2005 08:35:05 -0800
On Jan 17, 2005, at 7:40, Stéphane Sudre wrote:
Is there a documentation explaining somewhere very clearly how a 32
bits process is running in a 64 bits capable OS?
Because I'm wondering what kind of address is ok for copyin when the
address-space in the kernel is 64 bits.
I have some problem understanding how providing my user space address
from a 32 bits process is going to work in every case when the address
space can be 64 bits. Unless 32 bits processes can't be executed in
the last 32 bits of the 64 bits address space.
Maybe it will help to realize that, for copyin/copyout, there is always
magic around to handle the mapping between address spaces. This
mapping makes sure that the address/address-space pairs are properly
translated so that the result is a "move a byte from here to there"
instruction that the computer can execute.
Generally, the magic takes the form of mapping registers in an MMU.
Keep in mind that, even in yesterday's G3 and G4 processors, this same
magic has to occur to ensure that the virtual addresses seen,
separately, by user and kernel instructions get translated to physical
addresses (like user space, the kernel address space is mapped).
For more details, you should look at a CPU manual (available, I think,
on IBM's website).
As Shawn has tried to point out, the plan for Mac OS X is to stay
32-bits, while user spaces are (selectively) widened to 64 bits, so in
fact, your question should be inverted.
Cheers,
Justin
--
Justin C. Walker, Curmudgeon-At-Large *
Institute for General Semantics | Some people have a mental
| horizon of radius zero, and
| call it their point of view.
| -- David Hilbert
*--------------------------------------*-------------------------------*
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden