commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnumach] 01/03: New upstream version 1.8


From: Samuel Thibault
Subject: [gnumach] 01/03: New upstream version 1.8
Date: Mon, 19 Dec 2016 15:02:28 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch master-1.8
in repository gnumach.

commit ae7edf531dd2a673660dfc250e41f101ea068b16
Author: Samuel Thibault <address@hidden>
Date:   Mon Dec 19 15:57:46 2016 +0100

    New upstream version 1.8
---
 ChangeLog              |  24 +++++
 NEWS                   |  27 +++++-
 build-aux/config.guess |  28 +++---
 build-aux/config.sub   |  22 +++--
 configure              |  20 ++---
 doc/mach.info          | 240 ++++++++++++++++++++++++-------------------------
 doc/mach.info-1        |  14 ++-
 doc/mach.info-2        |   6 +-
 doc/mach.texi          |   6 +-
 doc/stamp-vti          |   8 +-
 doc/version.texi       |   8 +-
 ipc/ipc_kmsg.c         |   2 -
 kern/rbtree.h          |   2 +-
 version.m4             |   2 +-
 vm/vm_map.c            |  27 +++---
 15 files changed, 250 insertions(+), 186 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f8397b0..5562331 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2016-12-18  Thomas Schwinge  <address@hidden>
+
+       GNU Mach 1.8
+       * version.m4 (AC_PACKAGE_VERSION): Set to 1.8.
+       * NEWS: Finalize for 1.8.
+
+2016-12-11  Richard Braun  <address@hidden>
+
+       VM: make vm_wire more POSIX-friendly
+       * doc/mach.texi: Update return codes.
+       * vm/vm_map.c (vm_map_pageable_common): Return KERN_NO_SPACE instead
+       of KERN_FAILURE if some of the specified address range does not
+       correspond to mapped pages. Skip unwired entries instead of failing
+       when unwiring.
+
+2016-12-09  Justus Winter  <address@hidden>
+
+       Update the NEWS file
+
+2016-12-09  Richard Braun  <address@hidden>
+
+       rbtree: minor change
+       * kern/rbtree.h (rbtree_for_each_remove): Remove trailing slash.
+
 2032-05-12  Richard Braun  <address@hidden>
 
        VM: fix pageout throttling to external pagers
diff --git a/NEWS b/NEWS
index a14ac2b..8349550 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,29 @@
-Version 1.8 (2016-10-XX)
+Version 1.8 (2016-12-18)
+
+The memory management system was extensively reworked.  A new type for
+physical addresses is now used where appropriate, and the system can
+make use of the high memory segment.  Many paging issues have been
+addressed, and as a result the system handles low memory situations
+more gracefully now.
+
+The virtual memory system now uses a red-black tree for allocations,
+and as a result it now supports tasks with tens of thousands of
+mappings.
+
+Debugging and error reporting has been improved.  Among other things
+the VM maps are now augmented with names that are used in error
+messages, panics and assertions point to their locations, the lock
+debugging mechanism has been fixed, and the kernel debugger can now
+inspect stack traces reaching into the machine-dependent bits
+implemented in assembler.
+
+As usual, bugs have been fixed throughout the code, including minor
+issues with the gsync synchronization mechanism which is now used for
+the internal locks in the GNU C Library (glibc).
 
 The deprecated external memory management interface has been removed.
+
+The partial ACPI support has been removed.
 
 Version 1.7 (2016-05-18)
 
@@ -63,7 +86,7 @@ The kernel debugger can now parse ELF symbol tables, can be 
invoked
 over serial lines, gained two new commands and has received usability
 improvements.
 
-The vm pageout policy has been tuned to accommodate modern hardware.
+The VM pageout policy has been tuned to accommodate modern hardware.
 
 The kernel gained partial ACPI support on x86, enough to power down
 the system.
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 0967f2a..2e9ad7f 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -2,7 +2,7 @@
 # Attempt to guess a canonical system name.
 #   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2016-04-02'
+timestamp='2016-10-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -186,9 +186,12 @@ case 
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
+       # to ELF recently (or will in the future) and ABI.
        case "${UNAME_MACHINE_ARCH}" in
-           arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+           earm*)
+               os=netbsdelf
+               ;;
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
@@ -997,6 +1000,9 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
+    mips64el:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     openrisc*:Linux:*:*)
        echo or1k-unknown-linux-${LIBC}
        exit ;;
