[haiku-development] Re: Haiku memory mapping

  • From: "Shade" <deep_@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 18 Nov 2010 16:06:37 +0600

On Thu, 18 Nov 2010 09:51:50 +0100
 François Revol <revol@xxxxxxx> wrote:

Le 18 nov. 2010 à 08:05, Eugene Katashov a écrit :

Sorry. Of course I meant description of address space layout (bounds of kernel
space and user space).

http://dev.haiku-os.org/browser/haiku/trunk/headers/private/kernel/arch/x86/arch_kernel.h

should tell you this.

Compared to BeOS, the split has been reversed, to be like the usual split of other OSes.

Nice!


And yet another question, please. Does Haiku have functions similar to
Linux functions
modify_ldt / set_thread_area / arch_prctl, which sets base for FS/GS registers?

No.
We do have TLS support though.

What are you trying to do ? Porting some VM stuff ?

Tell us what you need it for, we'll tell you why you don't need it :p

François.


Porting WINE =)

Wine use this funcs on init new threads to set FS/GS base to addr of TEB struct (thread environment block)
x86_64:
http://source.winehq.org/git/wine.git/?a=blob;f=dlls/ntdll/signal_x86_64.c;h=48f8b6d4a0ac3de99f6b6503cc710ea5ddf11cf8;hb=4cd2a0e54239973c4205a114d4b347647a2150a7#l2328
x86_32:
http://source.winehq.org/git/wine.git/?a=blob;f=dlls/ntdll/signal_i386.c;h=f30a617b3d12d105f534f0eac69ec131a022159a;hb=4cd2a0e54239973c4205a114d4b347647a2150a7#l2154

http://www.winehq.org/docs/winedev-guide/threading (8.4.3. The Win32 thread environment)

Other related posts: