Source-Changes-HG archive

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

[src/trunk]: src/usr.bin/config config(1): More TODO description.



details:   https://anonhg.NetBSD.org/src/rev/a65f31910a02
branches:  trunk
changeset: 333397:a65f31910a02
user:      uebayasi <uebayasi%NetBSD.org@localhost>
date:      Sat Nov 01 14:15:31 2014 +0000

description:
config(1): More TODO description.

diffstat:

 usr.bin/config/TODO |  19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diffs (31 lines):

diff -r b23e2d971587 -r a65f31910a02 usr.bin/config/TODO
--- a/usr.bin/config/TODO       Sat Nov 01 11:58:55 2014 +0000
+++ b/usr.bin/config/TODO       Sat Nov 01 14:15:31 2014 +0000
@@ -11,8 +11,27 @@
 
 o Emit everything (ioconf.*, Makefile, ...) per-attribute.
 
+  config(9) related metadata (cfdriver, cfattach, cfdata, ...) should be
+  collected using linker.  Create ELF sections like
+  .{rodata,data}.config.{cfdriver,cfattach,cfdata}.  Provide reference
+  symbols (e.g. cfdriverinit[]) using linker script.  Sort entries by name
+  to lookup entries by binary search in kernel.
+
 o Generate modular(9) related information.  Especially module dependency.
 
+  At this moment modular(9) modules hardcode dependency in *.c using the
+  MODULE() macro:
+
+       MODULE(MODULE_CLASS_DRIVER, hdaudio, "pci");
+
+  This information already exists in config(5) definitions (files.*).
+  Extend config(5) to be able to specify module's class.
+
+  Ideally these module metadata are kept somewhere in ELF headers, so that
+  loaders (e.g. boot(8)) can easily read.  One idea is to abuse DYNAMIC
+  sections to record dependency, as shared library does.  (Feasibility
+  unknown.)
+
 o Rename "interface attribute" to "bus".
 
   Instead of



Home | Main Index | Thread Index | Old Index