commit-hurd
[Top][All Lists]
Advanced

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

[gnumach] 01/03: Imported Upstream version 1.6+git20160114


From: Samuel Thibault
Subject: [gnumach] 01/03: Imported Upstream version 1.6+git20160114
Date: Wed, 13 Jan 2016 23:52:24 +0000

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

sthibault pushed a commit to branch master
in repository gnumach.

commit 527984fdec81b5c720eccbf887057fa46ec389e0
Author: Samuel Thibault <address@hidden>
Date:   Wed Jan 13 23:20:48 2016 +0000

    Imported Upstream version 1.6+git20160114
---
 ChangeLog                            |  69 +++++++++++++++++++
 Makefile.am                          |   5 ++
 Makefile.in                          |  10 +--
 configure                            |  20 +++---
 doc/mach.info                        |   2 +-
 doc/mach.info-1                      |   4 +-
 doc/mach.info-2                      |   2 +-
 doc/stamp-vti                        |   4 +-
 doc/version.texi                     |   4 +-
 i386/Makefrag.am                     |   1 -
 i386/i386/phys.c                     |   3 +-
 i386/i386/vm_param.h                 |   4 +-
 i386/i386at/disk.h                   | 101 ----------------------------
 i386/i386at/lpr.c                    |  26 ++++----
 i386/include/mach/i386/disk.h        | 124 -----------------------------------
 i386/intel/pmap.c                    |   1 +
 kern/mach_clock.c                    |   2 +-
 kern/slab.c                          |   2 +-
 linux/dev/glue/block.c               |  37 +----------
 linux/dev/include/linux/fs.h         |   4 +-
 linux/dev/include/linux/locks.h      |  10 +--
 linux/dev/include/linux/mm.h         |   2 +-
 linux/dev/init/main.c                |   4 +-
 linux/src/drivers/net/e2100.c        |   4 +-
 linux/src/include/asm-i386/termios.h |   4 +-
 linux/src/include/linux/interrupt.h  |  12 ++--
 linux/src/include/net/route.h        |  16 ++---
 linux/src/include/net/sock.h         |   6 +-
 version.m4                           |   2 +-
 vm/vm_map.c                          |  27 +++++---
 vm/vm_object.c                       |  15 +++--
 vm/vm_object.h                       |   2 +-
 vm/vm_print.h                        |   3 +-
 33 files changed, 180 insertions(+), 352 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e51b563..3d8d038 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,72 @@
+2016-01-13  Samuel Thibault  <address@hidden>
+
+       Increase kernel map size
+       To avoid running out of memory due to the increased consumption by radix
+       trees which replaced arrays.
+
+       * kern/slab.c (KMEM_MAP_SIZE): Bump from 96MiB to 128MiB.
+       * i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Add 32MiB accordingly.
+
+2016-01-02  Richard Braun  <address@hidden>
+
+       Completely disable strict aliasing
+       * Makefile.am (AM_CFLAGS): Add -fno-strict-aliasing.
+
+       Fix object page list type
+       * vm/vm_object.h (struct vm_object): Use queue_head_t instead of
+       queue_chain_t as the page list type.
+
+2016-01-02  Flavio Cruz  <address@hidden>
+
+       replace extern with static in some linux code
+       * linux/dev/include/linux/fs.h: Replace extern with static.
+       * linux/dev/include/linux/locks.h: Likewise.
+       * linux/dev/include/linux/mm.h: Likewise.
+       * linux/src/drivers/net/e2100.c: Likewise
+       * linux/src/include/asm-i386/termios.h: Likewise.
+       * linux/src/include/linux/interrupt.h: Likewise.
+       * linux/src/include/net/route.h: Likewise.
+       * linux/src/include/net/sock.h: Likewise.
+
+       fix t_addr assignment in lpropen
+       * i386/i386at/lpr.c (lpropen): Fix assignment to t_addr.
+
+2016-01-01  Flavio Cruz  <address@hidden>
+
+       remove unnused disk code and headers
+       * i386/Makefrag.am: Remove disk.h.
+       * i386/i386at/disk.h: Remove unnused definitions.
+       * i386/include/mach/i386/disk.h: Remove.
+       * linux/dev/glue/block.c (device_get_status): Remove V_GETPARMS case.
+
+       fix some compiler warnings in gnumach
+       * linux/dev/glue/block.c (out): Cast to device_t.
+       * linux/dev/init/main.c (alloc_contig_mem): Initialize addr and cast 
return value to void *.
+       * i386/i386/phys.c (pmap_copy_page): Initialize src_map.
+       * i386/intel/pmap.c: Include i386at/model_dep.h.
+       * kern/mach_clock.c (mapable_time_init): Cast to void *.
+
+2016-01-01  Richard Braun  <address@hidden>
+
+       Slightly improve map debugging readability
+       * vm/vm_object.c (vm_object_print): Break line so all debugging output 
fits
+       in a page.
+
+2015-12-29  Richard Braun  <address@hidden>
+
+       Improve map debugging readability
+       * vm/vm_map.c (vm_map_print): Reduce indentation, break lines earlier.
+       (vm_map_copy_print): Likewise.
+       * vm/vm_object.c (vm_object_print): Likewise.
+
+       Improve VM map debugging
+       * vm/vm_map.c (vm_map_print): Update arguments to conform to ddb
+       protocol.
+       * vm/vm_print.h (vm_map_print): Likewise for prototype.
+
+       Fix vm_map_copyout
+       * vm/vm_map.c (vm_map_copyout): Reinitialize copy map red-black tree.
+
 2015-12-11  Samuel Thibault  <address@hidden>
 
        Fix boot under kvm in linux 4.3
diff --git a/Makefile.am b/Makefile.am
index 76a192b..1c1bfff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -63,6 +63,11 @@ AM_CFLAGS += \
 AM_CFLAGS += \
        -fgnu89-inline
 
