[haiku-bugs] Re: [Haiku] #9205: Wine needs some mmap improvements

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Sun, 25 Nov 2012 23:36:38 -0000

#9205: Wine needs some mmap improvements
-----------------------------+-------------------------
   Reporter:  AndreH         |      Owner:  bonefish
       Type:  enhancement    |     Status:  assigned
   Priority:  normal         |  Milestone:  Unscheduled
  Component:  System/Kernel  |    Version:  R1/alpha4
 Resolution:                 |   Keywords:  mmap
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+-------------------------

Comment (by bonefish):

 Replying to [comment:12 AndreH]:
 > As you can see in strace2.txt Wine tries to mmap 0x110000 and Haiku
 returns 0x453000 for quite a while, how can i see what is sitting under
 0x453000 in memory at this moment?

 For x86 the user address space layout is generally the following:
 {{{
 0x00000000 - 0x00100000 Reserved, only allocated upon explicit request.
 0x00100000 - 0x18000000 Free range for general area allocations. The
 kernel maps the
                         runtime loader into this range, the runtime loader
 creates
                         its small heap here, and executable and libraries
 are
                         generally mapped here as well.
 0x18000000 - 0x48000000 Heap (pre-reserved). General area allocations will
 start
                         using the unused part of this range once other
 free ranges
                         have been exhausted.
 0x48000000 - 0x6fff0000 Free range for general area allocations.
 0x6fff0000 - 0x70000000 Used for kernel-userland communication.
 0x70000000 - 0x7efef000 Pre-reserved for thread stacks.
 0x7efef000 - 0x7fff0000 main thread stack
 0x7fff0000              userland address space top
 }}}
 You an use the `listarea` command to see the actually allocated. From
 within your program you can use `get_next_area_info()` to iterate through
 your team's areas. The runtime loader is mapped to 0x100000, the
 executable usually to 0x200000, and libraries somewhere in that range as
 well.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/9205#comment:13>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: