CVS commit: [pgoyette-compat] src/doc

2019-01-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Jan 26 03:37:14 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add a note concerning MPSAFE


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.26 -r1.1.2.27 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Jan 26 03:37:14 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add a note concerning MPSAFE


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.26 -r1.1.2.27 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.26 src/doc/TODO.compat-module:1.1.2.27
--- src/doc/TODO.compat-module:1.1.2.26	Fri Jan 25 22:56:54 2019
+++ src/doc/TODO.compat-module	Sat Jan 26 03:37:13 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.26 2019/01/25 22:56:54 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.27 2019/01/26 03:37:13 pgoyette Exp $ */
 
 DONE
 
@@ -106,3 +106,11 @@ TODO - Not required for branch merge
 machines which include the consumer of this hook but do not have a
 compat_netbsd32 module (specifically, i386 and sgimips).  This
 should be sorted out sometime soon, but does not block merging.
+
+22. Note that the MPSAFE kernel option is currently not specified for
+building modules, nor is it included in any standard kernel
+configuration files.  If you build a custom kernel with the MPSAFE
+option set, and you also use modules (especially those modules for
+network interface device drivers), you'll need to build custom
+modules, too.  The MPSAFE stuff needs to be extracted out and made
+into "hooks".



CVS commit: [pgoyette-compat] src/doc

2019-01-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 25 22:56:54 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note the future need to sort out placement of the netbsd32_machine32_hook


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.25 -r1.1.2.26 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.25 src/doc/TODO.compat-module:1.1.2.26
--- src/doc/TODO.compat-module:1.1.2.25	Fri Jan 18 05:53:58 2019
+++ src/doc/TODO.compat-module	Fri Jan 25 22:56:54 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.25 2019/01/18 05:53:58 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.26 2019/01/25 22:56:54 pgoyette Exp $ */
 
 DONE
 
@@ -101,3 +101,8 @@ TODO - Not required for branch merge
 are included in every kernel via 'options COMPAT_UTILS' in file
 sys/conf/std
 
+21. The netbsd32_machine32_hook should be moved out of the main kernel
+and into the compat_netbsd32 module.  Unfortunately there are some
+machines which include the consumer of this hook but do not have a
+compat_netbsd32 module (specifically, i386 and sgimips).  This
+should be sorted out sometime soon, but does not block merging.



CVS commit: [pgoyette-compat] src/doc

2019-01-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 25 22:56:54 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note the future need to sort out placement of the netbsd32_machine32_hook


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.25 -r1.1.2.26 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 18 05:53:58 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add some details to some of the entries.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.24 -r1.1.2.25 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.24 src/doc/TODO.compat-module:1.1.2.25
--- src/doc/TODO.compat-module:1.1.2.24	Fri Jan 18 05:42:34 2019
+++ src/doc/TODO.compat-module	Fri Jan 18 05:53:58 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.24 2019/01/18 05:42:34 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.25 2019/01/18 05:53:58 pgoyette Exp $ */
 
 DONE
 
@@ -20,17 +20,17 @@ DONE
 built-in dependencies get resolved.
 
 7.  Fixed limits on the number of module dependencies and maximum
-recursion level have been removed.  Previous code for reporting
-module status to userland has been versioned and moved to the
-(new) compat_80 module.
+recursion level (for auto-loading) have been removed.  Previous code
+for reporting module status to userland has been versioned and moved
+to the (new) compat_80 module.
 
 8.  The old monolithic compat module has been broken into multiple
-modules, one for each old NetBSD version.  The monolithic module
-is no longer available.
+modules, one for each old NetBSD version.  The monolithic compat
+module is no longer available.
 
-Similarly, the compat_sysv module has also been split into several
-version-specific modules, and the mini-monolithic compat_sysv module
-is no longer provided.
+Similarly, the compat_sysv and compat_netbsd32 modules have also
+been split into several version-specific modules, and the mini-
+monolithic versions of these modules are no longer provided.
 
 9.  syscalls.master has been updated to autoload the version-specific
 compat modules rather than the monolithic modules.
@@ -39,34 +39,33 @@ DONE
 built regardless.
 
 11. Implemented a MP-safe mechanism for installing and removing function
-pointers.  Thanks to riastradh@ for the template code.
+pointers, preventing them from being unloaded (via modunload) while
+in use.  Thanks to riastradh@ for the template code.
 
