the + 2MB is to keep some distance to the bss (heap).
the assumption might'v been that telnet will not
dynamically allocate more than 2MB from the time
when the segment is created.

a better solution would be to just pass 0 as va. the
kernel will then put the segment downwards from
the stack base and finds a hole in the address
space for us returning the base address from
segattach().

segments cannot expand down. even the stack segment
has a fixed size and uses demand paging for downwards
expansion, thats why this works :)

--
cinap

Reply via email to