Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • pmai's avatar
    b39b25d0
    Added specialised port to NetBSD (1.5.2) on x86. Since the code-base · b39b25d0
    pmai authored
    was already cleaned up with the OpenBSD port, this doesn't require
    massive changes.
    
    Since current NetBSD is ELF-based by default, we don't make use of the
    ELF feature, or in other words:  The presence of the NetBSD feature
    implies ELF, since there is no support for non-ELF NetBSD.
    
    The page-protection feature of the generational GC had to be turned
    off, because currently NetBSD 1.5.2 doesn't provide access to the
    faulting memory address in SIGSEGV signal-handlers on the x86
    platform.
    
    The memory is validated/mmapped in 64MB chunks in os-validate, in
    order to circumvent a restriction on NetBSD, that prevented me from
    mmapping 128MB or more apiece.  It has been pointed out to me that
    this may be caused by the default ulimit on data segment sizes, which
    seems kind of strange, but might be true.  In any case the current
    approach works OK, and doesn't require root interaction, so is
    probably the better approach.
    b39b25d0
    History
    Added specialised port to NetBSD (1.5.2) on x86. Since the code-base
    pmai authored
    was already cleaned up with the OpenBSD port, this doesn't require
    massive changes.
    
    Since current NetBSD is ELF-based by default, we don't make use of the
    ELF feature, or in other words:  The presence of the NetBSD feature
    implies ELF, since there is no support for non-ELF NetBSD.
    
    The page-protection feature of the generational GC had to be turned
    off, because currently NetBSD 1.5.2 doesn't provide access to the
    faulting memory address in SIGSEGV signal-handlers on the x86
    platform.
    
    The memory is validated/mmapped in 64MB chunks in os-validate, in
    order to circumvent a restriction on NetBSD, that prevented me from
    mmapping 128MB or more apiece.  It has been pointed out to me that
    this may be caused by the default ulimit on data segment sizes, which
    seems kind of strange, but might be true.  In any case the current
    approach works OK, and doesn't require root interaction, so is
    probably the better approach.