-12. Replace version-specific parts of the compat_netbsd32 module (and
-also the compat_netbsd32_sysv module) with individual modules.  Update
-dependencies accordingly.  (Done, but see #19 below.)
-
-13. Finished splitting the vnd_30 and vnd_50 compat code into separate
+12. Finished splitting the vnd_30 and vnd_50 compat code into separate
 modules.
 
-14. Cleaned up some previous vectored routines (related to if_43.c) to
+13. Cleaned up some previous vectored routines (related to if_43.c) to
 use the MP-safe mechanism.
 
-15. Organized (some of) the netbsd32 machine-dependent code to fit a
+14. Organized (some of) the netbsd32 machine-dependent code to fit a
 common build framework, and split version-specific code from baseline
-code as needed.
+code as needed.  More work may be needed here (see #18 below).
 
-16. The rtsock.c code has been split into two separate source files,
+15. The rtsock.c code has been split into two separate source files,
 one for use in -current and one which is shared with COMPAT_50 (the
 code is shared with -current, but macros are used to define version-
-specific routine names and variable types).
+specific routine names and variable types).  Version-specific parts
+of rtsock.c for compat_14 and compat_70 have also been split out and
+included in the relevant version-specific compat modules.
 
 TODO - Not required for branch merge
 
-17. Audit the entire code base for any remaining embedded #ifdef's for
+16. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-18. The compat_60 module still needs some work for XEN systems.  We
+17. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -74,7 +73,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-19. There seems to be quite a bit of MD compat_xx code, in the various
+18. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the 

CVS commit: [pgoyette-compat] src/doc

2019-01-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 18 05:53:58 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add some details to some of the entries.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.24 -r1.1.2.25 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 18 05:42:34 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Some tweaks, some typos.  General clean-up, no significant changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.23 src/doc/TODO.compat-module:1.1.2.24
--- src/doc/TODO.compat-module:1.1.2.23	Tue Jan 15 22:06:34 2019
+++ src/doc/TODO.compat-module	Fri Jan 18 05:42:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.23 2019/01/15 22:06:34 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.24 2019/01/18 05:42:34 pgoyette Exp $ */
 
 DONE
 
@@ -19,10 +19,10 @@ DONE
 defopt/defflag lines in the config files* as needed, to insure that
 built-in dependencies get resolved.
 
-7.  Fixed limits on the number of module depedencies and maximum
+7.  Fixed limits on the number of module dependencies and maximum
 recursion level have been removed.  Previous code for reporting
 module status to userland has been versioned and moved to the
-compat_80 module.
+(new) compat_80 module.
 
 8.  The old monolithic compat module has been broken into multiple
 modules, one for each old NetBSD version.  The monolithic module
@@ -43,7 +43,7 @@ DONE
 
 12. Replace version-specific parts of the compat_netbsd32 module (and
 also the compat_netbsd32_sysv module) with individual modules.  Update
-dependencies accordingly.  (Done, but see #13 below.)
+dependencies accordingly.  (Done, but see #19 below.)
 
 13. Finished splitting the vnd_30 and vnd_50 compat code into separate
 modules.
@@ -51,14 +51,14 @@ DONE
 14. Cleaned up some previous vectored routines (related to if_43.c) to
 use the MP-safe mechanism.
 
-15. Organized netbsd32 machine-dependent code to fit a common build
-framework, and split version-specific code from baseline code as
-needed.
+15. Organized (some of) the netbsd32 machine-dependent code to fit a
+common build framework, and split version-specific code from baseline
+code as needed.
 
 16. The rtsock.c code has been split into two separate source files,
-one for use -current and one which is shared with COMPAT_50 (the
-code is shared, but macros are used to define version-specific
-routine names and variable types).
+one for use in -current and one which is shared with COMPAT_50 (the
+code is shared with -current, but macros are used to define version-
+specific routine names and variable types).
 
 TODO - Not required for branch merge
 



CVS commit: [pgoyette-compat] src/doc

2019-01-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Jan 18 05:42:34 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Some tweaks, some typos.  General clean-up, no significant changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-15 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Jan 15 22:06:35 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Now that the rtsock_50 stuff has been disentangled, remove a reference
to that in another entry.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.22 -r1.1.2.23 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.22 src/doc/TODO.compat-module:1.1.2.23
--- src/doc/TODO.compat-module:1.1.2.22	Tue Jan 15 03:44:06 2019
+++ src/doc/TODO.compat-module	Tue Jan 15 22:06:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.22 2019/01/15 03:44:06 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.23 2019/01/15 22:06:34 pgoyette Exp $ */
 
 DONE
 
@@ -92,10 +92,10 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-20. For compat_50, in addition to rtsock there are some things in dev/gpio
-and dev/wscons/wsmux that I haven't been able to cleanly separate.
-These items are not currently included in the monolithic COMPAT module
-on HEAD, so lack of integration on the branch is not a regression.
+20. For compat_50, there are some things in dev/gpio and dev/wscons/wsmux
+that I haven't been able to cleanly separate.  These items are not
+currently included in the monolithic COMPAT module on HEAD, so lack of
+integration on the branch is not a regression.
 
 21. Find all the remaining dependencies on the compat_utils routines and
 deal with them appropriately.  For now, we simply ensure that they



CVS commit: [pgoyette-compat] src/doc

2019-01-15 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Jan 15 22:06:35 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Now that the rtsock_50 stuff has been disentangled, remove a reference
to that in another entry.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.22 -r1.1.2.23 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Jan 15 03:44:06 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note completion of separating rtsock.c into pieces.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.21 -r1.1.2.22 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Jan 15 03:44:06 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note completion of separating rtsock.c into pieces.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.21 -r1.1.2.22 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.21 src/doc/TODO.compat-module:1.1.2.22
--- src/doc/TODO.compat-module:1.1.2.21	Mon Jan 14 13:35:53 2019
+++ src/doc/TODO.compat-module	Tue Jan 15 03:44:06 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.21 2019/01/14 13:35:53 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.22 2019/01/15 03:44:06 pgoyette Exp $ */
 
 DONE
 
@@ -55,12 +55,10 @@ DONE
 framework, and split version-specific code from baseline code as
 needed.
 
-16. While the rtsock_50 situation is still a disaster (rtsock_50.c
-#include-s the main rtsock.c code with various COMPAT_50-dependant
-macro definitions and redefinitions), the basic functionality
-works, and the compat_14 references to rtsock_50 routines seems to
-be correct.  The rtsock_50.c stuff should still be rewritten at
-some future time, but it's not urgent.
+16. The rtsock.c code has been split into two separate source files,
+one for use -current and one which is shared with COMPAT_50 (the
+code is shared, but macros are used to define version-specific
+routine names and variable types).
 
 TODO - Not required for branch merge
 



CVS commit: [pgoyette-compat] src/doc

2019-01-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 14 13:35:53 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove recently-added entry concerning routines whose return type
had been changed from void to int.  This is now handled by the new
void-typed hooks.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.20 -r1.1.2.21 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.20 src/doc/TODO.compat-module:1.1.2.21
--- src/doc/TODO.compat-module:1.1.2.20	Mon Jan 14 00:16:32 2019
+++ src/doc/TODO.compat-module	Mon Jan 14 13:35:53 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.20 2019/01/14 00:16:32 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.21 2019/01/14 13:35:53 pgoyette Exp $ */
 
 DONE
 
@@ -104,6 +104,3 @@ TODO - Not required for branch merge
 are included in every kernel via 'options COMPAT_UTILS' in file
 sys/conf/std
 
-22. Several hook callback routines have had their return type changed
-from "void" to "int" in order to provide a common type in the
-hook structure.  Ideally, I'd like to revert these back to "void".



CVS commit: [pgoyette-compat] src/doc

2019-01-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 14 13:35:53 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove recently-added entry concerning routines whose return type
had been changed from void to int.  This is now handled by the new
void-typed hooks.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.20 -r1.1.2.21 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-13 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 14 00:16:32 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note the desire to return some callback functions to having a void
type, rather than int (changing them was necessary to use a common
return type for all callbacks).


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.19 -r1.1.2.20 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.19 src/doc/TODO.compat-module:1.1.2.20
--- src/doc/TODO.compat-module:1.1.2.19	Sun Jan 13 23:33:07 2019
+++ src/doc/TODO.compat-module	Mon Jan 14 00:16:32 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.19 2019/01/13 23:33:07 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.20 2019/01/14 00:16:32 pgoyette Exp $ */
 
 DONE
 
@@ -103,3 +103,7 @@ TODO - Not required for branch merge
 deal with them appropriately.  For now, we simply ensure that they
 are included in every kernel via 'options COMPAT_UTILS' in file
 sys/conf/std
+
+22. Several hook callback routines have had their return type changed
+from "void" to "int" in order to provide a common type in the
+hook structure.  Ideally, I'd like to revert these back to "void".



CVS commit: [pgoyette-compat] src/doc

2019-01-13 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Jan 14 00:16:32 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note the desire to return some callback functions to having a void
type, rather than int (changing them was necessary to use a common
return type for all callbacks).


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.19 -r1.1.2.20 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-13 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Jan 13 23:33:07 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note that rtsock_50 is now functional, even though the implementation
remains sub-optimal.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.18 -r1.1.2.19 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2019-01-13 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Jan 13 23:33:07 UTC 2019

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note that rtsock_50 is now functional, even though the implementation
remains sub-optimal.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.18 -r1.1.2.19 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.18 src/doc/TODO.compat-module:1.1.2.19
--- src/doc/TODO.compat-module:1.1.2.18	Fri Oct 12 04:12:06 2018
+++ src/doc/TODO.compat-module	Sun Jan 13 23:33:07 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.18 2018/10/12 04:12:06 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.19 2019/01/13 23:33:07 pgoyette Exp $ */
 
 DONE
 
@@ -55,22 +55,19 @@ DONE
 framework, and split version-specific code from baseline code as
 needed.
 
+16. While the rtsock_50 situation is still a disaster (rtsock_50.c
+#include-s the main rtsock.c code with various COMPAT_50-dependant
+macro definitions and redefinitions), the basic functionality
+works, and the compat_14 references to rtsock_50 routines seems to
+be correct.  The rtsock_50.c stuff should still be rewritten at
+some future time, but it's not urgent.
+
 TODO - Not required for branch merge
 
-16. Audit the entire code base for any remaining embedded #ifdef's for
+17. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-17. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
-the main rtsock.c code with various manipulations of the COMPAT_50
-macro.  Once rtsock is separated, compat_14 references to rtsock_50
-routines needs to be verified.
-
-Currently, this entire code is built for the monolithic COMPAT
-module, but there's no way to reach the entry points, so none of
-the compat code can be executed, neither on the branch nor on
-HEAD.
-
 18. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct



CVS commit: [pgoyette-compat] src/doc

2018-10-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Oct 12 04:12:07 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove the last item in the need-for-merge section.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.17 -r1.1.2.18 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.17 src/doc/TODO.compat-module:1.1.2.18
--- src/doc/TODO.compat-module:1.1.2.17	Tue Oct  2 22:00:47 2018
+++ src/doc/TODO.compat-module	Fri Oct 12 04:12:06 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.17 2018/10/02 22:00:47 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.18 2018/10/12 04:12:06 pgoyette Exp $ */
 
 DONE
 
@@ -55,19 +55,13 @@ DONE
 framework, and split version-specific code from baseline code as
 needed.
 
-TODO - Required for branch merge
-
-16. The ieee_80211 compat code needs to be verified to make sure it is
-handling the if43_20 compat routine cvtcmd() correctly.
-
-
 TODO - Not required for branch merge
 
-17. Audit the entire code base for any remaining embedded #ifdef's for
+16. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-18. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+17. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -77,7 +71,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-19. The compat_60 module still needs some work for XEN systems.  We
+18. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -85,7 +79,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-20. There seems to be quite a bit of MD compat_xx code, in the various
+19. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -103,12 +97,12 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-21. For compat_50, in addition to rtsock there are some things in dev/gpio
+20. For compat_50, in addition to rtsock there are some things in dev/gpio
 and dev/wscons/wsmux that I haven't been able to cleanly separate.
 These items are not currently included in the monolithic COMPAT module
 on HEAD, so lack of integration on the branch is not a regression.
 
-22. Find all the remaining dependencies on the compat_utils routines and
+21. Find all the remaining dependencies on the compat_utils routines and
 deal with them appropriately.  For now, we simply ensure that they
 are included in every kernel via 'options COMPAT_UTILS' in file
 sys/conf/std



CVS commit: [pgoyette-compat] src/doc

2018-10-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Oct 12 04:12:07 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove the last item in the need-for-merge section.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.17 -r1.1.2.18 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-10-02 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Oct  2 22:00:47 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.16 -r1.1.2.17 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.16 src/doc/TODO.compat-module:1.1.2.17
--- src/doc/TODO.compat-module:1.1.2.16	Sun Sep 30 01:48:27 2018
+++ src/doc/TODO.compat-module	Tue Oct  2 22:00:47 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.16 2018/09/30 01:48:27 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.17 2018/10/02 22:00:47 pgoyette Exp $ */
 
 DONE
 
@@ -51,14 +51,12 @@ DONE
 14. Cleaned up some previous vectored routines (related to if_43.c) to
 use the MP-safe mechanism.
 
+15. Organized netbsd32 machine-dependent code to fit a common build
+framework, and split version-specific code from baseline code as
+needed.
 
 TODO - Required for branch merge
 
-15.  Need to finish cleaning up the netbsd32 machine-dependent code, since
-the MI code assumes that there's MD file available.  This is done, but
-there's still an issue with the compat_netbsd32 for sparc64 - it wants
-to reference emul_sunos but doesn't include sunos_exec.c in the build.
-
 16. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 



CVS commit: [pgoyette-compat] src/doc

2018-10-02 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Oct  2 22:00:47 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.16 -r1.1.2.17 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-29 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Sep 30 01:48:27 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note issue with compat_sunos vs sparc64's compat_netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.15 -r1.1.2.16 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.15 src/doc/TODO.compat-module:1.1.2.16
--- src/doc/TODO.compat-module:1.1.2.15	Fri Sep 28 09:36:20 2018
+++ src/doc/TODO.compat-module	Sun Sep 30 01:48:27 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.15 2018/09/28 09:36:20 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.16 2018/09/30 01:48:27 pgoyette Exp $ */
 
 DONE
 
@@ -55,7 +55,9 @@ DONE
 TODO - Required for branch merge
 
 15.  Need to finish cleaning up the netbsd32 machine-dependent code, since
-the MI code assumes that there's MD file available.
+the MI code assumes that there's MD file available.  This is done, but
+there's still an issue with the compat_netbsd32 for sparc64 - it wants
+to reference emul_sunos but doesn't include sunos_exec.c in the build.
 
 16. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.



CVS commit: [pgoyette-compat] src/doc

2018-09-29 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Sep 30 01:48:27 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note issue with compat_sunos vs sparc64's compat_netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.15 -r1.1.2.16 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-28 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 28 09:36:20 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add a note to revisit the compat_utils stuff, find and document all of
its dependencies.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.14 src/doc/TODO.compat-module:1.1.2.15
--- src/doc/TODO.compat-module:1.1.2.14	Thu Sep 27 03:54:25 2018
+++ src/doc/TODO.compat-module	Fri Sep 28 09:36:20 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.14 2018/09/27 03:54:25 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.15 2018/09/28 09:36:20 pgoyette Exp $ */
 
 DONE
 
@@ -107,4 +107,8 @@ TODO - Not required for branch merge
 and dev/wscons/wsmux that I haven't been able to cleanly separate.
 These items are not currently included in the monolithic COMPAT module
 on HEAD, so lack of integration on the branch is not a regression.
-
+
+22. Find all the remaining dependencies on the compat_utils routines and
+deal with them appropriately.  For now, we simply ensure that they
+are included in every kernel via 'options COMPAT_UTILS' in file
+sys/conf/std



CVS commit: [pgoyette-compat] src/doc

2018-09-28 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 28 09:36:20 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add a note to revisit the compat_utils stuff, find and document all of
its dependencies.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 27 03:54:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove the entry for MD compat_13 and _16 code.  It's done for amd64
and arm, and mips will be done while verifying the mips builds.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.13 -r1.1.2.14 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 27 03:54:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Remove the entry for MD compat_13 and _16 code.  It's done for amd64
and arm, and mips will be done while verifying the mips builds.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.13 -r1.1.2.14 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.13 src/doc/TODO.compat-module:1.1.2.14
--- src/doc/TODO.compat-module:1.1.2.13	Thu Sep 27 02:27:05 2018
+++ src/doc/TODO.compat-module	Thu Sep 27 03:54:25 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.13 2018/09/27 02:27:05 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.14 2018/09/27 03:54:25 pgoyette Exp $ */
 
 DONE
 
@@ -60,17 +60,14 @@ TODO - Required for branch merge
 16. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 
-17. Need to "hookup" the netbds32_machdep_13 and netbsd32_machdep_16 stuff
-for amd64 and arm;  probably also need empty stubs for other arch's
-
 
 TODO - Not required for branch merge
 
-18. Audit the entire code base for any remaining embedded #ifdef's for
+17. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-19. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+18. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -80,7 +77,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-20. The compat_60 module still needs some work for XEN systems.  We
+19. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -88,7 +85,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-21. There seems to be quite a bit of MD compat_xx code, in the various
+20. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -106,7 +103,7 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-22. For compat_50, in addition to rtsock there are some things in dev/gpio
+21. For compat_50, in addition to rtsock there are some things in dev/gpio
 and dev/wscons/wsmux that I haven't been able to cleanly separate.
 These items are not currently included in the monolithic COMPAT module
 on HEAD, so lack of integration on the branch is not a regression.



CVS commit: [pgoyette-compat] src/doc

2018-09-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 27 02:27:05 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
We've already done the compat_80 module stuff, so remove it.

The coredump issue was a red-herring, replace it with an entry for
completing and "hooking up" the compat_netbsd32_machdep_13 and _16
stuff


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.12 src/doc/TODO.compat-module:1.1.2.13
--- src/doc/TODO.compat-module:1.1.2.12	Tue Sep 25 21:44:30 2018
+++ src/doc/TODO.compat-module	Thu Sep 27 02:27:05 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.12 2018/09/25 21:44:30 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.13 2018/09/27 02:27:05 pgoyette Exp $ */
 
 DONE
 
@@ -60,23 +60,17 @@ TODO - Required for branch merge
 16. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 
-17. There are a few function pointers in netbsd32 module that need to
-be converted to the new MP-safe mechanism.  See files
-	netbsd32_mod.c
-	netbsd32_module.c
-	netbsd32_compat_80.[ch]
-	amd64's machdep.c and machdep_16.c
-
-18. Need to untangle the machdep COREDUMP stuff.
+17. Need to "hookup" the netbds32_machdep_13 and netbsd32_machdep_16 stuff
+for amd64 and arm;  probably also need empty stubs for other arch's
 
 
 TODO - Not required for branch merge
 
-19. Audit the entire code base for any remaining embedded #ifdef's for
+18. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-20. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+19. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -86,7 +80,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-21. The compat_60 module still needs some work for XEN systems.  We
+20. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -94,7 +88,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-22. There seems to be quite a bit of MD compat_xx code, in the various
+21. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -112,7 +106,7 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-23. For compat_50, in addition to rtsock there are some things in dev/gpio
+22. For compat_50, in addition to rtsock there are some things in dev/gpio
 and dev/wscons/wsmux that I haven't been able to cleanly separate.
 These items are not currently included in the monolithic COMPAT module
 on HEAD, so lack of integration on the branch is not a regression.



CVS commit: [pgoyette-compat] src/doc

2018-09-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 27 02:27:05 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
We've already done the compat_80 module stuff, so remove it.

The coredump issue was a red-herring, replace it with an entry for
completing and "hooking up" the compat_netbsd32_machdep_13 and _16
stuff


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 25 21:44:30 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Replace the NTP issue with one for COREDUMP.  This is a major problem
for machine-dependant part of compat_netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 25 21:44:30 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Replace the NTP issue with one for COREDUMP.  This is a major problem
for machine-dependant part of compat_netbsd32


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.11 src/doc/TODO.compat-module:1.1.2.12
--- src/doc/TODO.compat-module:1.1.2.11	Mon Sep 24 23:28:55 2018
+++ src/doc/TODO.compat-module	Tue Sep 25 21:44:30 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.11 2018/09/24 23:28:55 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.12 2018/09/25 21:44:30 pgoyette Exp $ */
 
 DONE
 
@@ -67,10 +67,7 @@ TODO - Required for branch merge
 	netbsd32_compat_80.[ch]
 	amd64's machdep.c and machdep_16.c
 
-18. We need a mechanism to determine, at run-time, whether or not the
-NTP option was selected.  Even though the NTP code is not modular,
-other modules (such as clockctl) need to know whether NTP routines
-are available.
+18. Need to untangle the machdep COREDUMP stuff.
 
 
 TODO - Not required for branch merge



CVS commit: [pgoyette-compat] src/doc

2018-09-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 23:28:55 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Put the NTP issue in the "required before merge" section.

Note that the compat library is completely gone now, both .o and .a
variants.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 23:28:55 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Put the NTP issue in the "required before merge" section.

Note that the compat library is completely gone now, both .o and .a
variants.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.10 src/doc/TODO.compat-module:1.1.2.11
--- src/doc/TODO.compat-module:1.1.2.10	Mon Sep 24 23:23:26 2018
+++ src/doc/TODO.compat-module	Mon Sep 24 23:28:55 2018
@@ -1,13 +1,8 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.10 2018/09/24 23:23:26 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.11 2018/09/24 23:28:55 pgoyette Exp $ */
 
 DONE
 
-1.  Returned the build to use a .a compat library rather than a .o
-library.  The original method used was .a but that was changed
-(fairly recently) as a work-around to address some support
-routines that were not being included when needed.  These support
-modules are now included in their own module, and the work-around
-is therefore no longer needed.
+1.  Removed the building of the compat library - it is no longer needed.
 
 2.  Reverted some intentional auto-load breakage for loading the sysv_ipc
 module; the breakage was introduced as the fix for the above-mentioned
@@ -72,14 +67,19 @@ TODO - Required for branch merge
 	netbsd32_compat_80.[ch]
 	amd64's machdep.c and machdep_16.c
 
+18. We need a mechanism to determine, at run-time, whether or not the
+NTP option was selected.  Even though the NTP code is not modular,
+other modules (such as clockctl) need to know whether NTP routines
+are available.
+
 
 TODO - Not required for branch merge
 
-18. Audit the entire code base for any remaining embedded #ifdef's for
+19. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-19. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+20. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -89,7 +89,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-20. The compat_60 module still needs some work for XEN systems.  We
+21. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -97,7 +97,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-21. There seems to be quite a bit of MD compat_xx code, in the various
+22. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -115,17 +115,8 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-22. For compat_50, in addition to rtsock there are some things in dev/gpio
+23. For compat_50, in addition to rtsock there are some things in dev/gpio
 and dev/wscons/wsmux that I haven't been able to cleanly separate.
 These items are not currently included in the monolithic COMPAT module
 on HEAD, so lack of integration on the branch is not a regression.
-
-23. Even though the build mechanism has been switched back to using a
-.a compat library, it might be useful to make it work with the .o
-library.
-
-24. We need a mechanism to determine, at run-time, whether or not the
-NTP option was selected.  Even though the NTP code is not modular,
-other modules (such as clockctl) need to know whether NTP routines
-are available.
 



CVS commit: [pgoyette-compat] src/doc

2018-09-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 23:23:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update note on NTP


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.9 src/doc/TODO.compat-module:1.1.2.10
--- src/doc/TODO.compat-module:1.1.2.9	Mon Sep 24 00:03:53 2018
+++ src/doc/TODO.compat-module	Mon Sep 24 23:23:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.9 2018/09/24 00:03:53 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.10 2018/09/24 23:23:26 pgoyette Exp $ */
 
 DONE
 
@@ -124,5 +124,8 @@ TODO - Not required for branch merge
 .a compat library, it might be useful to make it work with the .o
 library.
 
-24. The clockctl module currently assumes that NTP exists.  We need to
-introduce some hook(s) for this.
+24. We need a mechanism to determine, at run-time, whether or not the
+NTP option was selected.  Even though the NTP code is not modular,
+other modules (such as clockctl) need to know whether NTP routines
+are available.
+



CVS commit: [pgoyette-compat] src/doc

2018-09-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 23:23:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update note on NTP


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-23 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 00:03:53 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Make a note about clockctl vs NTP


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.8 -r1.1.2.9 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.8 src/doc/TODO.compat-module:1.1.2.9
--- src/doc/TODO.compat-module:1.1.2.8	Fri Sep 21 02:53:00 2018
+++ src/doc/TODO.compat-module	Mon Sep 24 00:03:53 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.8 2018/09/21 02:53:00 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.9 2018/09/24 00:03:53 pgoyette Exp $ */
 
 DONE
 
@@ -124,3 +124,5 @@ TODO - Not required for branch merge
 .a compat library, it might be useful to make it work with the .o
 library.
 
+24. The clockctl module currently assumes that NTP exists.  We need to
+introduce some hook(s) for this.



CVS commit: [pgoyette-compat] src/doc

2018-09-23 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 24 00:03:53 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Make a note about clockctl vs NTP


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.8 -r1.1.2.9 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-20 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 21 02:53:00 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
More updates.  Use past tense for completed items, and note clean-up
of pre-existing function pointers.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.7 -r1.1.2.8 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.7 src/doc/TODO.compat-module:1.1.2.8
--- src/doc/TODO.compat-module:1.1.2.7	Thu Sep 20 07:32:50 2018
+++ src/doc/TODO.compat-module	Fri Sep 21 02:53:00 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.7 2018/09/20 07:32:50 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.8 2018/09/21 02:53:00 pgoyette Exp $ */
 
 DONE
 
@@ -50,19 +50,22 @@ DONE
 also the compat_netbsd32_sysv module) with individual modules.  Update
 dependencies accordingly.  (Done, but see #13 below.)
 
-13. Still have some work to do to split the vnd_30 and vnd_50 compat
-code into separate modules.
+13. Finished splitting the vnd_30 and vnd_50 compat code into separate
+modules.
+
+14. Cleaned up some previous vectored routines (related to if_43.c) to
+use the MP-safe mechanism.
 
 
 TODO - Required for branch merge
 
-14.  Need to finish cleaning up the netbsd32 machine-dependent code, since
+15.  Need to finish cleaning up the netbsd32 machine-dependent code, since
 the MI code assumes that there's MD file available.
 
-15. The ieee_80211 compat code needs to be verified to make sure it is
+16. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 
-16. There are a few function pointers in netbsd32 module that need to
+17. There are a few function pointers in netbsd32 module that need to
 be converted to the new MP-safe mechanism.  See files
 	netbsd32_mod.c
 	netbsd32_module.c
@@ -72,11 +75,11 @@ TODO - Required for branch merge
 
 TODO - Not required for branch merge
 
-17. Audit the entire code base for any remaining embedded #ifdef's for
+18. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-18. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+19. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -86,7 +89,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-19. The compat_60 module still needs some work for XEN systems.  We
+20. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -94,7 +97,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-20. There seems to be quite a bit of MD compat_xx code, in the various
+21. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -112,13 +115,12 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-21. For compat_50, in addition to rtsock there are some things in dev/vnd,
-dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
-separate.  These items are not currently included in the monolithic
-COMPAT module on HEAD, so lack of integration on the branch is not a
-regression.
+22. For compat_50, in addition to rtsock there are some things in dev/gpio
+and dev/wscons/wsmux that I haven't been able to cleanly separate.
+These items are not currently included in the monolithic COMPAT module
+on HEAD, so lack of integration on the branch is not a regression.
 
-22. Even though the build mechanism has been switched back to using a
+23. Even though the build mechanism has been switched back to using a
 .a compat library, it might be useful to make it work with the .o
 library.
 



CVS commit: [pgoyette-compat] src/doc

2018-09-20 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 21 02:53:00 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
More updates.  Use past tense for completed items, and note clean-up
of pre-existing function pointers.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.7 -r1.1.2.8 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-20 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 20 07:32:50 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
The vnd_30 and vnd_50 stuff is done - move the entry


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.6 src/doc/TODO.compat-module:1.1.2.7
--- src/doc/TODO.compat-module:1.1.2.6	Tue Sep 18 01:11:33 2018
+++ src/doc/TODO.compat-module	Thu Sep 20 07:32:50 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.6 2018/09/18 01:11:33 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.7 2018/09/20 07:32:50 pgoyette Exp $ */
 
 DONE
 
@@ -50,15 +50,15 @@ DONE
 also the compat_netbsd32_sysv module) with individual modules.  Update
 dependencies accordingly.  (Done, but see #13 below.)
 
+13. Still have some work to do to split the vnd_30 and vnd_50 compat
+code into separate modules.
+
 
 TODO - Required for branch merge
 
-13.  Need to finish cleaning up the netbsd32 machine-dependent code, since
+14.  Need to finish cleaning up the netbsd32 machine-dependent code, since
 the MI code assumes that there's MD file available.
 
-14. Still have some work to do to split the vnd_30 and vnd_50 compat
-code into separate modules.
-
 15. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 



CVS commit: [pgoyette-compat] src/doc

2018-09-20 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep 20 07:32:50 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
The vnd_30 and vnd_50 stuff is done - move the entry


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 18 01:11:33 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update for having (mostly) finished the netbsd32 module split.

Renumber so each entry is unique.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.5 src/doc/TODO.compat-module:1.1.2.6
--- src/doc/TODO.compat-module:1.1.2.5	Mon Sep 17 10:06:29 2018
+++ src/doc/TODO.compat-module	Tue Sep 18 01:11:33 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.5 2018/09/17 10:06:29 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.6 2018/09/18 01:11:33 pgoyette Exp $ */
 
 DONE
 
@@ -46,23 +46,23 @@ DONE
 11. Implemented a MP-safe mechanism for installing and removing function
 pointers.  Thanks to riastradh@ for the template code.
 
+12. Replace version-specific parts of the compat_netbsd32 module (and
+also the compat_netbsd32_sysv module) with individual modules.  Update
+dependencies accordingly.  (Done, but see #13 below.)
+
 
 TODO - Required for branch merge
 
-1.  Replace version-specific parts of the compat_netbsd32 module (and
-also the compat_netbsd32_sysv module) with individual modules.  Update
-dependencies accordingly.
-
-2.  Need to finish cleaning up the netbsd32 machine-dependent code, since
+13.  Need to finish cleaning up the netbsd32 machine-dependent code, since
 the MI code assumes that there's MD file available.
 
-3.  Still have some work to do to split the vnd_30 and vnd_50 compat
+14. Still have some work to do to split the vnd_30 and vnd_50 compat
 code into separate modules.
 
-4.  The ieee_80211 compat code needs to be verified to make sure it is
+15. The ieee_80211 compat code needs to be verified to make sure it is
 handling the if43_20 compat routine cvtcmd() correctly.
 
-5.  There are a few function pointers in netbsd32 module that need to
+16. There are a few function pointers in netbsd32 module that need to
 be converted to the new MP-safe mechanism.  See files
 	netbsd32_mod.c
 	netbsd32_module.c
@@ -72,11 +72,11 @@ TODO - Required for branch merge
 
 TODO - Not required for branch merge
 
-1.  Audit the entire code base for any remaining embedded #ifdef's for
+17. Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-2.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+18. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
@@ -86,7 +86,7 @@ TODO - Not required for branch merge
 the compat code can be executed, neither on the branch nor on
 HEAD.
 
-3.  The compat_60 module still needs some work for XEN systems.  We
+19. The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
@@ -94,7 +94,7 @@ TODO - Not required for branch merge
 prevents loading of micro-code updates for amd64 processors running
 XEN kernels.  This limitation also exists on HEAD.
 
-4.  There seems to be quite a bit of MD compat_xx code, in the various
+20. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
@@ -112,13 +112,13 @@ TODO - Not required for branch merge
 into the monolithic COMPAT module on HEAD.  Thus, its absence from
 any of the version-specific modules is not a regression.
 
-5.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+21. For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.  These items are not currently included in the monolithic
 COMPAT module on HEAD, so lack of integration on the branch is not a
 regression.
 
-6.  Even though the build mechanism has been switched back to using a
+22. Even though the build mechanism has been switched back to using a
 .a compat library, it might be useful to make it work with the .o
 library.
 



CVS commit: [pgoyette-compat] src/doc

2018-09-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 18 01:11:33 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update for having (mostly) finished the netbsd32 module split.

Renumber so each entry is unique.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 17 10:06:29 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update for recent work and recent discoveries


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.4 src/doc/TODO.compat-module:1.1.2.5
--- src/doc/TODO.compat-module:1.1.2.4	Fri Sep 14 06:21:17 2018
+++ src/doc/TODO.compat-module	Mon Sep 17 10:06:29 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.4 2018/09/14 06:21:17 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.5 2018/09/17 10:06:29 pgoyette Exp $ */
 
 DONE
 
@@ -43,6 +43,9 @@ DONE
 10. Separated COMPAT_BSDPTY stuff, allowing the COMPAT_60 module to be
 built regardless.
 
+11. Implemented a MP-safe mechanism for installing and removing function
+pointers.  Thanks to riastradh@ for the template code.
+
 
 TODO - Required for branch merge
 
@@ -50,10 +53,21 @@ TODO - Required for branch merge
 also the compat_netbsd32_sysv module) with individual modules.  Update
 dependencies accordingly.
 
-2.  Wherever we have vectors function calls, we need to protect all uses
-of the vector using localcount(9).  And when unloading a module, we
-need to localcount_drain() after replacing the function pointer but
-before letting the module disappear.
+2.  Need to finish cleaning up the netbsd32 machine-dependent code, since
+the MI code assumes that there's MD file available.
+
+3.  Still have some work to do to split the vnd_30 and vnd_50 compat
+code into separate modules.
+
+4.  The ieee_80211 compat code needs to be verified to make sure it is
+handling the if43_20 compat routine cvtcmd() correctly.
+
+5.  There are a few function pointers in netbsd32 module that need to
+be converted to the new MP-safe mechanism.  See files
+	netbsd32_mod.c
+	netbsd32_module.c
+	netbsd32_compat_80.[ch]
+	amd64's machdep.c and machdep_16.c
 
 
 TODO - Not required for branch merge



CVS commit: [pgoyette-compat] src/doc

2018-09-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 17 10:06:29 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update for recent work and recent discoveries


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 14 06:21:17 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add entry for the need to use localcount(9) to protect removal of
vectored routine pointers.

Thanks riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.3 src/doc/TODO.compat-module:1.1.2.4
--- src/doc/TODO.compat-module:1.1.2.3	Tue Sep 11 08:42:45 2018
+++ src/doc/TODO.compat-module	Fri Sep 14 06:21:17 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.3 2018/09/11 08:42:45 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.4 2018/09/14 06:21:17 pgoyette Exp $ */
 
 DONE
 
@@ -50,6 +50,11 @@ TODO - Required for branch merge
 also the compat_netbsd32_sysv module) with individual modules.  Update
 dependencies accordingly.
 
+2.  Wherever we have vectors function calls, we need to protect all uses
+of the vector using localcount(9).  And when unloading a module, we
+need to localcount_drain() after replacing the function pointer but
+before letting the module disappear.
+
 
 TODO - Not required for branch merge
 



CVS commit: [pgoyette-compat] src/doc

2018-09-14 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Fri Sep 14 06:21:17 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Add entry for the need to use localcount(9) to protect removal of
vectored routine pointers.

Thanks riastradh@


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 11 08:42:45 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep 11 08:42:45 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Update


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.2 src/doc/TODO.compat-module:1.1.2.3
--- src/doc/TODO.compat-module:1.1.2.2	Mon Sep 10 08:49:25 2018
+++ src/doc/TODO.compat-module	Tue Sep 11 08:42:45 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.2 2018/09/10 08:49:25 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.3 2018/09/11 08:42:45 pgoyette Exp $ */
 
 DONE
 
@@ -46,8 +46,9 @@ DONE
 
 TODO - Required for branch merge
 
-1.  Replace version-specific parts of the compat_netbsd32 module with
-individual modules.  Update dependencies accordingly.
+1.  Replace version-specific parts of the compat_netbsd32 module (and
+also the compat_netbsd32_sysv module) with individual modules.  Update
+dependencies accordingly.
 
 
 TODO - Not required for branch merge



CVS commit: [pgoyette-compat] src/doc

2018-09-10 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 10 08:49:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note that the compat_netbsd32 module will be split into version-specific
components.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/TODO.compat-module
diff -u src/doc/TODO.compat-module:1.1.2.1 src/doc/TODO.compat-module:1.1.2.2
--- src/doc/TODO.compat-module:1.1.2.1	Sun Sep  9 02:20:17 2018
+++ src/doc/TODO.compat-module	Mon Sep 10 08:49:25 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: TODO.compat-module,v 1.1.2.1 2018/09/09 02:20:17 pgoyette Exp $ */
+/* $NetBSD: TODO.compat-module,v 1.1.2.2 2018/09/10 08:49:25 pgoyette Exp $ */
 
 DONE
 
@@ -31,11 +31,11 @@ DONE
 
 8.  The old monolithic compat module has been broken into multiple
 modules, one for each old NetBSD version.  The monolithic module
-is still available.
+is no longer available.
 
 Similarly, the compat_sysv module has also been split into several
 version-specific modules, and the mini-monolithic compat_sysv module
-is still provided.
+is no longer provided.
 
 9.  syscalls.master has been updated to autoload the version-specific
 compat modules rather than the monolithic modules.
@@ -46,7 +46,8 @@ DONE
 
 TODO - Required for branch merge
 
-none
+1.  Replace version-specific parts of the compat_netbsd32 module with
+individual modules.  Update dependencies accordingly.
 
 
 TODO - Not required for branch merge



CVS commit: [pgoyette-compat] src/doc

2018-09-10 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Sep 10 08:49:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: TODO.compat-module

Log Message:
Note that the compat_netbsd32 module will be split into version-specific
components.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Sep  9 02:20:17 UTC 2018

Added Files:
src/doc [pgoyette-compat]: TODO.compat-module
Removed Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Rename COMPAT-branch-notes to TODO.compat-module


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.24 -r0 src/doc/COMPAT-branch-notes
cvs rdiff -u -r0 -r1.1.2.1 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/doc/TODO.compat-module
diff -u /dev/null src/doc/TODO.compat-module:1.1.2.1
--- /dev/null	Sun Sep  9 02:20:17 2018
+++ src/doc/TODO.compat-module	Sun Sep  9 02:20:17 2018
@@ -0,0 +1,103 @@
+/* $NetBSD: TODO.compat-module,v 1.1.2.1 2018/09/09 02:20:17 pgoyette Exp $ */
+
+DONE
+
+1.  Returned the build to use a .a compat library rather than a .o
+library.  The original method used was .a but that was changed
+(fairly recently) as a work-around to address some support
+routines that were not being included when needed.  These support
+modules are now included in their own module, and the work-around
+is therefore no longer needed.
+
+2.  Reverted some intentional auto-load breakage for loading the sysv_ipc
+module; the breakage was introduced as the fix for the above-mentioned
+build breakage.  
+
+3.  Split the sysv_ipc compat routines into their own compat_sysv module.
+
+4.  Resolved some inter-module dependencies.
+
+5.  Extracted some net/if.c compat routines into the compat module, and
+replaced the originals with indirect (vectored) function calls.
+
+6.  Reconfirmed existing compat-module dependencies, and update the
+defopt/defflag lines in the config files* as needed, to insure that
+built-in dependencies get resolved.
+
+7.  Fixed limits on the number of module depedencies and maximum
+recursion level have been removed.  Previous code for reporting
+module status to userland has been versioned and moved to the
+compat_80 module.
+
+8.  The old monolithic compat module has been broken into multiple
+modules, one for each old NetBSD version.  The monolithic module
+is still available.
+
+Similarly, the compat_sysv module has also been split into several
+version-specific modules, and the mini-monolithic compat_sysv module
+is still provided.
+
+9.  syscalls.master has been updated to autoload the version-specific
+compat modules rather than the monolithic modules.
+
+10. Separated COMPAT_BSDPTY stuff, allowing the COMPAT_60 module to be
+built regardless.
+
+
+TODO - Required for branch merge
+
+none
+
+
+TODO - Not required for branch merge
+
+1.  Audit the entire code base for any remaining embedded #ifdef's for
+COMPAT_xx.  When found, move the actual compat code into the compat
+hierarchy and replace originals with indirect (vectored) calls.
+
+2.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+the main rtsock.c code with various manipulations of the COMPAT_50
+macro.  Once rtsock is separated, compat_14 references to rtsock_50
+routines needs to be verified.
+
+Currently, this entire code is built for the monolithic COMPAT
+module, but there's no way to reach the entry points, so none of
+the compat code can be executed, neither on the branch nor on
+HEAD.
+
+3.  The compat_60 module still needs some work for XEN systems.  We
+probably need some build infrastructure changes to ensure that
+XEN (and, for i386, XEN-PAE) modules are build with the correct
+macros defined and with -I directories specified in the same order
+as for building kernels. See PR port-xen/53130.  This currently
+prevents loading of micro-code updates for amd64 processors running
+XEN kernels.  This limitation also exists on HEAD.
+
+4.  There seems to be quite a bit of MD compat_xx code, in the various
+sys/arch/ directories.  I haven't yet looked at any of this.  But it
+seems to me that the MI compat build infrastructure should have some
+mechanism to "reach over" to the MD code, #include a Makefile.inc file,
+and perhaps define something to enable the MI modcmd code to call a
+compat_xx_MD_init() routine.
+
+Note also that there are a few bits of MD code that is COMPAT_44
+related.  (The only bit of MI COMPAT_44 code is in the single module
+shared by COMPAT_43 and COMPAT_09.)  This affects the cesfic, hp300,
+news68k, and x68k platforms, all in their respective machdep.c
+source file.  Additionally, the zaurus platform defines COMPAT_44 in
+its INSTALL kernel configuration - but no other configuration files!
+
+As far as I can tell, none of the MD compat code is currently built
+into the monolithic COMPAT module on HEAD.  Thus, its absence from
+any of the 

CVS commit: [pgoyette-compat] src/doc

2018-09-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Sep  9 02:20:17 UTC 2018

Added Files:
src/doc [pgoyette-compat]: TODO.compat-module
Removed Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Rename COMPAT-branch-notes to TODO.compat-module


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.24 -r0 src/doc/COMPAT-branch-notes
cvs rdiff -u -r0 -r1.1.2.1 src/doc/TODO.compat-module

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Sep  8 23:39:21 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add a note regarding possible future investigation of the .a vs .o
compat library mechanisms.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.23 src/doc/COMPAT-branch-notes:1.1.2.24
--- src/doc/COMPAT-branch-notes:1.1.2.23	Fri Sep  7 23:32:29 2018
+++ src/doc/COMPAT-branch-notes	Sat Sep  8 23:39:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.23 2018/09/07 23:32:29 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.24 2018/09/08 23:39:21 pgoyette Exp $ */
 
 DONE
 
@@ -97,3 +97,7 @@ TODO - Not required for branch merge
 COMPAT module on HEAD, so lack of integration on the branch is not a
 regression.
 
+6.  Even though the build mechanism has been switched back to using a
+.a compat library, it might be useful to make it work with the .o
+library.
+



CVS commit: [pgoyette-compat] src/doc

2018-09-08 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Sep  8 23:39:21 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add a note regarding possible future investigation of the .a vs .o
compat library mechanisms.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-06 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep  6 08:22:10 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Update some entries to reflect why they're not needed before merging
the branch back to mainline.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.21 -r1.1.2.22 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-06 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Sep  6 08:22:10 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Update some entries to reflect why they're not needed before merging
the branch back to mainline.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.21 -r1.1.2.22 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.21 src/doc/COMPAT-branch-notes:1.1.2.22
--- src/doc/COMPAT-branch-notes:1.1.2.21	Tue Sep  4 11:36:06 2018
+++ src/doc/COMPAT-branch-notes	Thu Sep  6 08:22:10 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.21 2018/09/04 11:36:06 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.22 2018/09/06 08:22:10 pgoyette Exp $ */
 
 DONE
 
@@ -40,10 +40,8 @@ DONE
 that the component modules are available.
 
 Similarly, the compat_sysv module has also been split into several
-version-specific modules.
-
-There are still several areas which are not complete - see the
-TODO list below for more details.
+version-specific modules.  (A mini-monolithic compat_sysv module
+is still provided.)
 
 10. syscalls.master has been updated to autoload the version-specific
 compat modules rather than the monolithic modules.
@@ -54,9 +52,8 @@ DONE
 
 TODO - Required for branch merge
 
-1.  For compat_50, in addition to rtsock there are some things in dev/vnd,
-dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
-separate.
+none
+
 
 TODO - Not required for branch merge
 
@@ -70,13 +67,17 @@ TODO - Not required for branch merge
 routines needs to be verified.
 
 Currently, this entire code is built for the monolithic COMPAT
-module, but there's no way to reach the entry points.
+module, but there's no way to reach the entry points, so none of
+the compat code can be executed, neither on the branch nor on
+HEAD.
 
 3.  The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
-as for building kernels. See PR port-xen/53130.
+as for building kernels. See PR port-xen/53130.  This currently
+prevents loading of micro-code updates for amd64 processors running
+XEN kernels.  This limitation also exists on HEAD.
 
 4.  There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
@@ -86,9 +87,19 @@ TODO - Not required for branch merge
 compat_xx_MD_init() routine.
 
 Note also that there are a few bits of MD code that is COMPAT_44
-related.  The only bit of MI COMPAT_44 code is in the single module
-shared by COMPAT_43 and COMPAT_09.  This affects the cesfic, hp300,
+related.  (The only bit of MI COMPAT_44 code is in the single module
+shared by COMPAT_43 and COMPAT_09.)  This affects the cesfic, hp300,
 news68k, and x68k platforms, all in their respective machdep.c
 source file.  Additionally, the zaurus platform defines COMPAT_44 in
 its INSTALL kernel configuration - but no other configuration files!
 
+As far as I can tell, none of the MD compat code is currently built
+into the monolithic COMPAT module on HEAD.  Thus, its absence from
+any of the version-specific modules is not a regression.
+
+5.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
+separate.  These items are not currently included in the monolithic
+COMPAT module on HEAD, so lack of integration on the branch is not a
+regression.
+



CVS commit: [pgoyette-compat] src/doc

2018-09-04 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep  4 11:36:06 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Put the COMPAT_BSDPTY entry in the proper group (ie, the "done" group).


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.20 -r1.1.2.21 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.20 src/doc/COMPAT-branch-notes:1.1.2.21
--- src/doc/COMPAT-branch-notes:1.1.2.20	Tue Sep  4 02:24:03 2018
+++ src/doc/COMPAT-branch-notes	Tue Sep  4 11:36:06 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.20 2018/09/04 02:24:03 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.21 2018/09/04 11:36:06 pgoyette Exp $ */
 
 DONE
 
@@ -48,6 +48,9 @@ DONE
 10. syscalls.master has been updated to autoload the version-specific
 compat modules rather than the monolithic modules.
 
+11. Separated COMPAT_BSDPTY stuff, allowing the COMPAT_60 module to be
+built regardless.
+
 
 TODO - Required for branch merge
 
@@ -89,6 +92,3 @@ TODO - Not required for branch merge
 source file.  Additionally, the zaurus platform defines COMPAT_44 in
 its INSTALL kernel configuration - but no other configuration files!
 
-5.  Separated COMPAT_BSDPTY stuff, allowing the COMPAT_60 module to be
-built regardless.
-



CVS commit: [pgoyette-compat] src/doc

2018-09-04 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep  4 11:36:06 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Put the COMPAT_BSDPTY entry in the proper group (ie, the "done" group).


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.20 -r1.1.2.21 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-03 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep  4 02:24:03 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note that COMPAT_BSDPTY task is done.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.19 -r1.1.2.20 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-09-03 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Sep  4 02:24:03 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note that COMPAT_BSDPTY task is done.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.19 -r1.1.2.20 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.19 src/doc/COMPAT-branch-notes:1.1.2.20
--- src/doc/COMPAT-branch-notes:1.1.2.19	Sat Aug 25 23:12:23 2018
+++ src/doc/COMPAT-branch-notes	Tue Sep  4 02:24:03 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.19 2018/08/25 23:12:23 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.20 2018/09/04 02:24:03 pgoyette Exp $ */
 
 DONE
 
@@ -51,10 +51,7 @@ DONE
 
 TODO - Required for branch merge
 
-1.  For compat_60, still need to figure out what to do with BSDPTY and
-tty_ptm
-
-2.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+1.  For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.
 
@@ -92,3 +89,6 @@ TODO - Not required for branch merge
 source file.  Additionally, the zaurus platform defines COMPAT_44 in
 its INSTALL kernel configuration - but no other configuration files!
 
+5.  Separated COMPAT_BSDPTY stuff, allowing the COMPAT_60 module to be
+built regardless.
+



CVS commit: [pgoyette-compat] src/doc

2018-08-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Aug 25 23:12:23 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove duplicate entry for XEN module build infrastructure.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.18 -r1.1.2.19 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-08-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Aug 25 23:12:23 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove duplicate entry for XEN module build infrastructure.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.18 -r1.1.2.19 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.18 src/doc/COMPAT-branch-notes:1.1.2.19
--- src/doc/COMPAT-branch-notes:1.1.2.18	Sat Aug 25 01:02:48 2018
+++ src/doc/COMPAT-branch-notes	Sat Aug 25 23:12:23 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.18 2018/08/25 01:02:48 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.19 2018/08/25 23:12:23 pgoyette Exp $ */
 
 DONE
 
@@ -54,13 +54,7 @@ TODO - Required for branch merge
 1.  For compat_60, still need to figure out what to do with BSDPTY and
 tty_ptm
 
-2.  Also for compat_60, need to fix the building of XEN (and, for i386,
-XEN-PAE) module variants so that the obj-dir symlinks and the -I
-include order match those present in a kernel build.  See PR/53130
-(Currently, this affects the compat_60 module and its implementation
-of microcode updates for AMD processors - i386 and amd64.)
-
-3.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+2.  For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.
 
@@ -82,9 +76,7 @@ TODO - Not required for branch merge
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
-as for building kernels.
-
-This currently affects cpu microcode loading for amd64 XEN systems.
+as for building kernels. See PR port-xen/53130.
 
 4.  There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it



CVS commit: [pgoyette-compat] src/doc

2018-08-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Aug 25 01:02:49 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Separate the TODO list into two lists, required-for-merge vs not-required.

Expand a couple entries.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.17 -r1.1.2.18 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.17 src/doc/COMPAT-branch-notes:1.1.2.18
--- src/doc/COMPAT-branch-notes:1.1.2.17	Sat May 26 11:48:40 2018
+++ src/doc/COMPAT-branch-notes	Sat Aug 25 01:02:48 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: COMPAT-branch-notes,v 1.1.2.17 2018/05/26 11:48:40 pgoyette Exp $ */
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.18 2018/08/25 01:02:48 pgoyette Exp $ */
 
 DONE
 
@@ -49,8 +49,23 @@ DONE
 compat modules rather than the monolithic modules.
 
 
-TODO
-
+TODO - Required for branch merge
+
+1.  For compat_60, still need to figure out what to do with BSDPTY and
+tty_ptm
+
+2.  Also for compat_60, need to fix the building of XEN (and, for i386,
+XEN-PAE) module variants so that the obj-dir symlinks and the -I
+include order match those present in a kernel build.  See PR/53130
+(Currently, this affects the compat_60 module and its implementation
+of microcode updates for AMD processors - i386 and amd64.)
+
+3.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
+separate.
+
+TODO - Not required for branch merge
+
 1.  Audit the entire code base for any remaining embedded #ifdef's for
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
@@ -60,26 +75,18 @@ TODO
 macro.  Once rtsock is separated, compat_14 references to rtsock_50
 routines needs to be verified.
 
+Currently, this entire code is built for the monolithic COMPAT
+module, but there's no way to reach the entry points.
+
 3.  The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
 as for building kernels.
 
-4.  For compat_60, still need to figure out what to do with BSDPTY and
-tty_ptm
-
-5.  Also for compat_60, need to fix the building of XEN (and, for i386,
-XEN-PAE) module variants so that the obj-dir symlinks and the -I
-include order match those present in a kernel build.  See PR/53130
-(Currently, this affects the compat_60 module and its implementation
-of microcode updates for AMD processors - i386 and amd64.)
-
-6.  For compat_50, in addition to rtsock there are some things in dev/vnd,
-dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
-separate.
+This currently affects cpu microcode loading for amd64 XEN systems.
 
-7.  There seems to be quite a bit of MD compat_xx code, in the various
+4.  There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,



CVS commit: [pgoyette-compat] src/doc

2018-08-24 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Aug 25 01:02:49 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Separate the TODO list into two lists, required-for-merge vs not-required.

Expand a couple entries.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.17 -r1.1.2.18 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-05-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat May 26 11:48:40 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add a $NetBSD$ line to track revision/changes


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.16 -r1.1.2.17 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-05-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat May 26 03:12:34 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove a To-Do entry that is already done (re-pointing the MODULAR
sys-calls at their individual module).

Merge the multiple entries concerning rtsock compat code.  It really
is a mess, but we don't need to say so three times!


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.15 -r1.1.2.16 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.15 src/doc/COMPAT-branch-notes:1.1.2.16
--- src/doc/COMPAT-branch-notes:1.1.2.15	Thu Apr 26 01:58:25 2018
+++ src/doc/COMPAT-branch-notes	Sat May 26 03:12:34 2018
@@ -55,7 +55,8 @@ TODO
 
 2.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
-macro.
+macro.  Once rtsock is separated, compat_14 references to rtsock_50
+routines needs to be verified.
 
 3.  The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
@@ -63,30 +64,20 @@ TODO
 macros defined and with -I directories specified in the same order
 as for building kernels.
 
-4.  Update syscalls.master to point the compat calls at the specific
-modules rather than the monolithic compat module.  Update the
-"required" lists of other modules, too.
-
-5.  The rtsock compatability code needs to be de-spaghetti'd and made
-separable into rtsock_70 and rtsock_50 pieces.
-
-6.  Once rtsock is separated, compat_14 references to rtsock_50 routines
-needs to be verified.
-
-7.  For compat_60, still need to figure out what to do with BSDPTY and
+4.  For compat_60, still need to figure out what to do with BSDPTY and
 tty_ptm
 
-8.  Also for compat_60, need to fix the building of XEN (and, for i386,
+5.  Also for compat_60, need to fix the building of XEN (and, for i386,
 XEN-PAE) module variants so that the obj-dir symlinks and the -I
 include order match those present in a kernel build.  See PR/53130
 (Currently, this affects the compat_60 module and its implementation
 of microcode updates for AMD processors - i386 and amd64.)
 
-9.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+6.  For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.
 
-10. There seems to be quite a bit of MD compat_xx code, in the various
+7.  There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,



CVS commit: [pgoyette-compat] src/doc

2018-05-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat May 26 11:48:40 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add a $NetBSD$ line to track revision/changes


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.16 -r1.1.2.17 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.16 src/doc/COMPAT-branch-notes:1.1.2.17
--- src/doc/COMPAT-branch-notes:1.1.2.16	Sat May 26 03:12:34 2018
+++ src/doc/COMPAT-branch-notes	Sat May 26 11:48:40 2018
@@ -1,3 +1,5 @@
+/* $NetBSD: COMPAT-branch-notes,v 1.1.2.17 2018/05/26 11:48:40 pgoyette Exp $ */
+
 DONE
 
 1.  Removed linking of the kernel compat object library into all kernels;



CVS commit: [pgoyette-compat] src/doc

2018-05-26 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat May 26 03:12:34 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove a To-Do entry that is already done (re-pointing the MODULAR
sys-calls at their individual module).

Merge the multiple entries concerning rtsock compat code.  It really
is a mess, but we don't need to say so three times!


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.15 -r1.1.2.16 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-04-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Apr 26 01:58:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove note about syscall #148 (old quotactl) - it was wrong.

Add comment about there being some few platforms with MD COMPAT_44
code in their machdep.c files.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.14 src/doc/COMPAT-branch-notes:1.1.2.15
--- src/doc/COMPAT-branch-notes:1.1.2.14	Wed Apr 18 01:39:14 2018
+++ src/doc/COMPAT-branch-notes	Thu Apr 26 01:58:25 2018
@@ -93,5 +93,10 @@ TODO
 and perhaps define something to enable the MI modcmd code to call a
 compat_xx_MD_init() routine.
 
-11. Note that pre-5.0 quotactl (syscall #148) is not currently available.
-Its entry in syscalls.master is XXXd out.
+Note also that there are a few bits of MD code that is COMPAT_44
+related.  The only bit of MI COMPAT_44 code is in the single module
+shared by COMPAT_43 and COMPAT_09.  This affects the cesfic, hp300,
+news68k, and x68k platforms, all in their respective machdep.c
+source file.  Additionally, the zaurus platform defines COMPAT_44 in
+its INSTALL kernel configuration - but no other configuration files!
+



CVS commit: [pgoyette-compat] src/doc

2018-04-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Thu Apr 26 01:58:25 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove note about syscall #148 (old quotactl) - it was wrong.

Add comment about there being some few platforms with MD COMPAT_44
code in their machdep.c files.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.14 -r1.1.2.15 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Re: CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette

On Wed, 18 Apr 2018, Paul Goyette wrote:


Module Name:src
Committed By:   pgoyette
Date:   Wed Apr 18 01:39:14 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note current lack of implementation for syscall #148 - pre-5.0 quotactl()


FWIW, this appears to have been a deliberate decision.  See 
sys/kern/syscalls.master rev. 1.248.  The commit log message

said "... for now" but that seems to have turned into "for
ever."  :)



+--+--++
| Paul Goyette | PGP Key fingerprint: | E-mail addresses:  |
| (Retired)| FA29 0E3B 35AF E8AE 6651 | paul at whooppee dot com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd dot org |
+--+--++


CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Apr 18 01:39:14 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note current lack of implementation for syscall #148 - pre-5.0 quotactl()


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.13 -r1.1.2.14 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Apr 18 01:39:14 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note current lack of implementation for syscall #148 - pre-5.0 quotactl()


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.13 -r1.1.2.14 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.13 src/doc/COMPAT-branch-notes:1.1.2.14
--- src/doc/COMPAT-branch-notes:1.1.2.13	Wed Apr 18 00:04:11 2018
+++ src/doc/COMPAT-branch-notes	Wed Apr 18 01:39:14 2018
@@ -93,3 +93,5 @@ TODO
 and perhaps define something to enable the MI modcmd code to call a
 compat_xx_MD_init() routine.
 
+11. Note that pre-5.0 quotactl (syscall #148) is not currently available.
+Its entry in syscalls.master is XXXd out.



CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Apr 18 00:04:11 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note changes to syscalls.master and friends


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.12 src/doc/COMPAT-branch-notes:1.1.2.13
--- src/doc/COMPAT-branch-notes:1.1.2.12	Tue Apr 17 23:06:11 2018
+++ src/doc/COMPAT-branch-notes	Wed Apr 18 00:04:11 2018
@@ -43,6 +43,9 @@ DONE
 There are still several areas which are not complete - see the
 TODO list below for more details.
 
+10. syscalls.master has been updated to autoload the version-specific
+compat modules rather than the monolithic modules.
+
 
 TODO
 
@@ -50,43 +53,40 @@ TODO
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-2.  Update syscalls.master to reflect that modular syscalls are now
-provided by version-specific modules.
-
-3.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+2.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
 the main rtsock.c code with various manipulations of the COMPAT_50
 macro.
 
-4.  The compat_60 module still needs some work for XEN systems.  We
+3.  The compat_60 module still needs some work for XEN systems.  We
 probably need some build infrastructure changes to ensure that
 XEN (and, for i386, XEN-PAE) modules are build with the correct
 macros defined and with -I directories specified in the same order
 as for building kernels.
 
-5.  Update syscalls.master to point the compat calls at the specific
+4.  Update syscalls.master to point the compat calls at the specific
 modules rather than the monolithic compat module.  Update the
 "required" lists of other modules, too.
 
-6.  The rtsock compatability code needs to be de-spaghetti'd and made
+5.  The rtsock compatability code needs to be de-spaghetti'd and made
 separable into rtsock_70 and rtsock_50 pieces.
 
-8.  Once rtsock is separated, compat_14 references to rtsock_50 routines
+6.  Once rtsock is separated, compat_14 references to rtsock_50 routines
 needs to be verified.
 
-8.  For compat_60, still need to figure out what to do with BSDPTY and
+7.  For compat_60, still need to figure out what to do with BSDPTY and
 tty_ptm
 
-9.  Also for compat_60, need to fix the building of XEN (and, for i386,
+8.  Also for compat_60, need to fix the building of XEN (and, for i386,
 XEN-PAE) module variants so that the obj-dir symlinks and the -I
 include order match those present in a kernel build.  See PR/53130
 (Currently, this affects the compat_60 module and its implementation
 of microcode updates for AMD processors - i386 and amd64.)
 
-10. For compat_50, in addition to rtsock there are some things in dev/vnd,
+9.  For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.
 
-11. There seems to be quite a bit of MD compat_xx code, in the various
+10. There seems to be quite a bit of MD compat_xx code, in the various
 sys/arch/ directories.  I haven't yet looked at any of this.  But it
 seems to me that the MI compat build infrastructure should have some
 mechanism to "reach over" to the MD code, #include a Makefile.inc file,



CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Apr 18 00:04:11 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Note changes to syscalls.master and friends


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Apr 17 06:20:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
More updates to match reality.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.10 src/doc/COMPAT-branch-notes:1.1.2.11
--- src/doc/COMPAT-branch-notes:1.1.2.10	Mon Apr 16 09:53:02 2018
+++ src/doc/COMPAT-branch-notes	Tue Apr 17 06:20:26 2018
@@ -32,6 +32,14 @@ DONE
 module status to userland has been versioned and moved to the
 compat_80 module.
 
+9.  The old monolithic compat module has been broken into multiple
+modules, one for each old NetBSD version.  The monolithic module
+is still available, and uses the alias mechanism to "advertise"
+that the component modules are available.
+
+There are still several areas which are not complete - see the
+TODO list below for more details.
+
 
 TODO
 
@@ -39,70 +47,45 @@ TODO
 COMPAT_xx.  When found, move the actual compat code into the compat
 hierarchy and replace originals with indirect (vectored) calls.
 
-2.  Using the alias mechanism, split compat (and perhaps compat_sysv)
-into multiple version-specific modules.  Note that in addition to
-updating the module code, this would also require changes to
-syscalls.master files to change the names of the modules associated
-with module-provided syscalls.
-
-Update:  These are being done simultaneously, with compat code being
-moved directly to a version-specific module.  All of COMPAT_80 and
-COMPAT_70, most of COMPAT_60, and much of COMPAT_50 are finished.
-Still need to decide how to handle the COMPAT_BSDPTY stuff.
+2.  Similar to the monolithic netbsd module, split the compat_sysv
+module into multiple version-specific modules.
 
-COMPAT_40 is also finished, except for some arch/sh3 MD code.  There
-is also some arch/m68k MD-specific code remaining for COMPAT_50.
+3.  Update syscalls.master to reflect that modular syscalls are now
+provided by version-specific modules.
 
-3.  XXX The compat_60 module still needs some work for XEN systems.
+4.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+the main rtsock.c code with various manipulations of the COMPAT_50
+macro.
+
+5.  The compat_60 module still needs some work for XEN systems.  We
+probably need some build infrastructure changes to ensure that
+XEN (and, for i386, XEN-PAE) modules are build with the correct
+macros defined and with -I directories specified in the same order
+as for building kernels.
 
-4.  Update syscalls.master to point the compat calls at the specific
+6.  Update syscalls.master to point the compat calls at the specific
 modules rather than the monolithic compat module.  Update the
 "required" lists of other modules, too.
 
-5.  The rtsock compatability code needs to be de-spaghetti'd and made
+7.  The rtsock compatability code needs to be de-spaghetti'd and made
 separable into rtsock_70 and rtsock_50 pieces.
 
-6.  Once rtsock is separated, compat_14 references to rtsock_50 routines
+8.  Once rtsock is separated, compat_14 references to rtsock_50 routines
 needs to be verified.
 
-7.  For compat_60, still need to figure out what to do with BSDPTY and
+9.  For compat_60, still need to figure out what to do with BSDPTY and
 tty_ptm
 
-8.  Also for compat_60, need to fix the building of XEN (and, for i386,
+10. Also for compat_60, need to fix the building of XEN (and, for i386,
 XEN-PAE) module variants so that the obj-dir symlinks and the -I
 include order match those present in a kernel build.  See PR/53130
 (Currently, this affects the compat_60 module and its implementation
 of microcode updates for AMD processors - i386 and amd64.)
 
-9.  For compat_50, in addition to rtsock there are some things in dev/vnd,
+11. For compat_50, in addition to rtsock there are some things in dev/vnd,
 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 separate.
 
-10. In addition to the ttcompat code in compat_60, there is another
-ttcompat in compat_43.  The 60 code used to simply update the function
-pointer, but the 43 code uses a rw_lock to protect the pointer update.
-Additionally, the 43 code specifically checks to ensure that the
-initial value of the pointer in NULL before updating it, which would
-prevent the 43 code from working if the 60 code is already loaded.  (I
-have some XXX comment in my branch code for this.)
-
-I suspect that the right this to do here is probably to make _two_
-indirect function calls in the main tty code, use separate pointers
-for the 60 and 43 compat stuff, 

CVS commit: [pgoyette-compat] src/doc

2018-04-17 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Tue Apr 17 06:20:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
More updates to match reality.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-04-16 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Apr 16 09:53:02 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Update with notes from a recent status update e-mail sent to tech-kern


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.9 src/doc/COMPAT-branch-notes:1.1.2.10
--- src/doc/COMPAT-branch-notes:1.1.2.9	Tue Apr  3 08:29:44 2018
+++ src/doc/COMPAT-branch-notes	Mon Apr 16 09:53:02 2018
@@ -1,60 +1,114 @@
 DONE
 
-1. Removed linking of the kernel compat object library into all kernels;
-   using the .o library caused some build breakage, and resulted in the
-   bulk of the compat code being included in every kernel, but without
-   any module linkage.  In turn, this caused failure when loading some
-   modules due to symbols already being defined in the kernel.
-
-2. Reverted some intentional breakage for loading the sysv_ipc module;
-   the breakage was introduced as the fix for the above-mentioned build
-   breakage.  
-
-3. Split the sysv_ipc compat routines into their own compat_sysv module.
-
-4. Resolved some inter-module dependencies.
-
-5. Extracted some net/if.c compat routines into the compat module, and
-   replaced the originals with indirect (vectored) function calls.
-
-6. Implemented a mechanism for modules to include "aliases", allowing
-   a single module file to declare multiple names.  For example, a
-   single "compat" module could declare compat_80, compat_70, etc, and
-   other modules could depend on specific compat levels rather than on
-   the entirety of compat.
-
-7. Reconfirmed existing compat-module dependencies, and update the
-   defopt/defflag lines in the config files* as needed, to insure that
-   built-in dependencies get resolved.
-
-8. Fixed limits on the number of module depedencies and maximum
-   recursion level have been removed.  Previous code for reporting
-   module status to userland has been versioned and moved to the
-   compat_80 module.
+1.  Removed linking of the kernel compat object library into all kernels;
+using the .o library caused some build breakage, and resulted in the
+bulk of the compat code being included in every kernel, but without
+any module linkage.  In turn, this caused failure when loading some
+modules due to symbols already being defined in the kernel.
+
+2.  Reverted some intentional breakage for loading the sysv_ipc module;
+the breakage was introduced as the fix for the above-mentioned build
+breakage.  
+
+3.  Split the sysv_ipc compat routines into their own compat_sysv module.
+
+4.  Resolved some inter-module dependencies.
+
+5.  Extracted some net/if.c compat routines into the compat module, and
+replaced the originals with indirect (vectored) function calls.
+
+6.  Implemented a mechanism for modules to include "aliases", allowing
+a single module file to declare multiple names.  For example, a
+single "compat" module could declare compat_80, compat_70, etc, and
+other modules could depend on specific compat levels rather than on
+the entirety of compat.
+
+7.  Reconfirmed existing compat-module dependencies, and update the
+defopt/defflag lines in the config files* as needed, to insure that
+built-in dependencies get resolved.
+
+8.  Fixed limits on the number of module depedencies and maximum
+recursion level have been removed.  Previous code for reporting
+module status to userland has been versioned and moved to the
+compat_80 module.
 
 
 TODO
 
-1. Audit the entire code base for any remaining embedded #ifdef's for
-   COMPAT_xx.  When found, move the actual compat code into the compat
-   hierarchy and replace originals with indirect (vectored) calls.
-
-2. Using the alias mechanism, split compat (and perhaps compat_sysv)
-   into multiple version-specific modules.  Note that in addition to
-   updating the module code, this would also require changes to
-   syscalls.master files to change the names of the modules associated
-   with module-provided syscalls.
-
-   Update:  These are being done simultaneously, with compat code being
-   moved directly to a version-specific module.  All of COMPAT_80 and
-   COMPAT_70, most of COMPAT_60, and much of COMPAT_50 are finished.
-   Still need to decide how to handle the COMPAT_BSDPTY stuff.
-
-   COMPAT_40 is also finished, except for some arch/sh3 MD code.  There
-   is also some arch/m68k MD-specific code remaining for COMPAT_50.
-
-3. XXX The compat_60 module still needs some work for XEN systems.
-
-4. Update syscalls.master to point the compat calls at the specific
-   modules rather than the monolithic compat module.  Update the
-   "required" lists of other modules, too.
+1.  Audit 

CVS commit: [pgoyette-compat] src/doc

2018-04-16 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Apr 16 09:53:02 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Update with notes from a recent status update e-mail sent to tech-kern


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-27 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Mar 28 03:41:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add some reminders


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.7 -r1.1.2.8 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.7 src/doc/COMPAT-branch-notes:1.1.2.8
--- src/doc/COMPAT-branch-notes:1.1.2.7	Sun Mar 25 23:53:51 2018
+++ src/doc/COMPAT-branch-notes	Wed Mar 28 03:41:26 2018
@@ -43,7 +43,10 @@ TODO
Update:  These are being done simultaneously, with compat code being
moved directly to a version-specific module.  All of COMPAT_80 and
COMPAT_70, most of COMPAT_60, and much of COMPAT_50 are finished.
-   Need to decide how to handle the COMPAT_BSDPTY stuff.
+   Still need to decide how to handle the COMPAT_BSDPTY stuff.
+
+   COMPAT_40 is also finished, except for some arch/sh3 MD code.  There
+   is also some arch/m68k MD-specific code remaining for COMPAT_50.
 
 3. XXX The compat_60 module still needs some work for XEN systems.
 



CVS commit: [pgoyette-compat] src/doc

2018-03-27 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Wed Mar 28 03:41:26 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add some reminders


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.7 -r1.1.2.8 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 25 23:53:51 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Another reminder, to update syscalls.master and other modules to refer
to specific compat_xx modules rather than the monolithic compat module.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.6 src/doc/COMPAT-branch-notes:1.1.2.7
--- src/doc/COMPAT-branch-notes:1.1.2.6	Sun Mar 25 08:52:54 2018
+++ src/doc/COMPAT-branch-notes	Sun Mar 25 23:53:51 2018
@@ -46,3 +46,7 @@ TODO
Need to decide how to handle the COMPAT_BSDPTY stuff.
 
 3. XXX The compat_60 module still needs some work for XEN systems.
+
+4. Update syscalls.master to point the compat calls at the specific
+   modules rather than the monolithic compat module.  Update the
+   "required" lists of other modules, too.



CVS commit: [pgoyette-compat] src/doc

2018-03-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 25 23:53:51 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Another reminder, to update syscalls.master and other modules to refer
to specific compat_xx modules rather than the monolithic compat module.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 25 08:52:54 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add reminder to deal with XEN for compat_60 cpu_ucode stuff


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-25 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 25 08:52:54 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add reminder to deal with XEN for compat_60 cpu_ucode stuff


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.5 src/doc/COMPAT-branch-notes:1.1.2.6
--- src/doc/COMPAT-branch-notes:1.1.2.5	Sat Mar 24 03:04:48 2018
+++ src/doc/COMPAT-branch-notes	Sun Mar 25 08:52:54 2018
@@ -45,3 +45,4 @@ TODO
COMPAT_70, most of COMPAT_60, and much of COMPAT_50 are finished.
Need to decide how to handle the COMPAT_BSDPTY stuff.
 
+3. XXX The compat_60 module still needs some work for XEN systems.



CVS commit: [pgoyette-compat] src/doc

2018-03-23 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar 24 03:04:48 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Reflect current status


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-23 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar 24 03:04:48 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Reflect current status


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.4 src/doc/COMPAT-branch-notes:1.1.2.5
--- src/doc/COMPAT-branch-notes:1.1.2.4	Mon Mar 12 02:03:20 2018
+++ src/doc/COMPAT-branch-notes	Sat Mar 24 03:04:48 2018
@@ -23,9 +23,9 @@ DONE
other modules could depend on specific compat levels rather than on
the entirety of compat.
 
-7. Reconfirmed all compat-module dependencies, and update the files *
-   def lines as needed, to insure that built-in dependencies get
-   resolved.
+7. Reconfirmed existing compat-module dependencies, and update the
+   defopt/defflag lines in the config files* as needed, to insure that
+   built-in dependencies get resolved.
 
 
 TODO
@@ -34,11 +34,14 @@ TODO
COMPAT_xx.  When found, move the actual compat code into the compat
hierarchy and replace originals with indirect (vectored) calls.
 
-   (There are several instances of this in the net routing table code.)
-
 2. Using the alias mechanism, split compat (and perhaps compat_sysv)
into multiple version-specific modules.  Note that in addition to
updating the module code, this would also require changes to
syscalls.master files to change the names of the modules associated
with module-provided syscalls.
 
+   Update:  These are being done simultaneously, with compat code being
+   moved directly to a version-specific module.  All of COMPAT_80 and
+   COMPAT_70, most of COMPAT_60, and much of COMPAT_50 are finished.
+   Need to decide how to handle the COMPAT_BSDPTY stuff.
+



CVS commit: [pgoyette-compat] src/doc

2018-03-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Mar 12 02:03:20 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove "alias" entry from the To-Do list - it's already in the Done pile.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Mon Mar 12 02:03:20 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Remove "alias" entry from the To-Do list - it's already in the Done pile.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.3 src/doc/COMPAT-branch-notes:1.1.2.4
--- src/doc/COMPAT-branch-notes:1.1.2.3	Mon Mar 12 01:59:31 2018
+++ src/doc/COMPAT-branch-notes	Mon Mar 12 02:03:20 2018
@@ -36,15 +36,6 @@ TODO
 
(There are several instances of this in the net routing table code.)
 
-2. Implement a mechanism for modules to include "aliases".  This would
-   allow a single module file to contain multiple module table entries
-   (for example, a single file for the compat module could include
-   compat_80, compat_70, compat_60, ...).  Then, other modules could
-   depend on individual names.  For example, module compat_xyz could
-   depend on compat_70, and the dependency would be met by either the
-   "everything" compat module (with all of its aliases) or by a 7.0-
-   specific module.
-
 2. Using the alias mechanism, split compat (and perhaps compat_sysv)
into multiple version-specific modules.  Note that in addition to
updating the module code, this would also require changes to



CVS commit: [pgoyette-compat] src/doc

2018-03-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 11 09:34:59 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Don't forget about validating/correcting compat module dependencies


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-11 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Mar 11 09:34:59 UTC 2018

Modified Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Don't forget about validating/correcting compat module dependencies


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.1 src/doc/COMPAT-branch-notes:1.1.2.2
--- src/doc/COMPAT-branch-notes:1.1.2.1	Sat Mar 10 05:14:26 2018
+++ src/doc/COMPAT-branch-notes	Sun Mar 11 09:34:59 2018
@@ -43,3 +43,7 @@ TODO
per-version compat_xx module, each with dependencies on all higher
versions.  (Perhaps we would also do this for the sysv ipc module,
although the gains are a lot smaller.)
+
+4. Reconfirm all compat-module dependencies, and update the files *
+   def lines as needed, to insure that built-in dependencies get
+   resolved.



CVS commit: [pgoyette-compat] src/doc

2018-03-09 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar 10 05:14:26 UTC 2018

Added Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add some notes on what has been done, and what remains


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1.2.1 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [pgoyette-compat] src/doc

2018-03-09 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sat Mar 10 05:14:26 UTC 2018

Added Files:
src/doc [pgoyette-compat]: COMPAT-branch-notes

Log Message:
Add some notes on what has been done, and what remains


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1.2.1 src/doc/COMPAT-branch-notes

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/doc/COMPAT-branch-notes
diff -u /dev/null src/doc/COMPAT-branch-notes:1.1.2.1
--- /dev/null	Sat Mar 10 05:14:26 2018
+++ src/doc/COMPAT-branch-notes	Sat Mar 10 05:14:26 2018
@@ -0,0 +1,45 @@
+DONE
+
+1. Removed linking of the kernel compat object library into all kernels;
+   using the .o library caused some build breakage, and resulted in the
+   bulk of the compat code being included in every kernel, but without
+   any module linkage.  In turn, this caused failure when loading some
+   modules due to symbols already being defined in the kernel.
+
+2. Reverted some intentional breakage for loading the sysv_ipc module;
+   the breakage was introduced as the fix for the above-mentioned build
+   breakage.  
+
+3. Split the sysv_ipc compat routines into their own compat_sysv module.
+
+4. Resolved some inter-module dependencies.
+
+5. Extracted some net/if.c compat routines into the compat module, and
+   replaced the originals with indirect (vectored) function calls.
+
+
+TODO
+
+1. Audit the entire code base for any remaining embedded #ifdef's for
+   COMPAT_xx.  When found, move the actual compat code into the compat
+   hierarchy and replace originals with indirect (vectored) calls.
+
+   (There are several instances of this in the net routing table code.)
+
+2. Implement a mechanism for modules to include "aliases".  This would
+   allow a single module file to contain multiple module table entries
+   (for example, a single file for the compat module could include
+   compat_80, compat_70, compat_60, ...).  Then, other modules could
+   depend on individual names.  For example, module compat_xyz could
+   depend on compat_70, and the dependency would be met by either the
+   "everything" compat module (with all of its aliases) or by a 7.0-
+   specific module.
+
+   Note that in addition to updating the module code, this would also
+   require changes to syscalls.master files to change the names of the
+   modules associated with module-provided syscalls.
+
+3. In addition to the single, all-encompassing compat module, provide a
+   per-version compat_xx module, each with dependencies on all higher
+   versions.  (Perhaps we would also do this for the sysv ipc module,
+   although the gains are a lot smaller.)