| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: TODO.modules,v 1.22 2020/07/05 02:04:25 pgoyette Exp $ */ | | 1 | /* $NetBSD: TODO.modules,v 1.23 2021/05/30 02:37:42 pgoyette Exp $ */ |
2 | | | 2 | |
3 | Some notes on the limitations of our current (as of 7.99.35) module | | 3 | Some notes on the limitations of our current (as of 7.99.35) module |
4 | subsystem. This list was triggered by an Email exchange between | | 4 | subsystem. This list was triggered by an Email exchange between |
5 | christos and pgoyette. | | 5 | christos and pgoyette. |
6 | | | 6 | |
7 | 1. Builtin drivers can't depend on modularized drivers (the modularized | | 7 | 1. Builtin drivers can't depend on modularized drivers (the modularized |
8 | drivers are attempted to load as builtins). | | 8 | drivers are attempted to load as builtins). |
9 | | | 9 | |
10 | The assumption is that dependencies are loaded before those | | 10 | The assumption is that dependencies are loaded before those |
11 | modules which depend on them. At load time, a module's | | 11 | modules which depend on them. At load time, a module's |
12 | undefined global symbols are resolved; if any symbols can't | | 12 | undefined global symbols are resolved; if any symbols can't |
13 | be resolved, the load fails. Similarly, if a module is | | 13 | be resolved, the load fails. Similarly, if a module is |
14 | included in (built-into) the kernel, all of its symbols must | | 14 | included in (built-into) the kernel, all of its symbols must |
| @@ -229,13 +229,15 @@ christos and pgoyette. | | | @@ -229,13 +229,15 @@ christos and pgoyette. |
229 | we can't determine that an image needs compat_linux vs some other | | 229 | we can't determine that an image needs compat_linux vs some other |
230 | module). | | 230 | module). |
231 | | | 231 | |
232 | 24. Details are no longer remembered, but there are some issues with | | 232 | 24. Details are no longer remembered, but there are some issues with |
233 | building xen-variant modules (on amd4, and likely i386). In some | | 233 | building xen-variant modules (on amd4, and likely i386). In some |
234 | cases, wrong headers are included (because a XEN-related #define | | 234 | cases, wrong headers are included (because a XEN-related #define |
235 | is missing), but even if you add the definition some headers get | | 235 | is missing), but even if you add the definition some headers get |
236 | included in the wrong order. One particular fallout from this is | | 236 | included in the wrong order. One particular fallout from this is |
237 | the inability to have a compat version of x86_64 cpu-microcode | | 237 | the inability to have a compat version of x86_64 cpu-microcode |
238 | module. PR port-xen/53130 | | 238 | module. PR port-xen/53130 |
239 | | | 239 | |
240 | This is likely to be fixed by Chuck Silvers on 2020-07-04 which | | 240 | This is likely to be fixed by Chuck Silvers on 2020-07-04 which |
241 | removed the differences between the xen and non-xen module ABIs. | | 241 | removed the differences between the xen and non-xen module ABIs. |
| | | 242 | As of 2021-05-28 the cpu-microcode functionality has once again |
| | | 243 | been enabled for i386 and amd64 compat_60 modules. |