@@ -1029,6 +1035,9 @@ EOF
     ppcle:Linux:*:*)
        echo powerpcle-unknown-linux-${LIBC}
        exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
        echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
@@ -1408,18 +1417,17 @@ esac
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <address@hidden> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to address@hidden to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 8d39c4b..dd2ca93 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2016-03-30'
+timestamp='2016-11-04'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -117,7 +117,7 @@ case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | 
kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -301,6 +301,7 @@ case $basic_machine in
        | open8 | or1k | or1knd | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pru \
        | pyramid \
        | riscv32 | riscv64 \
        | rl78 | rx \
@@ -428,6 +429,7 @@ case $basic_machine in
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pru-* \
        | pyramid-* \
        | riscv32-* | riscv64-* \
        | rl78-* | romp-* | rs6000-* | rx-* \
@@ -643,6 +645,14 @@ case $basic_machine in
                basic_machine=m68k-bull
                os=-sysv3
                ;;
+       e500v[12])
+               basic_machine=powerpc-unknown
+               os=$os"spe"
+               ;;
+       e500v[12]-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=$os"spe"
+               ;;
        ebmon29k)
                basic_machine=a29k-amd
                os=-ebmon
@@ -1022,7 +1032,7 @@ case $basic_machine in
        ppc-* | ppcbe-*)
                basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
+       ppcle | powerpclittle)
                basic_machine=powerpcle-unknown
                ;;
        ppcle-* | powerpclittle-*)
@@ -1032,7 +1042,7 @@ case $basic_machine in
                ;;
        ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 
