Sat Aug 25 01:02:49 2018 UTC ()
Separate the TODO list into two lists, required-for-merge vs not-required.

Expand a couple entries.


(pgoyette)
diff -r1.1.2.17 -r1.1.2.18 src/doc/COMPAT-branch-notes

cvs diff -r1.1.2.17 -r1.1.2.18 src/doc/Attic/COMPAT-branch-notes (expand / switch to unified diff)

--- src/doc/Attic/COMPAT-branch-notes 2018/05/26 11:48:40 1.1.2.17
+++ src/doc/Attic/COMPAT-branch-notes 2018/08/25 01:02:48 1.1.2.18
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: COMPAT-branch-notes,v 1.1.2.17 2018/05/26 11:48:40 pgoyette Exp $ */ 1/* $NetBSD: COMPAT-branch-notes,v 1.1.2.18 2018/08/25 01:02:48 pgoyette Exp $ */
2 2
3DONE 3DONE
4---- 4----
51. Removed linking of the kernel compat object library into all kernels; 51. Removed linking of the kernel compat object library into all kernels;
6 using the .o library caused some build breakage, and resulted in the 6 using the .o library caused some build breakage, and resulted in the
7 bulk of the compat code being included in every kernel, but without 7 bulk of the compat code being included in every kernel, but without
8 any module linkage. In turn, this caused failure when loading some 8 any module linkage. In turn, this caused failure when loading some
9 modules due to symbols already being defined in the kernel. 9 modules due to symbols already being defined in the kernel.
10 10
112. Reverted some intentional breakage for loading the sysv_ipc module; 112. Reverted some intentional breakage for loading the sysv_ipc module;
12 the breakage was introduced as the fix for the above-mentioned build 12 the breakage was introduced as the fix for the above-mentioned build
13 breakage.  13 breakage.
14 14
@@ -39,57 +39,64 @@ DONE @@ -39,57 +39,64 @@ DONE
39 is still available, and uses the alias mechanism to "advertise" 39 is still available, and uses the alias mechanism to "advertise"
40 that the component modules are available. 40 that the component modules are available.
41 41
42 Similarly, the compat_sysv module has also been split into several 42 Similarly, the compat_sysv module has also been split into several
43 version-specific modules. 43 version-specific modules.
44 44
45 There are still several areas which are not complete - see the 45 There are still several areas which are not complete - see the
46 TODO list below for more details. 46 TODO list below for more details.
47 47
4810. syscalls.master has been updated to autoload the version-specific 4810. syscalls.master has been updated to autoload the version-specific
49 compat modules rather than the monolithic modules. 49 compat modules rather than the monolithic modules.
50 50
51 51
52TODO 52TODO - Required for branch merge
53---- 53--------------------------------
 541. For compat_60, still need to figure out what to do with BSDPTY and
 55 tty_ptm
 56
 572. Also for compat_60, need to fix the building of XEN (and, for i386,
 58 XEN-PAE) module variants so that the obj-dir symlinks and the -I
 59 include order match those present in a kernel build. See PR/53130
 60 (Currently, this affects the compat_60 module and its implementation
 61 of microcode updates for AMD processors - i386 and amd64.)
 62
 633. For compat_50, in addition to rtsock there are some things in dev/vnd,
 64 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
 65 separate.
 66
 67TODO - Not required for branch merge
 68------------------------------------
541. Audit the entire code base for any remaining embedded #ifdef's for 691. Audit the entire code base for any remaining embedded #ifdef's for
55 COMPAT_xx. When found, move the actual compat code into the compat 70 COMPAT_xx. When found, move the actual compat code into the compat
56 hierarchy and replace originals with indirect (vectored) calls. 71 hierarchy and replace originals with indirect (vectored) calls.
57 72
582. The rtsock compat code is a disaster, with rtsock_50.c #include-ing 732. The rtsock compat code is a disaster, with rtsock_50.c #include-ing
59 the main rtsock.c code with various manipulations of the COMPAT_50 74 the main rtsock.c code with various manipulations of the COMPAT_50
60 macro. Once rtsock is separated, compat_14 references to rtsock_50 75 macro. Once rtsock is separated, compat_14 references to rtsock_50
61 routines needs to be verified. 76 routines needs to be verified.
62 77
 78 Currently, this entire code is built for the monolithic COMPAT
 79 module, but there's no way to reach the entry points.
 80
633. The compat_60 module still needs some work for XEN systems. We 813. The compat_60 module still needs some work for XEN systems. We
64 probably need some build infrastructure changes to ensure that 82 probably need some build infrastructure changes to ensure that
65 XEN (and, for i386, XEN-PAE) modules are build with the correct 83 XEN (and, for i386, XEN-PAE) modules are build with the correct
66 macros defined and with -I directories specified in the same order 84 macros defined and with -I directories specified in the same order
67 as for building kernels. 85 as for building kernels.
68 86
694. For compat_60, still need to figure out what to do with BSDPTY and 87 This currently affects cpu microcode loading for amd64 XEN systems.
70 tty_ptm 
71 
725. Also for compat_60, need to fix the building of XEN (and, for i386, 
73 XEN-PAE) module variants so that the obj-dir symlinks and the -I 
74 include order match those present in a kernel build. See PR/53130 
75 (Currently, this affects the compat_60 module and its implementation 
76 of microcode updates for AMD processors - i386 and amd64.) 
77 
786. For compat_50, in addition to rtsock there are some things in dev/vnd, 
79 dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly 
80 separate. 
81 88
827. There seems to be quite a bit of MD compat_xx code, in the various 894. There seems to be quite a bit of MD compat_xx code, in the various
83 sys/arch/ directories. I haven't yet looked at any of this. But it 90 sys/arch/ directories. I haven't yet looked at any of this. But it
84 seems to me that the MI compat build infrastructure should have some 91 seems to me that the MI compat build infrastructure should have some
85 mechanism to "reach over" to the MD code, #include a Makefile.inc file, 92 mechanism to "reach over" to the MD code, #include a Makefile.inc file,
86 and perhaps define something to enable the MI modcmd code to call a 93 and perhaps define something to enable the MI modcmd code to call a
87 compat_xx_MD_init() routine. 94 compat_xx_MD_init() routine.
88 95
89 Note also that there are a few bits of MD code that is COMPAT_44 96 Note also that there are a few bits of MD code that is COMPAT_44
90 related. The only bit of MI COMPAT_44 code is in the single module 97 related. The only bit of MI COMPAT_44 code is in the single module
91 shared by COMPAT_43 and COMPAT_09. This affects the cesfic, hp300, 98 shared by COMPAT_43 and COMPAT_09. This affects the cesfic, hp300,
92 news68k, and x68k platforms, all in their respective machdep.c 99 news68k, and x68k platforms, all in their respective machdep.c
93 source file. Additionally, the zaurus platform defines COMPAT_44 in 100 source file. Additionally, the zaurus platform defines COMPAT_44 in
94 its INSTALL kernel configuration - but no other configuration files! 101 its INSTALL kernel configuration - but no other configuration files!
95 102