CVS commit: [pgoyette-compat] src/doc
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.)