+# Much of the Mach code predates C99 and makes invalid assumptions about
+# type punning.
+AM_CFLAGS += \
+       -fno-strict-aliasing
+
 # The smashing stack protector might be enabled by default, but might emit
 # unsuitable code.
 if disable_smashing_stack_protector
diff --git a/Makefile.in b/Makefile.in
index 552ee63..90b4555 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2032,7 +2032,7 @@ am__uninstall_files_from_dir = { \
   }
 DATA = $(exec_msgids_DATA)
 am__include_mach_i386_HEADERS_DIST = i386/include/mach/i386/asm.h \
-       i386/include/mach/i386/boolean.h i386/include/mach/i386/disk.h \
+       i386/include/mach/i386/boolean.h \
        i386/include/mach/i386/eflags.h \
        i386/include/mach/i386/exception.h \
        i386/include/mach/i386/fp_reg.h \
@@ -2504,8 +2504,11 @@ AM_CCASFLAGS =
 # all that scruffy Mach code...  Also see <http://savannah.gnu.org/task/?5726>.
 
 # We need the GNU-style inline
-AM_CFLAGS = -fno-builtin-log -Wall -fgnu89-inline $(am__append_1) \
-       $(am__append_3) $(am__append_124)
+
+# Much of the Mach code predates C99 and makes invalid assumptions about
+# type punning.
+AM_CFLAGS = -fno-builtin-log -Wall -fgnu89-inline -fno-strict-aliasing \
+       $(am__append_1) $(am__append_3) $(am__append_124)
 AM_LDFLAGS = 
 
 #
@@ -2886,7 +2889,6 @@ liblinux_pcmcia_cs_wireless_a_SOURCES = $(am__append_110)
 @address@hidden = \
 @HOST_ix86_TRUE@       i386/include/mach/i386/asm.h \
 @HOST_ix86_TRUE@       i386/include/mach/i386/boolean.h \
address@hidden@ i386/include/mach/i386/disk.h \
 @HOST_ix86_TRUE@       i386/include/mach/i386/eflags.h \
 @HOST_ix86_TRUE@       i386/include/mach/i386/exception.h \
 @HOST_ix86_TRUE@       i386/include/mach/i386/fp_reg.h \
diff --git a/configure b/configure
index 9963749..5f29c10 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.6+git20151211.
+# Generated by GNU Autoconf 2.69 for GNU Mach 1.6+git20160114.
 #
 # Report bugs to <address@hidden>.
 #
@@ -579,8 +579,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU Mach'
 PACKAGE_TARNAME='gnumach'
-PACKAGE_VERSION='1.6+git20151211'
-PACKAGE_STRING='GNU Mach 1.6+git20151211'
+PACKAGE_VERSION='1.6+git20160114'
+PACKAGE_STRING='GNU Mach 1.6+git20160114'
 PACKAGE_BUGREPORT='address@hidden'
 PACKAGE_URL=''
 