's/^[^-]*-//'`
                ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+       ppc64le | powerpc64little)
                basic_machine=powerpc64le-unknown
                ;;
        ppc64le-* | powerpc64little-*)
@@ -1389,7 +1399,7 @@ case $os in
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* 
\
-             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | 
-linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1399,7 +1409,7 @@ case $os in
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
              | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-             | -onefs* | -tirtos*)
+             | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
diff --git a/configure b/configure
index e7a4219..304890e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU Mach 1.7+git20161202.
+# Generated by GNU Autoconf 2.69 for GNU Mach 1.8.
 #
 # Report bugs to <address@hidden>.
 #
@@ -579,8 +579,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU Mach'
 PACKAGE_TARNAME='gnumach'
-PACKAGE_VERSION='1.7+git20161202'
-PACKAGE_STRING='GNU Mach 1.7+git20161202'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='GNU Mach 1.8'
 PACKAGE_BUGREPORT='address@hidden'
 PACKAGE_URL=''
 
@@ -1599,7 +1599,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GNU Mach 1.7+git20161202 to adapt to many kinds of 
systems.
+\`configure' configures GNU Mach 1.8 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1670,7 +1670,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU Mach 1.7+git20161202:";;
+     short | recursive ) echo "Configuration of GNU Mach 1.8:";;
    esac
   cat <<\_ACEOF
 
@@ -2026,7 +2026,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU Mach configure 1.7+git20161202
+GNU Mach configure 1.8
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2118,7 +2118,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GNU Mach $as_me 1.7+git20161202, which was
+It was created by GNU Mach $as_me 1.8, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2984,7 +2984,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gnumach'
- VERSION='1.7+git20161202'
+ VERSION='1.8'
 
 
 # Some tools Automake needs.
@@ -12189,7 +12189,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GNU Mach $as_me 1.7+git20161202, which was
+This file was extended by GNU Mach $as_me 1.8, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12260,7 +12260,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GNU Mach config.status 1.7+git20161202
+GNU Mach config.status 1.8
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/doc/mach.info b/doc/mach.info
index cf13082..13efcef 100644
--- a/doc/mach.info
+++ b/doc/mach.info
@@ -2,8 +2,8 @@ This is mach.info, produced by makeinfo version 6.3 from 
mach.texi.
 
 This file documents the GNU Mach microkernel.
 
-   This is edition 0.4, last updated on 16 October 2016, of 'The GNU
-Mach Reference Manual', for version 1.7+git20161202.
+   This is edition 0.4, last updated on 14 December 2016, of 'The GNU
+Mach Reference Manual', for version 1.8.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
@@ -39,126 +39,126 @@ END-INFO-DIR-ENTRY
 
 
 Indirect:
-mach.info-1: 1641
-mach.info-2: 302874
+mach.info-1: 1630
+mach.info-2: 302732
 
 Tag Table:
 (Indirect)
-Node: Top1641
-Node: Introduction11280
-Node: Audience12111
-Node: Features13146
-Node: Overview14973
-Node: History16166
-Node: Installing16311
-Node: Binary Distributions17536
-Node: Compilation18344
-Node: Configuration19577
-Node: Cross-Compilation35988
-Node: Bootstrap36769
-Ref: Bootstrap-Footnote-137212
-Node: Bootloader37449
-Ref: Bootloader-Footnote-138729
-Node: Modules38815
-Node: Inter Process Communication39642
-Node: Major Concepts40265
-Node: Messaging Interface44070
-Node: Mach Message Call44800
-Node: Message Format48115
-Node: Exchanging Port Rights59307
-Ref: Exchanging Port Rights-Footnote-164869
-Node: Memory65041
-Ref: Memory-Footnote-168135
-Node: Message Send68477
-Ref: Message Send-Footnote-175499
-Node: Message Receive75782
-Ref: Message Receive-Footnote-185434
-Node: Atomicity85715
-Node: Port Manipulation Interface88489
-Node: Port Creation90044
-Node: Port Destruction94833
-Node: Port Names97976
-Node: Port Rights102223
-Node: Ports and other Tasks106012
-Node: Receive Rights110105
-Node: Port Sets117036
-Node: Request Notifications119439
-Node: Inherited Ports124243
-Node: Virtual Memory Interface127927
-Node: Memory Allocation129180
-Node: Memory Deallocation131705
-Node: Data Transfer133169
-Node: Memory Attributes136695
-Node: Mapping Memory Objects146134
-Node: Memory Statistics149426
-Node: External Memory Management151000
-Node: Memory Object Server151705
-Node: Memory Object Creation154386
-Node: Memory Object Termination158374
-Node: Memory Objects and Data161313
-Node: Memory Object Locking175218
-Node: Memory Object Attributes181082
-Node: Default Memory Manager184857
-Node: Threads and Tasks190539
-Node: Thread Interface190876
-Node: Thread Creation191872
-Node: Thread Termination192989
-Node: Thread Information193460
-Node: Thread Settings199559
-Node: Thread Execution200793
-Node: Scheduling208086
-Node: Thread Priority208441
-Node: Hand-Off Scheduling211075
-Node: Scheduling Policy216200
-Node: Thread Special Ports217532
-Node: Exceptions219978
-Node: Task Interface220848
-Node: Task Creation221860
-Node: Task Termination223195
-Node: Task Information223797
-Node: Task Execution230699
-Node: Task Special Ports235112
-Node: Syscall Emulation238966
-Node: Profiling240197
-Node: Host Interface243960
-Node: Host Ports244945
-Node: Host Information247018
-Node: Host Time252401
-Node: Host Reboot255068
-Node: Processors and Processor Sets255620
-Node: Processor Set Interface256598
-Node: Processor Set Ports257365
-Node: Processor Set Access258195
-Node: Processor Set Creation260455
-Node: Processor Set Destruction261482
-Node: Tasks and Threads on Sets262403
-Node: Processor Set Priority267570
-Node: Processor Set Policy268860
-Node: Processor Set Info270474
-Node: Processor Interface274287
-Node: Hosted Processors275012
-Node: Processor Control276003
-Node: Processors and Sets277469
-Node: Processor Info279347
-Node: Device Interface282089
-Node: Device Reply Server283704
-Node: Device Open284996
-Node: Device Close287119
-Node: Device Read287698
-Node: Device Write290617
-Node: Device Map293422
-Node: Device Status294313
-Node: Device Filter295486
-Node: Kernel Debugger302874
-Node: Operation303601
-Node: Commands306578
-Node: Variables320363
-Node: Expressions321751
-Node: Copying323100
-Node: Documentation License342329
-Node: GNU Free Documentation License342918
-Node: CMU License365317
-Node: Concept Index366552
-Node: Function and Data Index370398
+Node: Top1630
+Node: Introduction11258
+Node: Audience12089
+Node: Features13124
+Node: Overview14951
+Node: History16144
+Node: Installing16289
+Node: Binary Distributions17514
+Node: Compilation18322
+Node: Configuration19555
+Node: Cross-Compilation35966
+Node: Bootstrap36747
+Ref: Bootstrap-Footnote-137190
+Node: Bootloader37427
+Ref: Bootloader-Footnote-138707
+Node: Modules38793
+Node: Inter Process Communication39620
+Node: Major Concepts40243
+Node: Messaging Interface44048
+Node: Mach Message Call44778
+Node: Message Format48093
+Node: Exchanging Port Rights59285
+Ref: Exchanging Port Rights-Footnote-164847
+Node: Memory65019
+Ref: Memory-Footnote-168113
+Node: Message Send68455
+Ref: Message Send-Footnote-175477
+Node: Message Receive75760
+Ref: Message Receive-Footnote-185412
+Node: Atomicity85693
+Node: Port Manipulation Interface88467
+Node: Port Creation90022
+Node: Port Destruction94811
+Node: Port Names97954
+Node: Port Rights102201
+Node: Ports and other Tasks105990
+Node: Receive Rights110083
+Node: Port Sets117014
+Node: Request Notifications119417
+Node: Inherited Ports124221
+Node: Virtual Memory Interface127905
+Node: Memory Allocation129158
+Node: Memory Deallocation131683
+Node: Data Transfer133147
+Node: Memory Attributes136673
+Node: Mapping Memory Objects146003
+Node: Memory Statistics149295
+Node: External Memory Management150869
+Node: Memory Object Server151574
+Node: Memory Object Creation154255
+Node: Memory Object Termination158243
+Node: Memory Objects and Data161182
+Node: Memory Object Locking175087
+Node: Memory Object Attributes180951
+Node: Default Memory Manager184726
+Node: Threads and Tasks190408
+Node: Thread Interface190745
+Node: Thread Creation191741
+Node: Thread Termination192858
+Node: Thread Information193329
+Node: Thread Settings199428
+Node: Thread Execution200662
+Node: Scheduling207955
+Node: Thread Priority208310
+Node: Hand-Off Scheduling210944
+Node: Scheduling Policy216069
+Node: Thread Special Ports217401
+Node: Exceptions219847
+Node: Task Interface220717
+Node: Task Creation221729
+Node: Task Termination223064
+Node: Task Information223666
+Node: Task Execution230568
+Node: Task Special Ports234981
+Node: Syscall Emulation238835
+Node: Profiling240066
+Node: Host Interface243829
+Node: Host Ports244814
+Node: Host Information246887
+Node: Host Time252270
+Node: Host Reboot254937
+Node: Processors and Processor Sets255489
+Node: Processor Set Interface256467
+Node: Processor Set Ports257234
+Node: Processor Set Access258064
+Node: Processor Set Creation260324
+Node: Processor Set Destruction261351
+Node: Tasks and Threads on Sets262272
+Node: Processor Set Priority267439
+Node: Processor Set Policy268729
+Node: Processor Set Info270343
+Node: Processor Interface274156
+Node: Hosted Processors274881
+Node: Processor Control275872
+Node: Processors and Sets277338
+Node: Processor Info279216
+Node: Device Interface281958
+Node: Device Reply Server283573
+Node: Device Open284865
+Node: Device Close286988
+Node: Device Read287567
+Node: Device Write290486
+Node: Device Map293291
+Node: Device Status294182
+Node: Device Filter295355
+Node: Kernel Debugger302732
+Node: Operation303459
+Node: Commands306436
+Node: Variables320221
+Node: Expressions321609
+Node: Copying322958
+Node: Documentation License342187
+Node: GNU Free Documentation License342776
+Node: CMU License365175
+Node: Concept Index366410
+Node: Function and Data Index370256
 
 End Tag Table
diff --git a/doc/mach.info-1 b/doc/mach.info-1
index 126d593..0c52f22 100644
--- a/doc/mach.info-1
+++ b/doc/mach.info-1
@@ -2,8 +2,8 @@ This is mach.info, produced by makeinfo version 6.3 from 
mach.texi.
 
 This file documents the GNU Mach microkernel.
 
-   This is edition 0.4, last updated on 16 October 2016, of 'The GNU
-Mach Reference Manual', for version 1.7+git20161202.
+   This is edition 0.4, last updated on 14 December 2016, of 'The GNU
+Mach Reference Manual', for version 1.8.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
@@ -45,8 +45,8 @@ Main Menu
 
 This file documents the GNU Mach microkernel.
 
-   This is edition 0.4, last updated on 16 October 2016, of 'The GNU
-Mach Reference Manual', for version 1.7+git20161202.
+   This is edition 0.4, last updated on 14 December 2016, of 'The GNU
+Mach Reference Manual', for version 1.8.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
@@ -3237,10 +3237,8 @@ File: mach.info,  Node: Memory Attributes,  Next: 
Mapping Memory Objects,  Prev:
      'KERN_INVALID_HOST' if HOST was not a valid host port,
      'KERN_INVALID_TASK' if TASK was not a valid task,
      'KERN_INVALID_VALUE' if ACCESS specified an invalid access mode,
-     'KERN_FAILURE' if some memory in the specified range is not present
-     or has an inappropriate protection value, and
-     'KERN_INVALID_ARGUMENT' if unwiring (ACCESS is 'VM_PROT_NONE') and
-     the memory is not already wired.
+     and 'KERN_NO_SPACE' if some memory in the specified range is not
+     present or has an inappropriate protection value.
 
      The 'vm_wire' call is actually an RPC to HOST, normally a send
      right for a privileged host port, but potentially any send right.
diff --git a/doc/mach.info-2 b/doc/mach.info-2
index 6163fd8..8af56ec 100644
--- a/doc/mach.info-2
+++ b/doc/mach.info-2
@@ -2,8 +2,8 @@ This is mach.info, produced by makeinfo version 6.3 from 
mach.texi.
 
 This file documents the GNU Mach microkernel.
 
-   This is edition 0.4, last updated on 16 October 2016, of 'The GNU
-Mach Reference Manual', for version 1.7+git20161202.
+   This is edition 0.4, last updated on 14 December 2016, of 'The GNU
+Mach Reference Manual', for version 1.8.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
@@ -1771,7 +1771,7 @@ Function and Data Index
 * vm_copy:                               Data Transfer.       (line  50)
 * vm_deallocate:                         Memory Deallocation. (line   6)
 * vm_inherit:                            Memory Attributes.   (line  68)
-* vm_machine_attribute:                  Memory Attributes.   (line 132)
+* vm_machine_attribute:                  Memory Attributes.   (line 130)
 * vm_map:                                Mapping Memory Objects.
                                                               (line   6)
 * vm_protect:                            Memory Attributes.   (line  34)
diff --git a/doc/mach.texi b/doc/mach.texi
index 99ee854..d2b88d1 100644
--- a/doc/mach.texi
+++ b/doc/mach.texi
@@ -3261,10 +3261,8 @@ The function returns @code{KERN_SUCCESS} if the call 
succeeded,
 @code{KERN_INVALID_HOST} if @var{host} was not a valid host
 port, @code{KERN_INVALID_TASK} if @var{task} was not a valid task,
 @code{KERN_INVALID_VALUE} if @var{access} specified an invalid access
-mode, @code{KERN_FAILURE} if some memory in the specified range is not
-present or has an inappropriate protection value, and
address@hidden if unwiring (@var{access} is
address@hidden) and the memory is not already wired.
+mode, and @code{KERN_NO_SPACE} if some memory in the specified range
+is not present or has an inappropriate protection value.
 
 The @code{vm_wire} call is actually an RPC to @var{host}, normally
 a send right for a privileged host port, but potentially any send right.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 1d1d8d7..25a1c94 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
address@hidden UPDATED 16 October 2016
address@hidden UPDATED-MONTH October 2016
address@hidden EDITION 1.7+git20161202
address@hidden VERSION 1.7+git20161202
address@hidden UPDATED 14 December 2016
address@hidden UPDATED-MONTH December 2016
address@hidden EDITION 1.8
address@hidden VERSION 1.8
diff --git a/doc/version.texi b/doc/version.texi
index 1d1d8d7..25a1c94 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
address@hidden UPDATED 16 October 2016
address@hidden UPDATED-MONTH October 2016
address@hidden EDITION 1.7+git20161202
address@hidden VERSION 1.7+git20161202
address@hidden UPDATED 14 December 2016
address@hidden UPDATED-MONTH December 2016
address@hidden EDITION 1.8
address@hidden VERSION 1.8
diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c
index 527fbfc..28ed23c 100644
--- a/ipc/ipc_kmsg.c
+++ b/ipc/ipc_kmsg.c
@@ -1391,8 +1391,6 @@ ipc_kmsg_copyin_body(
                        if (length == 0)
                                data = 0;
                        else if (is_port) {
-                               if (length > 1<<20)
-                                       printf("allocating %llu for message 
%u\n", length, kmsg->ikm_header.msgh_id);
                                data = kalloc(length);
                                if (data == 0)
                                        goto invalid_memory;
diff --git a/kern/rbtree.h b/kern/rbtree.h
index 16ef273..f885fe7 100644
--- a/kern/rbtree.h
+++ b/kern/rbtree.h
@@ -301,6 +301,6 @@ void rbtree_remove(struct rbtree *tree, struct rbtree_node 
*node);
 for (node = rbtree_postwalk_deepest(tree),              \
      tmp = rbtree_postwalk_unlink(node);                \
      node != NULL;                                      \
-     node = tmp, tmp = rbtree_postwalk_unlink(node))    \
+     node = tmp, tmp = rbtree_postwalk_unlink(node))
 
 #endif /* _KERN_RBTREE_H */
diff --git a/version.m4 b/version.m4
index 2d1efff..d6696d6 100644
--- a/version.m4
+++ b/version.m4
@@ -1,4 +1,4 @@
 m4_define([AC_PACKAGE_NAME],[GNU Mach])
-m4_define([AC_PACKAGE_VERSION],[1.7+git20161202])
+m4_define([AC_PACKAGE_VERSION],[1.8])
 m4_define([AC_PACKAGE_BUGREPORT],address@hidden)
 m4_define([AC_PACKAGE_TARNAME],[gnumach])
diff --git a/vm/vm_map.c b/vm/vm_map.c
index 604177e..7db9ced 100644
--- a/vm/vm_map.c
+++ b/vm/vm_map.c
@@ -744,7 +744,7 @@ restart:
        return entry;
 
 error:
-       printf("no more room in %p (%s) for allocating %u\n", map, map->name, 
size);
+       printf("no more room in %p (%s)\n", map, map->name);
        return NULL;
 }
 
@@ -1477,7 +1477,7 @@ kern_return_t vm_map_pageable_common(
                 *      Start address is not in map; this is fatal.
                 */
                vm_map_unlock(map);
-               return(KERN_FAILURE);
+               return(KERN_NO_SPACE);
        }
 
        /*
@@ -1490,19 +1490,17 @@ kern_return_t vm_map_pageable_common(
                vm_map_clip_start(map, entry, start);
 
                /*
-                *      Unwiring.  First ensure that the range to be
-                *      unwired is really wired down.
+                *      Unwiring.  First ensure that there are no holes
+                *      in the specified range.
                 */
                while ((entry != vm_map_to_entry(map)) &&
                       (entry->vme_start < end)) {
 
-                   if ((entry->wired_count == 0) ||
-                       ((entry->vme_end < end) &&
-                        ((entry->vme_next == vm_map_to_entry(map)) ||
-                         (entry->vme_next->vme_start > entry->vme_end))) ||
-                       (user_wire && (entry->user_wired_count == 0))) {
+                   if ((entry->vme_end < end) &&
+                       ((entry->vme_next == vm_map_to_entry(map)) ||
+                        (entry->vme_next->vme_start > entry->vme_end))) {
                            vm_map_unlock(map);
-                           return(KERN_INVALID_ARGUMENT);
+                           return(KERN_NO_SPACE);
                    }
                    entry = entry->vme_next;
                }
@@ -1517,6 +1515,13 @@ kern_return_t vm_map_pageable_common(
                       (entry->vme_start < end)) {
                    vm_map_clip_end(map, entry, end);
 
+                   /* Skip unwired entries */
+                   if (entry->wired_count == 0) {
+                       assert(entry->user_wired_count == 0);
+                       entry = entry->vme_next;
+                       continue;
+                   }
+
                    if (user_wire) {
                        if (--(entry->user_wired_count) == 0)
                        {
@@ -1641,7 +1646,7 @@ kern_return_t vm_map_pageable_common(
                            }
 
                            vm_map_unlock(map);
-                           return(KERN_FAILURE);
+                           return(KERN_NO_SPACE);
                    }
                    entry = entry->vme_next;
                }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/gnumach.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]