commit-hurd
[Top][All Lists]
Advanced

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

[hurd] 01/03: New upstream snapshot


From: Samuel Thibault
Subject: [hurd] 01/03: New upstream snapshot
Date: Mon, 19 Dec 2016 16:36:01 +0000

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

sthibault pushed a commit to branch master
in repository hurd.

commit 25a6a220c99a6084cfe6d1cea94baa521da3b22b
Author: Samuel Thibault <address@hidden>
Date:   Mon Dec 19 15:50:10 2016 +0000

    New upstream snapshot
---
 ChangeLog                     |  33 +++++++++
 Makefile                      | 163 ++++++++++++++++++++++++++----------------
 NEWS                          |  18 +++--
 configure.ac                  |   2 +-
 libpager/stubs.c              |  11 ---
 libports/ports.h              |  28 ++++----
 libshouldbeinlibc/refcount.h  |  18 +++--
 mach-defpager/default_pager.c |  39 +++-------
 procfs/ChangeLog              |   6 --
 9 files changed, 187 insertions(+), 131 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8ecce54..28b6740 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+For all but procfs and random (see below),
 2772f5c6a6a51cf946fd95bf6ffe254273157a21 is the last commit imported from CVS.
 All commits after that one have valid author and committer information.
 
@@ -55,3 +56,35 @@ Use this to examine the change log for earlier changes:
     $ git show 2772f5c6a6a51cf946fd95bf6ffe254273157a21:trans/ChangeLog
     $ git show 2772f5c6a6a51cf946fd95bf6ffe254273157a21:usermux/ChangeLog
     $ git show 2772f5c6a6a51cf946fd95bf6ffe254273157a21:utils/ChangeLog
+
+random:
+
+random has been merged in 707f6cc4dbad734325881c5b275138522188754c.  Before
+1ba2ed95690396bf081d0af043d878b26b8563c2, it lived in the top-level directory.
+
+Use this to examine the change log, rewriting paths to where they live now:
+
+    $ ./gitlog-to-changelog --strip-tab 
ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f..1ba2ed95690396bf081d0af043d878b26b8563c2~1
 | sed -e 's%\* [ ]*%* random/%'
+
+ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f is the commit where it was imported.
+All commits after that one have valid author and committer information.
+
+Use this to examine the change log for earlier changes:
+
+    $ git ls-tree --name-only ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f | perl 
-e 'print "2011-08-18  Gaël Le Mignot  <address@hidden>\n\n"; while(<>){s%^%\t* 
random/%;s%$%: New file.%;print;}'
+
+procfs:
+
+procfs has been merged in 7877d064a4318fb550b3cbcf64f0ec605e4a53e2.  Before
+aac4aaf42372f61c78061711916c81a9d5bcb42d, it lived in the top-level directory.
+
+Use this to examine the change log, rewriting paths to where they live now:
+
+    $ ./gitlog-to-changelog --strip-tab 
edb4593c38d421b5d538b221a991b50c36fdba15..aac4aaf42372f61c78061711916c81a9d5bcb42d~1
 | sed -e 's%\* [ ]*%* procfs/%' -e s%procfs/procfs/%procfs/%
+
+edb4593c38d421b5d538b221a991b50c36fdba15 is the last commit imported from CVS.
+All commits after that one have valid author and committer information.
+
+Use this to examine the change log for earlier changes:
+
+    $ git show edb4593c38d421b5d538b221a991b50c36fdba15:ChangeLog | sed -e 
's%\* [ ]*%* procfs/%'
diff --git a/Makefile b/Makefile
index a9ad3f6..9de4fa8 100644
--- a/Makefile
+++ b/Makefile
@@ -98,75 +98,116 @@ ChangeLog.tar: gen-ChangeLog
        tar -c -f $@ --owner=0 --group=0 \
          --transform='s%^%$(dist-version)/%' $(ChangeLog_files)
 
-gen_start_commit = 2772f5c6a6a51cf946fd95bf6ffe254273157a21
+# See the ChangeLog file.
+gitlog-to-changelog_rev = \
+  2772f5c6a6a51cf946fd95bf6ffe254273157a21..
 ChangeLog_files = \