@@ -1595,7 +1595,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.6+git20151211 to adapt to many kinds of 
systems.
+\`configure' configures GNU Mach 1.6+git20160114 to adapt to many kinds of 
systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1666,7 +1666,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU Mach 1.6+git20151211:";;
+     short | recursive ) echo "Configuration of GNU Mach 1.6+git20160114:";;
    esac
   cat <<\_ACEOF
 
@@ -2014,7 +2014,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU Mach configure 1.6+git20151211
+GNU Mach configure 1.6+git20160114
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2106,7 +2106,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.6+git20151211, which was
+It was created by GNU Mach $as_me 1.6+git20160114, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2972,7 +2972,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gnumach'
- VERSION='1.6+git20151211'
+ VERSION='1.6+git20160114'
 
 
 # Some tools Automake needs.
@@ -12128,7 +12128,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.6+git20151211, which was
+This file was extended by GNU Mach $as_me 1.6+git20160114, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12199,7 +12199,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.6+git20151211
+GNU Mach config.status 1.6+git20160114
 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 f031e8c..995b99a 100644
--- a/doc/mach.info
+++ b/doc/mach.info
@@ -3,7 +3,7 @@ This is mach.info, produced by makeinfo version 6.0 from 
mach.texi.
 This file documents the GNU Mach microkernel.
 
    This is edition 0.4, last updated on 12 September 2015, of 'The GNU
-Mach Reference Manual', for version 1.6+git20151211.
+Mach Reference Manual', for version 1.6+git20160114.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
diff --git a/doc/mach.info-1 b/doc/mach.info-1
index 7a9fc50..b95106f 100644
--- a/doc/mach.info-1
+++ b/doc/mach.info-1
@@ -3,7 +3,7 @@ This is mach.info, produced by makeinfo version 6.0 from 
mach.texi.
 This file documents the GNU Mach microkernel.
 
    This is edition 0.4, last updated on 12 September 2015, of 'The GNU
-Mach Reference Manual', for version 1.6+git20151211.
+Mach Reference Manual', for version 1.6+git20160114.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
@@ -46,7 +46,7 @@ Main Menu
 This file documents the GNU Mach microkernel.
 
    This is edition 0.4, last updated on 12 September 2015, of 'The GNU
-Mach Reference Manual', for version 1.6+git20151211.
+Mach Reference Manual', for version 1.6+git20160114.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
diff --git a/doc/mach.info-2 b/doc/mach.info-2
index 0f3a6f8..4e8ee4a 100644
--- a/doc/mach.info-2
+++ b/doc/mach.info-2
@@ -3,7 +3,7 @@ This is mach.info, produced by makeinfo version 6.0 from 
mach.texi.
 This file documents the GNU Mach microkernel.
 
    This is edition 0.4, last updated on 12 September 2015, of 'The GNU
-Mach Reference Manual', for version 1.6+git20151211.
+Mach Reference Manual', for version 1.6+git20160114.
 
    Copyright (C) 2001, 2002, 2006, 2007, 2008 Free Software Foundation,
 Inc.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 9c241d5..69dbe4d 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
 @set UPDATED 12 September 2015
 @set UPDATED-MONTH September 2015
address@hidden EDITION 1.6+git20151211
address@hidden VERSION 1.6+git20151211
address@hidden EDITION 1.6+git20160114
address@hidden VERSION 1.6+git20160114
diff --git a/doc/version.texi b/doc/version.texi
index 9c241d5..69dbe4d 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
 @set UPDATED 12 September 2015
 @set UPDATED-MONTH September 2015
address@hidden EDITION 1.6+git20151211
address@hidden VERSION 1.6+git20151211
address@hidden EDITION 1.6+git20160114
address@hidden VERSION 1.6+git20160114
diff --git a/i386/Makefrag.am b/i386/Makefrag.am
index 4dd6a9f..ef393d5 100644
--- a/i386/Makefrag.am
+++ b/i386/Makefrag.am
@@ -240,7 +240,6 @@ include_mach_i386dir = $(includedir)/mach/i386
 include_mach_i386_HEADERS = \
        i386/include/mach/i386/asm.h \
        i386/include/mach/i386/boolean.h \
-       i386/include/mach/i386/disk.h \
        i386/include/mach/i386/eflags.h \
        i386/include/mach/i386/exception.h \
        i386/include/mach/i386/fp_reg.h \
diff --git a/i386/i386/phys.c b/i386/i386/phys.c
index d55bdd9..8681fba 100644
--- a/i386/i386/phys.c
+++ b/i386/i386/phys.c
@@ -77,7 +77,8 @@ pmap_copy_page(
        vm_offset_t dst)
 {
        vm_offset_t src_addr_v, dst_addr_v;
-       pmap_mapwindow_t *src_map, *dst_map;
+       pmap_mapwindow_t *src_map = NULL;
+       pmap_mapwindow_t *dst_map;
        boolean_t src_mapped = src >= phys_last_addr;
        boolean_t dst_mapped = dst >= phys_last_addr;
        assert(src != vm_page_fictitious_addr);
diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h
index ffd91d6..6292ca2 100644
--- a/i386/i386/vm_param.h
+++ b/i386/i386/vm_param.h
@@ -56,9 +56,9 @@
 
 /* Reserve mapping room for kmem. */
 #ifdef MACH_XEN
-#define VM_KERNEL_MAP_SIZE (224 * 1024 * 1024)
+#define VM_KERNEL_MAP_SIZE (256 * 1024 * 1024)
 #else
-#define VM_KERNEL_MAP_SIZE (192 * 1024 * 1024)
+#define VM_KERNEL_MAP_SIZE (224 * 1024 * 1024)
 #endif
 
 /* The kernel virtual address space is actually located
diff --git a/i386/i386at/disk.h b/i386/i386at/disk.h
index 63d033f..c558375 100644
--- a/i386/i386at/disk.h
+++ b/i386/i386at/disk.h
@@ -52,53 +52,13 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #ifndef _DISK_H_
 #define _DISK_H_
 
-/* Grab the public part.  */
-#include <mach/machine/disk.h>
-
-
-
-#define MAX_ALTENTS     253            /* Maximum # of slots for alts */
-                                       /* allowed for in the table. */
-
-#define ALT_SANITY      0xdeadbeef      /* magic # to validate alt table */
-
-struct  alt_table {
-       u_short alt_used;               /* # of alternates already assigned */
-       u_short alt_reserved;           /* # of alternates reserved on disk */
-       long    alt_base;               /* 1st sector (abs) of the alt area */
-       long    alt_bad[MAX_ALTENTS];   /* list of bad sectors/tracks   */
-};
-
-struct alt_info {                      /* table length should be multiple of 
512 */
-       long    alt_sanity;             /* to validate correctness */
-       u_short alt_version;            /* to corroborate vintage */
-       u_short alt_pad;                /* padding for alignment */
-       struct alt_table alt_trk;       /* bad track table */
-       struct alt_table alt_sec;       /* bad sector table */
-};
-typedef struct alt_info altinfo_t;
-
 #define V_NUMPAR        16              /* maximum number of partitions */
 
 #define VTOC_SANE       0x600DDEEE      /* Indicates a sane VTOC */
 #define PDLOCATION     29              /* location of VTOC */
 
-#define BAD_BLK         0x80                    /* needed for V_VERIFY */
-/* BAD_BLK moved from old hdreg.h */
-
-
-#define        HDPDLOC         29              /* location of pdinfo/vtoc */
 #define        LBLLOC          1               /* label block for xxxbsd */
 
-/* Partition permission flags */
-#define V_OPEN          0x100           /* Partition open (for driver use) */
-#define V_VALID         0x200           /* Partition is valid to use */
-
-
-
-/* Sanity word for the physical description area */
-#define VALID_PD               0xCA5E600D
-
 struct localpartition  {
        u_int   p_flag;                 /*permision flags*/
        long    p_start;                /*physical start sector no of 
partition*/
@@ -126,65 +86,4 @@ struct evtoc {
        char    fill[512-352];
 };
 
-union   io_arg {
-       struct  {
-               u_short ncyl;           /* number of cylinders on drive */
-               u_char  nhead;          /* number of heads/cyl */
-               u_char  nsec;           /* number of sectors/track */
-               u_short secsiz;         /* number of bytes/sector */
-               } ia_cd;                /* used for Configure Drive cmd */
-       struct  {
-               u_short flags;          /* flags (see below) */
-               long    bad_sector;     /* absolute sector number */
-               long    new_sector;     /* RETURNED alternate sect assigned */
-               } ia_abs;               /* used for Add Bad Sector cmd */
-       struct  {
-               u_short start_trk;      /* first track # */
-               u_short num_trks;       /* number of tracks to format */
-               u_short intlv;          /* interleave factor */
-               } ia_fmt;               /* used for Format Tracks cmd */
-       struct  {
-               u_short start_trk;      /* first track  */
-               char    *intlv_tbl;     /* interleave table */
-               } ia_xfmt;              /* used for the V_XFORMAT ioctl */
-};
-
-
-#define BOOTSZ         446             /* size of boot code in master boot 
block */
-#define FD_NUMPART     4               /* number of 'partitions' in fdisk 
table */
-#define ACTIVE         128             /* indicator of active partition */
-#define        BOOT_MAGIC      0xAA55          /* signature of the boot record 
*/
-#define        UNIXOS          99              /* UNIX partition */
-#define BSDOS          165
-#define LINUXSWAP      130
-#define LINUXOS                131
-extern int             OS;             /* what partition we came from */
-
-/*
- * structure to hold the fdisk partition table
- */
-struct ipart {
-       u_char  bootid;                 /* bootable or not */
-       u_char  beghead;                /* beginning head, sector, cylinder */
-       u_char  begsect;                /* begcyl is a 10-bit number. High 2 
bits */
-       u_char  begcyl;                 /*     are in begsect. */
-       u_char  systid;                 /* OS type */
-       u_char  endhead;                /* ending head, sector, cylinder */
-       u_char  endsect;                /* endcyl is a 10-bit number.  High 2 
bits */
-       u_char  endcyl;                 /*     are in endsect. */
-       long    relsect;                /* first sector relative to start of 
disk */
-       long    numsect;                /* number of sectors in partition */
-};
-
-/*
- * structure to hold master boot block in physical sector 0 of the disk.
- * Note that partitions stuff can't be directly included in the structure
- * because of lameo '386 compiler alignment design.
- */
-struct  mboot {                                     /* master boot block */
-       char    bootinst[BOOTSZ];
-       char    parts[FD_NUMPART * sizeof(struct ipart)];
-       u_short signature;
-};
-
 #endif /* _DISK_H_ */
diff --git a/i386/i386at/lpr.c b/i386/i386at/lpr.c
index edeef9f..73c4261 100644
--- a/i386/i386at/lpr.c
+++ b/i386/i386at/lpr.c
@@ -105,22 +105,24 @@ void lprattach(struct bus_device *dev)
 }
 
 int
-lpropen(dev, flag, ior)
-dev_t dev;
-int flag;
-io_req_t ior;
+lpropen(dev_t dev, int flag, io_req_t ior)
 {
-int unit = minor(dev);
-struct bus_device *isai;
-struct tty *tp;
-u_short addr;
-  
-       if (unit >= NLPR || (isai = lprinfo[unit]) == 0 || isai->alive == 0)
-               return (D_NO_SUCH_DEVICE);
+       int unit = minor(dev);
+       struct bus_device *isai;
+       struct tty *tp;
+       u_short addr;
+
+       if (unit >= NLPR)
+               return D_NO_SUCH_DEVICE;
+
+       isai = lprinfo[unit];
+       if (isai == NULL || !isai->alive)
+               return D_NO_SUCH_DEVICE;
+
        tp = &lpr_tty[unit];
        addr = (u_short) isai->address;
        tp->t_dev = dev;
-       tp->t_addr = *(caddr_t *)&addr;
+       tp->t_addr = addr;
        tp->t_oproc = lprstart;
        tp->t_state |= TS_WOPEN;
        tp->t_stop = lprstop;
diff --git a/i386/include/mach/i386/disk.h b/i386/include/mach/i386/disk.h
deleted file mode 100644
index 1bbbbdf..0000000
--- a/i386/include/mach/i386/disk.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* 
- * Mach Operating System
- * Copyright (c) 1991,1990,1989 Carnegie Mellon University
- * All Rights Reserved.
- * 
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- * 
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
- * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- * 
- * Carnegie Mellon requests users of this software to return to
- * 
- *  Software Distribution Coordinator  or  address@hidden
- *  School of Computer Science
- *  Carnegie Mellon University
- *  Pittsburgh PA 15213-3890
- * 
- * any improvements or extensions that they make and grant Carnegie Mellon
- * the rights to redistribute these changes.
- */
-/*
-  Copyright 1988, 1989 by Intel Corporation, Santa Clara, California.
-
-               All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that the above copyright notice appears in all
-copies and that both the copyright notice and this permission notice
-appear in supporting documentation, and that the name of Intel
-not be used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-
-INTEL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
-IN NO EVENT SHALL INTEL BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
-NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-/*
- * disk.h
- */
-
-#ifndef _MACH_I386_DISK_H_
-#define _MACH_I386_DISK_H_
-
-#if    defined(__linux__) || defined(__masix__)
-#define PART_DISK      4               /* partition number for entire disk */
-#else
-#define PART_DISK      2               /* partition number for entire disk */
-#endif
-
-
-/* driver ioctl() commands */
-
-#define V_CONFIG        _IOW('v',1,union io_arg)/* Configure Drive */
-#define V_REMOUNT       _IO('v',2)             /* Remount Drive */
-#define V_ADDBAD        _IOW('v',3,union io_arg)/* Add Bad Sector */
-#define V_GETPARMS      _IOR('v',4,struct disk_parms)   /* Get drive/partition 
parameters */
-#define V_FORMAT        _IOW('v',5,union io_arg)/* Format track(s) */
-#define V_PDLOC                _IOR('v',6,int)         /* Ask driver where 
pdinfo is on disk */
-
-#define V_ABS          _IOW('v',9,int)         /* set a sector for an absolute 
addr */
-#define V_RDABS                _IOW('v',10,struct absio)/* Read a sector at an 
absolute addr */
-#define V_WRABS                _IOW('v',11,struct absio)/* Write a sector to 
absolute addr */
-#define V_VERIFY       _IOWR('v',12,union vfy_io)/* Read verify sector(s) */
-#define V_XFORMAT      _IO('v',13)             /* Selectively mark sectors as 
bad */
-#define V_SETPARMS     _IOW('v',14,int)        /* Set drivers parameters */
-
-
-/*
- * Data structure for the V_VERIFY ioctl
- */
-union  vfy_io  {
-       struct  {
-               long    abs_sec;        /* absolute sector number        */
-               u_short num_sec;        /* number of sectors to verify   */
-               u_short time_flg;       /* flag to indicate time the ops */
-               }vfy_in;
-       struct  {
-               long    deltatime;      /* duration of operation */
-               u_short err_code;       /* reason for failure    */
-               }vfy_out;
-};
-
-
-/* data structure returned by the Get Parameters ioctl: */
-struct  disk_parms {
-/*00*/ char    dp_type;                /* Disk type (see below) */
-       u_char  dp_heads;               /* Number of heads */
-       u_short dp_cyls;                /* Number of cylinders */
-/*04*/ u_char  dp_sectors;             /* Number of sectors/track */
-       u_short dp_secsiz;              /* Number of bytes/sector */
-                                       /* for this partition: */
-/*08*/ u_short dp_ptag;                /* Partition tag */
-       u_short dp_pflag;               /* Partition flag */
-/*0c*/ long    dp_pstartsec;           /* Starting absolute sector number */
-/*10*/ long    dp_pnumsec;             /* Number of sectors */
-/*14*/ u_char  dp_dosheads;            /* Number of heads */
-       u_short dp_doscyls;             /* Number of cylinders */
-/*18*/ u_char  dp_dossectors;          /* Number of sectors/track */
-};
-
-/* Disk types for disk_parms.dp_type: */
-#define DPT_WINI        1               /* Winchester disk */
-#define DPT_FLOPPY      2               /* Floppy */
-#define DPT_OTHER       3               /* Other type of disk */
-#define DPT_NOTDISK     0               /* Not a disk device */
-
-/* Data structure for V_RDABS/V_WRABS ioctl's */
-struct absio {
-       long    abs_sec;                /* Absolute sector number (from 0) */
-       char    *abs_buf;               /* Sector buffer */
-};
-
-#endif /* _MACH_I386_DISK_H_ */
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index cf7a736..22e20c9 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -83,6 +83,7 @@
 #include <i386/proc_reg.h>
 #include <i386/locore.h>
 #include <i386/model_dep.h>
+#include <i386at/model_dep.h>
 
 #ifdef MACH_PSEUDO_PHYS
 #define        WRITE_PTE(pte_p, pte_entry)             *(pte_p) = 
pte_entry?pa_to_ma(pte_entry):0;
diff --git a/kern/mach_clock.c b/kern/mach_clock.c
index c6e2d9d..1817ce2 100644
--- a/kern/mach_clock.c
+++ b/kern/mach_clock.c
@@ -539,7 +539,7 @@ void mapable_time_init(void)
        if (kmem_alloc_wired(kernel_map, (vm_offset_t *) &mtime, PAGE_SIZE)
                                                != KERN_SUCCESS)
                panic("mapable_time_init");
-       memset(mtime, 0, PAGE_SIZE);
+       memset((void *) mtime, 0, PAGE_SIZE);
        update_mapped_time(&time);
 }
 
diff --git a/kern/slab.c b/kern/slab.c
index 4f32c8e..8bc1b06 100644
--- a/kern/slab.c
+++ b/kern/slab.c
@@ -165,7 +165,7 @@
 /*
  * Size of the VM submap from which default backend functions allocate.
  */
-#define KMEM_MAP_SIZE (96 * 1024 * 1024)
+#define KMEM_MAP_SIZE (128 * 1024 * 1024)
 
 /*
  * Shift for the first kalloc cache size.
diff --git a/linux/dev/glue/block.c b/linux/dev/glue/block.c
index da4ef38..74126eb 100644
--- a/linux/dev/glue/block.c
+++ b/linux/dev/glue/block.c
@@ -1157,7 +1157,7 @@ out:
            {
              ipc_kobject_set (bd->port, IKO_NULL, IKOT_NONE);
              ipc_port_dealloc_kernel (bd->port);
-             *devp = IP_NULL;
+             *devp = (device_t) IP_NULL;
            }
          kfree ((vm_offset_t) bd, sizeof (struct block_data));
          bd = NULL;
@@ -1661,41 +1661,6 @@ device_get_status (void *d, dev_flavor_t flavor, 
dev_status_t status,
       *status_count = DEV_GET_RECORDS_COUNT;
       break;
 
-    case V_GETPARMS:
-      if (*status_count < (sizeof (struct disk_parms) / sizeof (int)))
-       return D_INVALID_OPERATION;
-      else
-       {
-         struct disk_parms *dp = status;
-         struct hd_geometry hg;
-         DECL_DATA;
-
-         INIT_DATA();
-
-         if ((*bd->ds->fops->ioctl) (&td.inode, &td.file,
-                                     HDIO_GETGEO, (unsigned long)&hg))
-           return D_INVALID_OPERATION;
-
-         dp->dp_type = DPT_WINI;  /* XXX: It may be a floppy...  */
-         dp->dp_heads = hg.heads;
-         dp->dp_cyls = hg.cylinders;
-         dp->dp_sectors = hg.sectors;
-         dp->dp_dosheads = hg.heads;
-         dp->dp_doscyls = hg.cylinders;
-         dp->dp_dossectors = hg.sectors;
-         dp->dp_secsiz = 512;  /* XXX */
-         dp->dp_ptag = 0;
-         dp->dp_pflag = 0;
-
-         /* XXX */
-         dp->dp_pstartsec = -1;
-         dp->dp_pnumsec = -1;
-
-         *status_count = sizeof (struct disk_parms) / sizeof (int);
-       }
-
-      break;
-
     default:
       return D_INVALID_OPERATION;
     }
diff --git a/linux/dev/include/linux/fs.h b/linux/dev/include/linux/fs.h
index a2f9383..def2bc9 100644
--- a/linux/dev/include/linux/fs.h
+++ b/linux/dev/include/linux/fs.h
@@ -650,7 +650,7 @@ mark_buffer_uptodate (struct buffer_head *bh, int on)
 void mark_buffer_uptodate(struct buffer_head * bh, int on);
 #endif
 
-extern inline void mark_buffer_clean(struct buffer_head * bh)
+static inline void mark_buffer_clean(struct buffer_head * bh)
 {
 #ifdef MACH
     clear_bit (BH_Dirty, &bh->b_state);
@@ -662,7 +662,7 @@ extern inline void mark_buffer_clean(struct buffer_head * 
bh)
 #endif
 }
 
-extern inline void mark_buffer_dirty(struct buffer_head * bh, int flag)
+static inline void mark_buffer_dirty(struct buffer_head * bh, int flag)
 {
 #ifdef MACH
     set_bit (BH_Dirty, &bh->b_state);
diff --git a/linux/dev/include/linux/locks.h b/linux/dev/include/linux/locks.h
index 72cf108..ae063fb 100644
--- a/linux/dev/include/linux/locks.h
+++ b/linux/dev/include/linux/locks.h
@@ -20,13 +20,13 @@ extern struct buffer_head *reuse_list;
  */
 extern void __wait_on_buffer(struct buffer_head *);
 
-extern inline void wait_on_buffer(struct buffer_head * bh)
+static inline void wait_on_buffer(struct buffer_head * bh)
 {
        if (test_bit(BH_Lock, &bh->b_state))
                __wait_on_buffer(bh);
 }
 
-extern inline void lock_buffer(struct buffer_head * bh)
+static inline void lock_buffer(struct buffer_head * bh)
 {
        while (set_bit(BH_Lock, &bh->b_state))
                __wait_on_buffer(bh);
@@ -42,20 +42,20 @@ void unlock_buffer(struct buffer_head *);
  */
 extern void __wait_on_super(struct super_block *);
 
-extern inline void wait_on_super(struct super_block * sb)
+static inline void wait_on_super(struct super_block * sb)
 {
        if (sb->s_lock)
                __wait_on_super(sb);
 }
 
-extern inline void lock_super(struct super_block * sb)
+static inline void lock_super(struct super_block * sb)
 {
        if (sb->s_lock)
                __wait_on_super(sb);
        sb->s_lock = 1;
 }
 
-extern inline void unlock_super(struct super_block * sb)
+static inline void unlock_super(struct super_block * sb)
 {
        sb->s_lock = 0;
        wake_up(&sb->s_wait);
diff --git a/linux/dev/include/linux/mm.h b/linux/dev/include/linux/mm.h
index cd06137..b0c3ab0 100644
--- a/linux/dev/include/linux/mm.h
+++ b/linux/dev/include/linux/mm.h
@@ -234,7 +234,7 @@ extern mem_map_t * mem_map;
 #define __get_dma_pages(priority, order) __get_free_pages((priority),(order),1)
 extern unsigned long __get_free_pages(int priority, unsigned long gfporder, 
int dma);
 
-extern inline unsigned long get_free_page(int priority)
+static inline unsigned long get_free_page(int priority)
 {
        unsigned long page;
 
diff --git a/linux/dev/init/main.c b/linux/dev/init/main.c
index ecbd0b6..8737b62 100644
--- a/linux/dev/init/main.c
+++ b/linux/dev/init/main.c
@@ -193,7 +193,7 @@ alloc_contig_mem (unsigned size, unsigned limit,
   unsigned *bits, len;
   void *m;
   vm_page_t p, page_list, tail, prev;
-  vm_offset_t addr, max_addr;
+  vm_offset_t addr = 0, max_addr;
 
   if (size == 0)
     return (NULL);
@@ -296,7 +296,7 @@ alloc_contig_mem (unsigned size, unsigned limit,
   kfree ((vm_offset_t) bits, bits_len);
   if (pages)
     *pages = page_list;
-  return phystokv(m);
+  return (void *) phystokv(m);
 }
 
 /*
diff --git a/linux/src/drivers/net/e2100.c b/linux/src/drivers/net/e2100.c
index 537295a..be4185a 100644
--- a/linux/src/drivers/net/e2100.c
+++ b/linux/src/drivers/net/e2100.c
@@ -68,7 +68,7 @@ static int e21_probe_list[] = {0x300, 0x280, 0x380, 0x220, 0};
 #define E21_SAPROM             0x10    /* Offset to station address data. */
 #define E21_IO_EXTENT   0x20
 
-extern inline void mem_on(short port, volatile char *mem_base,
+static inline void mem_on(short port, volatile char *mem_base,
                                                  unsigned char start_page )
 {
        /* This is a little weird: set the shared memory window by doing a
@@ -78,7 +78,7 @@ extern inline void mem_on(short port, volatile char *mem_base,
        outb(E21_MEM_ON, port + E21_MEM_ENABLE + E21_MEM_ON);
 }
 
-extern inline void mem_off(short port)
+static inline void mem_off(short port)
 {
        inb(port + E21_MEM_ENABLE);
        outb(0x00, port + E21_MEM_ENABLE);
diff --git a/linux/src/include/asm-i386/termios.h 
b/linux/src/include/asm-i386/termios.h
index 76551de..9f65b4d 100644
--- a/linux/src/include/asm-i386/termios.h
+++ b/linux/src/include/asm-i386/termios.h
@@ -61,7 +61,7 @@ struct termio {
 /*
  * Translate a "termio" structure into a "termios". Ugh.
  */
-extern inline void trans_from_termio(struct termio * termio,
+static inline void trans_from_termio(struct termio * termio,
        struct termios * termios)
 {
 #define SET_LOW_BITS(x,y)      (*(unsigned short *)(&x) = (y))
@@ -76,7 +76,7 @@ extern inline void trans_from_termio(struct termio * termio,
 /*
  * Translate a "termios" structure into a "termio". Ugh.
  */
-extern inline void trans_to_termio(struct termios * termios,
+static inline void trans_to_termio(struct termios * termios,
        struct termio * termio)
 {
        termio->c_iflag = termios->c_iflag;
diff --git a/linux/src/include/linux/interrupt.h 
b/linux/src/include/linux/interrupt.h
index 5765260..0224475 100644
--- a/linux/src/include/linux/interrupt.h
+++ b/linux/src/include/linux/interrupt.h
@@ -43,14 +43,14 @@ enum {
        ISICOM_BH
 };
 
-extern inline void init_bh(int nr, void (*routine)(void))
+static inline void init_bh(int nr, void (*routine)(void))
 {
        bh_base[nr] = routine;
        bh_mask_count[nr] = 0;
        bh_mask |= 1 << nr;
 }
 
-extern inline void mark_bh(int nr)
+static inline void mark_bh(int nr)
 {
        set_bit(nr, &bh_active);
 }
@@ -59,13 +59,13 @@ extern inline void mark_bh(int nr)
  * These use a mask count to correctly handle
  * nested disable/enable calls
  */
-extern inline void disable_bh(int nr)
+static inline void disable_bh(int nr)
 {
        bh_mask &= ~(1 << nr);
        bh_mask_count[nr]++;
 }
 
-extern inline void enable_bh(int nr)
+static inline void enable_bh(int nr)
 {
        if (!--bh_mask_count[nr])
                bh_mask |= 1 << nr;
@@ -75,13 +75,13 @@ extern inline void enable_bh(int nr)
  * start_bh_atomic/end_bh_atomic also nest
  * naturally by using a counter
  */
-extern inline void start_bh_atomic(void)
+static inline void start_bh_atomic(void)
 {
        intr_count++;
        barrier();
 }
 
-extern inline void end_bh_atomic(void)
+static inline void end_bh_atomic(void)
 {
        barrier();
        intr_count--;
diff --git a/linux/src/include/net/route.h b/linux/src/include/net/route.h
index 7bf32d0..2af1a41 100644
--- a/linux/src/include/net/route.h
+++ b/linux/src/include/net/route.h
@@ -105,30 +105,30 @@ extern unsigned           ip_rt_bh_mask;
 extern struct rtable   *ip_rt_hash_table[RT_HASH_DIVISOR];
 extern void            rt_free(struct rtable * rt);
 
-extern __inline__ void ip_rt_fast_lock(void)
+static __inline__ void ip_rt_fast_lock(void)
 {
        atomic_inc(&ip_rt_lock);
 }
 
-extern __inline__ void ip_rt_fast_unlock(void)
+static __inline__ void ip_rt_fast_unlock(void)
 {
        atomic_dec(&ip_rt_lock);
 }
 
-extern __inline__ void ip_rt_unlock(void)
+static __inline__ void ip_rt_unlock(void)
 {
        if (atomic_dec_and_test(&ip_rt_lock) && ip_rt_bh_mask)
                ip_rt_run_bh();
 }
 
-extern __inline__ unsigned ip_rt_hash_code(__u32 addr)
+static __inline__ unsigned ip_rt_hash_code(__u32 addr)
 {
        unsigned tmp = addr + (addr>>16);
        return (tmp + (tmp>>8)) & 0xFF;
 }
 
 
-extern __inline__ void ip_rt_put(struct rtable * rt)
+static __inline__ void ip_rt_put(struct rtable * rt)
 #ifndef MODULE
 {
        /* If this rtable entry is not in the cache, we'd better free
@@ -142,9 +142,9 @@ extern __inline__ void ip_rt_put(struct rtable * rt)
 #endif
 
 #ifdef CONFIG_KERNELD
-extern struct rtable * ip_rt_route(__u32 daddr, int local, struct device *dev);
+static struct rtable * ip_rt_route(__u32 daddr, int local, struct device *dev);
 #else
-extern __inline__ struct rtable * ip_rt_route(__u32 daddr, int local, struct 
device *dev)
+static __inline__ struct rtable * ip_rt_route(__u32 daddr, int local, struct 
device *dev)
 #ifndef MODULE
 {
        struct rtable * rth;
@@ -170,7 +170,7 @@ extern __inline__ struct rtable * ip_rt_route(__u32 daddr, 
int local, struct dev
 #endif
 #endif
 
-extern __inline__ struct rtable * ip_check_route(struct rtable ** rp, __u32 
daddr, 
+static __inline__ struct rtable * ip_check_route(struct rtable ** rp, __u32 
daddr, 
                                                 int local, struct device *dev)
 {
        struct rtable * rt = *rp;
diff --git a/linux/src/include/net/sock.h b/linux/src/include/net/sock.h
index 7a3ec03..25a9044 100644
--- a/linux/src/include/net/sock.h
+++ b/linux/src/include/net/sock.h
@@ -559,7 +559,7 @@ extern struct sk_buff               
*sock_alloc_send_skb(struct sock *skb,
  *     packet ever received.
  */
 
-extern __inline__ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+static __inline__ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
 {
        if (sk->rmem_alloc + skb->truesize >= sk->rcvbuf)
                return -ENOMEM;
@@ -571,7 +571,7 @@ extern __inline__ int sock_queue_rcv_skb(struct sock *sk, 
struct sk_buff *skb)
        return 0;
 }
 
-extern __inline__ int __sock_queue_rcv_skb(struct sock *sk, struct sk_buff 
*skb)
+static __inline__ int __sock_queue_rcv_skb(struct sock *sk, struct sk_buff 
*skb)
 {
        if (sk->rmem_alloc + skb->truesize >= sk->rcvbuf)
                return -ENOMEM;
@@ -587,7 +587,7 @@ extern __inline__ int __sock_queue_rcv_skb(struct sock *sk, 
struct sk_buff *skb)
  *     Recover an error report and clear atomically
  */
  
-extern __inline__ int sock_error(struct sock *sk)
+static __inline__ int sock_error(struct sock *sk)
 {
        int err=xchg(&sk->err,0);
        return -err;
diff --git a/version.m4 b/version.m4
index 277c530..5d14353 100644
--- a/version.m4
+++ b/version.m4
@@ -1,4 +1,4 @@
 m4_define([AC_PACKAGE_NAME],[GNU Mach])
-m4_define([AC_PACKAGE_VERSION],[1.6+git20151211])
+m4_define([AC_PACKAGE_VERSION],[1.6+git20160114])
 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 cded22d..3a231de 100644
--- a/vm/vm_map.c
+++ b/vm/vm_map.c
@@ -2556,6 +2556,7 @@ kern_return_t vm_map_copyout(
             */
            copy->cpy_hdr.nentries = 0;
            copy->cpy_hdr.entries_pageable = dst_map->hdr.entries_pageable;
+           rbtree_init(&copy->cpy_hdr.tree);
            vm_map_copy_first_entry(copy) =
             vm_map_copy_last_entry(copy) =
                vm_map_copy_to_entry(copy);
@@ -4718,24 +4719,30 @@ kern_return_t vm_map_machine_attribute(
 /*
  *     vm_map_print:   [ debug ]
  */
-void vm_map_print(vm_map_t map)
+void vm_map_print(db_expr_t addr, boolean_t have_addr, db_expr_t count, const 
char *modif)
 {
+       vm_map_t        map;
        vm_map_entry_t  entry;
 
-       iprintf("Task map 0x%X: pmap=0x%X,",
+       if (!have_addr)
+               map = current_thread()->task->map;
+       else
+               map = (vm_map_t)addr;
+
+       iprintf("Map 0x%X: pmap=0x%X,",
                (vm_offset_t) map, (vm_offset_t) (map->pmap));
         printf("ref=%d,nentries=%d,", map->ref_count, map->hdr.nentries);
         printf("version=%d\n", map->timestamp);
-       indent += 2;
+       indent += 1;
        for (entry = vm_map_first_entry(map);
             entry != vm_map_to_entry(map);
             entry = entry->vme_next) {
                static char *inheritance_name[3] = { "share", "copy", "none"};
 
                iprintf("map entry 0x%X: ", (vm_offset_t) entry);
-                printf("start=0x%X, end=0x%X, ",
+                printf("start=0x%X, end=0x%X\n",
                        (vm_offset_t) entry->vme_start, (vm_offset_t) 
entry->vme_end);
-               printf("prot=%X/%X/%s, ",
+               iprintf("prot=%X/%X/%s, ",
                        entry->protection,
                        entry->max_protection,
                        inheritance_name[entry->inheritance]);
@@ -4770,13 +4777,13 @@ void vm_map_print(vm_map_t map)
 
                        if ((entry->vme_prev == vm_map_to_entry(map)) ||
                            (entry->vme_prev->object.vm_object != 
entry->object.vm_object)) {
-                               indent += 2;
+                               indent += 1;
                                vm_object_print(entry->object.vm_object);
-                               indent -= 2;
+                               indent -= 1;
                        }
                }
        }
-       indent -= 2;
+       indent -= 1;
 }
 
 /*
@@ -4792,7 +4799,7 @@ void vm_map_copy_print(copy)
 
        printf("copy object 0x%x\n", copy);
 
-       indent += 2;
+       indent += 1;
 
        iprintf("type=%d", copy->type);
        switch (copy->type) {
@@ -4846,6 +4853,6 @@ void vm_map_copy_print(copy)
                break;
        }
 
-       indent -= 2;
+       indent -= 1;
 }
 #endif /* MACH_KDB */
diff --git a/vm/vm_object.c b/vm/vm_object.c
index dd63481..6666fcb 100644
--- a/vm/vm_object.c
+++ b/vm/vm_object.c
@@ -2923,13 +2923,14 @@ void vm_object_print(
        if (object == VM_OBJECT_NULL)
                return;
 
-       iprintf("Object 0x%X: size=0x%X",
-               (vm_offset_t) object, (vm_offset_t) object->size);
-        printf(", %d references, %d resident pages,", object->ref_count,
-               object->resident_page_count);
+       iprintf("Object 0x%X: size=0x%X, %d references",
+               (vm_offset_t) object, (vm_offset_t) object->size,
+               object->ref_count);
+       printf("\n");
+       iprintf("%d resident pages,", object->resident_page_count);
         printf(" %d absent pages,", object->absent_count);
         printf(" %d paging ops\n", object->paging_in_progress);
-       indent += 2;
+       indent += 1;
        iprintf("memory object=0x%X (offset=0x%X),",
                 (vm_offset_t) object->pager, (vm_offset_t) 
object->paging_offset);
         printf("control=0x%X, name=0x%X\n",
@@ -2948,7 +2949,7 @@ void vm_object_print(
                (vm_offset_t) object->shadow, (vm_offset_t) 
object->shadow_offset);
         printf("copy=0x%X\n", (vm_offset_t) object->copy);
 
-       indent += 2;
+       indent += 1;
 
        if (vm_object_print_pages) {
                count = 0;
@@ -2965,7 +2966,7 @@ void vm_object_print(
                if (count != 0)
                        printf("\n");
        }
-       indent -= 4;
+       indent -= 2;
 }
 
 #endif /* MACH_KDB */
diff --git a/vm/vm_object.h b/vm/vm_object.h
index 3bfc67a..71c8545 100644
--- a/vm/vm_object.h
+++ b/vm/vm_object.h
@@ -62,7 +62,7 @@ typedef struct ipc_port *     pager_request_t;
  */
 
 struct vm_object {
-       queue_chain_t           memq;           /* Resident memory */
+       queue_head_t            memq;           /* Resident memory */
        decl_simple_lock_data(, Lock)           /* Synchronization */
 #if    VM_OBJECT_DEBUG
        thread_t                LockHolder;     /* Thread holding Lock */
diff --git a/vm/vm_print.h b/vm/vm_print.h
index eab534e..8a36d75 100644
--- a/vm/vm_print.h
+++ b/vm/vm_print.h
@@ -23,7 +23,8 @@
 #include <machine/db_machdep.h>
 
 /* Debugging: print a map */
-extern void vm_map_print(vm_map_t);
+extern void vm_map_print(db_expr_t addr, boolean_t have_addr,
+                         db_expr_t count, const char *modif);
 
 /* Pretty-print a copy object for ddb. */
 extern void vm_map_copy_print(const vm_map_copy_t);

-- 
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]