PERFORCE change 153215 for review
jhb at FreeBSD.org
Wed Nov 19 07:53:44 PST 2008
Change 153215 by jhb at jhb_mutex on 2008/11/19 15:53:33
Flesh out notes.
Affected files ...
.. //depot/projects/multipass/notes#2 edit
==== //depot/projects/multipass/notes#2 (text+ko) ====
@@ -1,8 +1,30 @@
-Todo list and general scribbles for 6.0 project to add multiple passes
+Todo list and general scribbles for 8.0 project to add multiple passes
to the new-bus layer.
+- BUS_PASS_DEFAULT (0)
+- BUS_PASS_ROOT (1) (root0 driver)
+- BUS_PASS_BUSSES (10)
+ - enumerate busses, bridges usually should be here
+- BUS_PASS_CPUS (20)
+- BUS_PASS_INTERRUPT_CONTROLLERS (30)
+- BUS_PASS_TIMERS (40)
+- will want to start up SMP and schedulers after this point before continuing
+ further, can clear cold as well then
Milestones / Todo:
+- Add pass number to 'driver_module_data' and an EARLY_DRIVER_MODULE() that
+ takes an explicit pass number. DRIVER_MODULE() uses the default pass (0).
+- May have to store pass number in driver link structure, so each attachment
+ has its own pass number.
+- Will need to change device_probe() to ignore drivers with a pass of 0 or
+ > current pass number until pass number becomes 0.
+- Will need a 'device_set_pass()' to raise the pass number for use with
+ sysinit. The last step is to set it to 0. Each time it will raise the
+ pass number for each valid pass until it gets to the new setting.
+- Will need a list of drivers sorted on pass number (just 1 per pass number
+ is fine) to have an enumeration of pass numbers.
+- Need a new 'bus_new_pass' called when the pass number is changed. Will
+ need a 'bus_generic_pass' which just does 'bus_generic_attach()'.
More information about the p4-projects