-  ChangeLog \
-  auth/ChangeLog \
-  benchmarks/ChangeLog \
-  boot/ChangeLog \
-  config/ChangeLog \
-  console-client/ChangeLog \
-  console/ChangeLog \
-  daemons/ChangeLog \
-  defpager/ChangeLog \
-  doc/ChangeLog \
-  exec/ChangeLog \
-  ext2fs/ChangeLog \
-  fatfs/ChangeLog \
-  fstests/ChangeLog \
-  ftpfs/ChangeLog \
-  hostmux/ChangeLog \
-  hurd/ChangeLog \
-  include/ChangeLog \
-  init/ChangeLog \
-  isofs/ChangeLog \
-  libcons/ChangeLog \
-  libdirmgt/ChangeLog \
-  libdiskfs/ChangeLog \
-  libfshelp/ChangeLog \
-  libftpconn/ChangeLog \
-  libhurdbugaddr/ChangeLog \
-  libihash/ChangeLog \
-  libiohelp/ChangeLog \
-  libnetfs/ChangeLog \
-  libpager/ChangeLog \
-  libpipe/ChangeLog \
-  libports/ChangeLog \
-  libps/ChangeLog \
-  libshouldbeinlibc/ChangeLog \
-  libstore/ChangeLog \
-  libthreads/ChangeLog \
-  libtrivfs/ChangeLog \
-  login/ChangeLog \
-  mach-defpager/ChangeLog \
-  nfs/ChangeLog \
-  nfsd/ChangeLog \
-  pfinet/ChangeLog \
-  pflocal/ChangeLog \
-  proc/ChangeLog \
-  release/ChangeLog \
-  storeio/ChangeLog \
-  sutils/ChangeLog \
-  term/ChangeLog \
-  tmpfs/ChangeLog \
-  trans/ChangeLog \
-  usermux/ChangeLog \
-  utils/ChangeLog
-distdir = .
+  $(filter-out :%,$(subst :, :,$(ChangeLog_specs)))
+ChangeLog_specs = \
+  ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  auth/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  benchmarks/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  boot/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  config/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  console-client/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  console/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  daemons/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  defpager/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  doc/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  exec/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  ext2fs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  fatfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  fstests/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  ftpfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  hostmux/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  hurd/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  include/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  init/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  isofs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libcons/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libdirmgt/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libdiskfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libfshelp/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libftpconn/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libhurdbugaddr/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libihash/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libiohelp/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libnetfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libpager/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libpipe/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libports/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libps/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libshouldbeinlibc/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libstore/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libthreads/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  libtrivfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  login/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  mach-defpager/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  nfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  nfsd/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  pfinet/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  pflocal/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  proc/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  release/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  storeio/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  sutils/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  term/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  tmpfs/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  trans/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  usermux/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21 \
+  utils/ChangeLog:2772f5c6a6a51cf946fd95bf6ffe254273157a21
+# procfs
+gitlog-to-changelog_rev += \
+  ^aac4aaf42372f61c78061711916c81a9d5bcb42d~1
+ChangeLog_specs += \
+  procfs/ChangeLog:edb4593c38d421b5d538b221a991b50c36fdba15:ChangeLog
+# random
+gitlog-to-changelog_rev += \
+  ^1ba2ed95690396bf081d0af043d878b26b8563c2~1
+# Specify dummy ChangeLog file, will get overwritten.
+ChangeLog_specs += \
+  random/ChangeLog:HEAD:ChangeLog
 .PHONY: gen-ChangeLog
 gen-ChangeLog:
        $(AM_V_GEN)if test -d $(top_srcdir)/.git; then                  \
+         rm -f $(ChangeLog_files) &&                                   \
          (cd $(top_srcdir)/ &&                                         \
          ./gitlog-to-changelog --strip-tab                             \
-           $(gen_start_commit).. &&                                    \
-         echo) >> $(distdir)/cl-t &&                                   \
-         for f in $(ChangeLog_files); do                               \
+           $(gitlog-to-changelog_rev) &&                               \
+         echo) >> ChangeLog &&                                         \
+         (cd $(top_srcdir)/ &&                                         \
+         ./gitlog-to-changelog --strip-tab                             \
+           
edb4593c38d421b5d538b221a991b50c36fdba15..aac4aaf42372f61c78061711916c81a9d5bcb42d~1
 && \
+         echo) >> procfs/ChangeLog &&                                  \
+         rm -f random/ChangeLog-1 &&                                   \
+         (cd $(top_srcdir)/ &&                                         \
+         ./gitlog-to-changelog --strip-tab                             \
+           
ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f..1ba2ed95690396bf081d0af043d878b26b8563c2~1
 && \
+         echo) >> random/ChangeLog-1 &&                                \
+         for cs in $(ChangeLog_specs); do                              \
+           f=$${cs%%:*} &&                                             \
+           s=$${cs#$$f:} && s_f=$$s:$$f && s=$${s_f/*:*:*/$$s} &&      \
            (cd $(top_srcdir)/ &&                                       \
-           git show $(gen_start_commit):$$f) >> $(distdir)/cl-t &&     \
-           rm -f $(distdir)/$$f &&                                     \
-           mv $(distdir)/cl-t $(distdir)/$$f                           \
+           git show $$s) >> $$f                                        \
            || exit $$?;                                                \
-         done;                                                         \
+         done &&                                                       \
+         rm -f random/ChangeLog_ &&                                    \
+         (cd $(top_srcdir)/ &&                                         \
+         git ls-tree --name-only                                       \
+           ac38884dc9ad32a11d09f55ba9fe399cd0a48e2f) >> random/ChangeLog_ && \
+         rm -f random/ChangeLog-2 &&                                   \
+         perl \
+           -e 'print "2011-08-18  Gaël Le Mignot  <address@hidden>\n\n"; 
while(<>){s%^%\t* %;s%$$%: New file.%;print;}' \
+           < random/ChangeLog_ > random/ChangeLog-2 &&                 \
+         cat random/ChangeLog-* > random/ChangeLog &&                  \
+         rm random/ChangeLog?* &&                                      \
+         sed                                                           \
+           -e 's%\* [ ]*%* procfs/%'                                   \
+           -e s%procfs/procfs/%procfs/%                                \
+           -i procfs/ChangeLog &&                                      \
+         sed                                                           \
+           -e 's%\* [ ]*%* random/%'                                   \
+           -i random/ChangeLog;                                        \
        fi
 
 $(dist-version).tar: HEAD.tar $(addsuffix /dist-hook,hurd/.. $(subdirs)) 
ChangeLog.tar
diff --git a/NEWS b/NEWS
index d84ae33..05e04d5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,21 @@
-Version 0.9 (2016-11-XX)
+Version 0.9 (2016-12-18)
 
 The 'boot' program can now be run as unprivileged user, allowing any
 user to create unprivileged Subhurds.
 
-The Berkeley Packet Filter library and the ethernet multiplexer have
-been merged into this repository.
-
+An ethernet multiplexer (eth-multiplexer translator) has been merged
+into this repository.  This is a network multiplexer that makes
+available virtual interfaces, and routes traffic between these and a
+real ethernet interface.  It uses the Berkeley Packet Filter library
+(libbpf), which has also been merged.  The ethernet multiplexer now
+generates and uses stable pseudo-random ethernet addresses for the
+virtual interfaces.
+
+As usual, bugs have been fixed throughout the code, notably in
+libpager and ext2fs which now gracefully handles running out of space.
+Further compatibility fixes have been applied (for compliance to
+standards such as POSIX).
+
 Version 0.8 (2016-05-18)
 
 The netfs library is using the lockless reference-counting primitives
diff --git a/configure.ac b/configure.ac
index 365fc85..5cbbea8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.54)                        dnl Minimum Autoconf version required.
-AC_INIT([GNU Hurd], [0.8], address@hidden)
+AC_INIT([GNU Hurd], [0.9], address@hidden)
 AC_CONFIG_SRCDIR([hurd/hurd_types.h])  dnl File to look for in srcdir.
 
 AC_PREFIX_DEFAULT()            dnl Default to empty prefix, not /usr/local.
diff --git a/libpager/stubs.c b/libpager/stubs.c
index 964985b..e061783 100644
--- a/libpager/stubs.c
+++ b/libpager/stubs.c
@@ -32,17 +32,6 @@ _pager_S_memory_object_copy (struct pager *p,
 }
 
 kern_return_t __attribute__((weak))
-_pager_S_memory_object_data_write (struct pager *p,
-                                mach_port_t ctl,
-                                vm_offset_t off,
-                                pointer_t data,
-                                vm_size_t data_cnt)
-{
-  printf ("m_o_data_write called\n");
-  return EOPNOTSUPP;
-}
-
-kern_return_t __attribute__((weak))
 _pager_S_memory_object_supply_completed (struct pager *p,
                                       mach_port_t ctl,
                                       vm_offset_t off,
diff --git a/libports/ports.h b/libports/ports.h
index 9299bc4..7295093 100644
--- a/libports/ports.h
+++ b/libports/ports.h
@@ -47,7 +47,11 @@
 
 struct port_info
 {
+#ifdef __cplusplus
+  struct port_class *port_class;
+#else
   struct port_class *class;
+#endif
   refcounts_t refcounts;
   mach_port_mscount_t mscount;
   mach_msg_seqno_t cancel_threshold;   /* needs atomic operations */
@@ -172,7 +176,7 @@ struct port_class *ports_create_class (void 
(*clean_routine)(void *),
 /* Create and return in RESULT a new port in CLASS and BUCKET; SIZE bytes
    will be allocated to hold the port structure and whatever private data the
    user desires.  */
-error_t ports_create_port (struct port_class *class,
+error_t ports_create_port (struct port_class *port_class,
                           struct port_bucket *bucket,
                           size_t size,
                           void *result);
@@ -184,14 +188,14 @@ error_t ports_create_port (struct port_class *class,
    service will occur on the port until you have finished initializing
    it and installed it into the portset yourself. */
 error_t
-ports_create_port_noinstall (struct port_class *class,
+ports_create_port_noinstall (struct port_class *port_class,
                             struct port_bucket *bucket,
                             size_t size,
                             void *result);
 
 /* For an existing RECEIVE right, create and return in RESULT a new port
    structure; BUCKET, SIZE, and CLASS args are as for ports_create_port. */
-error_t ports_import_port (struct port_class *class,
+error_t ports_import_port (struct port_class *port_class,
                           struct port_bucket *bucket,
                           mach_port_t port, size_t size,
                           void *result);
@@ -241,14 +245,14 @@ mach_port_t ports_get_send_right (void *port);
    searched.  If CLASS is nonzero, then the lookup will fail if PORT
    is not in CLASS. */
 void *ports_lookup_port (struct port_bucket *bucket,
-                        mach_port_t port, struct port_class *class);
+                        mach_port_t port, struct port_class *port_class);
 
 /* Like ports_lookup_port, but uses PAYLOAD to look up the object.  If
    this function is used, PAYLOAD must be a pointer to the port
    structure.  */
 extern void *ports_lookup_payload (struct port_bucket *bucket,
                                   unsigned long payload,
-                                  struct port_class *class);
+                                  struct port_class *port_class);
 
 /* This returns the ports name.  This function can be used as
    intranpayload function turning payloads back into port names.  If
@@ -256,7 +260,7 @@ extern void *ports_lookup_payload (struct port_bucket 
*bucket,
    structure.  */
 extern mach_port_t ports_payload_get_name (unsigned int payload);
 
-#if defined(__USE_EXTERN_INLINES) || defined(PORTS_DEFINE_EI)
+#if (defined(__USE_EXTERN_INLINES) || defined(PORTS_DEFINE_EI)) && 
!defined(__cplusplus)
 
 PORTS_EI void *
 ports_lookup_payload (struct port_bucket *bucket,
@@ -313,7 +317,7 @@ void ports_dead_name (void *notify, mach_port_t dead_name);
 
 /* Block port creation of new ports in CLASS.  Return the number
    of ports currently in CLASS. */
-int ports_count_class (struct port_class *class);
+int ports_count_class (struct port_class *port_class);
 
 /* Block port creation of new ports in BUCKET.  Return the number
    of ports currently in BUCKET. */
@@ -321,7 +325,7 @@ int ports_count_bucket (struct port_bucket *bucket);
 
 /* Permit suspended port creation (blocked by ports_count_class)
    to continue. */
-void ports_enable_class (struct port_class *class);
+void ports_enable_class (struct port_class *port_class);
 
 /* Permit suspend port creation (blocked by ports_count_bucket)
    to continue. */
@@ -332,12 +336,12 @@ error_t ports_bucket_iterate (struct port_bucket *bucket,
                              error_t (*fun)(void *port));
 
 /* Call FUN once for each port in CLASS. */
-error_t ports_class_iterate (struct port_class *class,
+error_t ports_class_iterate (struct port_class *port_class,
                             error_t (*fun)(void *port));
 
 /* Internal entrypoint for above two.  */
 error_t _ports_bucket_class_iterate (struct hurd_ihash *ht,
-                                    struct port_class *class,
+                                    struct port_class *port_class,
                                     error_t (*fun)(void *port));
 
 /* RPC management */
@@ -385,7 +389,7 @@ void ports_manage_port_operations_multithread (struct 
port_bucket *bucket,
 error_t ports_inhibit_port_rpcs (void *port);
 
 /* Similar to ports_inhibit_port_rpcs, but affects all ports in CLASS. */
-error_t ports_inhibit_class_rpcs (struct port_class *class);
+error_t ports_inhibit_class_rpcs (struct port_class *port_class);
 
 /* Similar to ports_inhibit_port_rpcs, but affects all ports in BUCKET. */
 error_t ports_inhibit_bucket_rpcs (struct port_bucket *bucket);
@@ -398,7 +402,7 @@ error_t ports_inhibit_all_rpcs (void);
 void ports_resume_port_rpcs (void *port);
 
 /* Reverse the effect of a previous ports_inhibit_class_rpcs for CLASS. */
-void ports_resume_class_rpcs (struct port_class *class);
+void ports_resume_class_rpcs (struct port_class *port_class);
 
 /* Reverse the effect of a previous ports_inhibit_bucket_rpcs for BUCKET. */
 void ports_resume_bucket_rpcs (struct port_bucket *bucket);
diff --git a/libshouldbeinlibc/refcount.h b/libshouldbeinlibc/refcount.h
index 0d1fa28..49457cd 100644
--- a/libshouldbeinlibc/refcount.h
+++ b/libshouldbeinlibc/refcount.h
@@ -107,9 +107,13 @@ struct references {
      and demotion of references.  See refcounts_promote and
      refcounts_demote for details.  */
 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#define REFCOUNT_REFERENCES(_hard, _weak) \
+    (struct references) { .hard = (_hard), .weak = (_weak) }
   uint32_t hard;
   uint32_t weak;
 #else
+#define REFCOUNT_REFERENCES(_hard, _weak) \
+    (struct references) { .weak = (_weak), .hard = (_hard) }
   uint32_t weak;
   uint32_t hard;
 #endif
@@ -131,7 +135,7 @@ refcounts_init (refcounts_t *ref, uint32_t hard, uint32_t 
weak)
 {
   assert_backtrace ((hard != 0 || weak != 0)
                     || !"references must not both be zero!");
-  ref->references = (struct references) { .hard = hard, .weak = weak };
+  ref->references = REFCOUNT_REFERENCES (hard, weak);
 }
 
 /* Increment the hard reference count of REF.  If RESULT is not NULL,
@@ -145,7 +149,7 @@ refcounts_init (refcounts_t *ref, uint32_t hard, uint32_t 
weak)
 REFCOUNT_EI void
 refcounts_unsafe_ref (refcounts_t *ref, struct references *result)
 {
-  const union _references op = { .references = { .hard = 1 } };
+  const union _references op = { .references = REFCOUNT_REFERENCES (1, 0) };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.hard != UINT32_MAX
@@ -176,7 +180,7 @@ refcounts_ref (refcounts_t *ref, struct references *result)
 REFCOUNT_EI void
 refcounts_deref (refcounts_t *ref, struct references *result)
 {
-  const union _references op = { .references = { .hard = 1 } };
+  const union _references op = { .references = REFCOUNT_REFERENCES (1, 0) };
   union _references r;
   r.value = __atomic_sub_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.hard != UINT32_MAX
@@ -207,7 +211,7 @@ refcounts_promote (refcounts_t *ref, struct references 
*result)
      So we just add a hard reference.  In combination, this is the
      desired operation.  */
   const union _references op =
-    { .references = { .weak = ~0U, .hard = 1} };
+    { .references = REFCOUNT_REFERENCES (1, ~0U) };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.hard != UINT32_MAX
@@ -237,7 +241,7 @@ refcounts_demote (refcounts_t *ref, struct references 
*result)
      significant bits.  When we add ~0 to the hard references, it will
      overflow into the weak references.  This is the desired
      operation.  */
-  const union _references op = { .references = { .hard = ~0U } };
+  const union _references op = { .references = REFCOUNT_REFERENCES (~0U, 0) };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.hard != UINT32_MAX
@@ -259,7 +263,7 @@ refcounts_demote (refcounts_t *ref, struct references 
*result)
 REFCOUNT_EI void
 refcounts_unsafe_ref_weak (refcounts_t *ref, struct references *result)
 {
-  const union _references op = { .references = { .weak = 1 } };
+  const union _references op = { .references = REFCOUNT_REFERENCES (0, 1) };
   union _references r;
   r.value = __atomic_add_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.weak != UINT32_MAX
@@ -290,7 +294,7 @@ refcounts_ref_weak (refcounts_t *ref, struct references 
*result)
 REFCOUNT_EI void
 refcounts_deref_weak (refcounts_t *ref, struct references *result)
 {
-  const union _references op = { .references = { .weak = 1 } };
+  const union _references op = { .references = REFCOUNT_REFERENCES (0, 1) };
   union _references r;
   r.value = __atomic_sub_fetch (&ref->value, op.value, __ATOMIC_RELAXED);
   assert_backtrace (r.references.weak != UINT32_MAX
diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c
index d7bc75b..787ba5b 100644
--- a/mach-defpager/default_pager.c
+++ b/mach-defpager/default_pager.c
@@ -2623,27 +2623,31 @@ ddprintf ("seqnos_memory_object_data_initialize <%p>: 
pager_port_unlock: <%p>[s:
 }
 
 /*
- * memory_object_data_write: split up the stuff coming in from
+ * memory_object_data_return: split up the stuff coming in from
  * a memory_object_data_write call
  * into individual pages and pass them off to default_write.
  */
 kern_return_t
-seqnos_memory_object_data_write(ds, seqno, pager_request,
-                               offset, addr, data_cnt)
+seqnos_memory_object_data_return(ds, seqno, pager_request,
+                                offset, addr, data_cnt,
+                                dirty, kernel_copy)
        default_pager_t ds;
        mach_port_seqno_t seqno;
        mach_port_t     pager_request;
-       register
        vm_offset_t     offset;
-       register
        pointer_t       addr;
        vm_size_t       data_cnt;
+       boolean_t       dirty;
+       boolean_t       kernel_copy;
 {
        register
        vm_size_t       amount_sent;
-       static char     here[] = "%sdata_write";
+       static char     here[] = "%sdata_return";
        int err;
 
+       (void) dirty;
+       (void) kernel_copy;
+
 #ifdef lint
        pager_request++;
 #endif  /* lint */
@@ -2765,29 +2769,6 @@ seqnos_memory_object_supply_completed(ds, seqno, 
pager_request,
        return(KERN_FAILURE);
 }
 
-/*
- * memory_object_data_return: split up the stuff coming in from
- * a memory_object_data_write call
- * into individual pages and pass them off to default_write.
- */
-kern_return_t
-seqnos_memory_object_data_return(ds, seqno, pager_request,
-                                offset, addr, data_cnt,
-                                dirty, kernel_copy)
-       default_pager_t ds;
-       mach_port_seqno_t seqno;
-       mach_port_t     pager_request;
-       vm_offset_t     offset;
-       pointer_t       addr;
-       vm_size_t       data_cnt;
-       boolean_t       dirty;
-       boolean_t       kernel_copy;
-{
-
-       return seqnos_memory_object_data_write (ds, seqno, pager_request,
-                                               offset, addr, data_cnt);
-}
-
 kern_return_t
 seqnos_memory_object_change_completed(ds, seqno, may_cache, copy_strategy)
        default_pager_t ds;
diff --git a/procfs/ChangeLog b/procfs/ChangeLog
deleted file mode 100644
index 0cd74d0..0000000
--- a/procfs/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-edb4593c38d421b5d538b221a991b50c36fdba15 is the last commit imported from CVS.
-All commits after that one have valid author and committer information.
-
-Use this to examine the change log for earlier changes:
-
-    $ git show edb4593c38d421b5d538b221a991b50c36fdba15:ChangeLog

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



reply via email to

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