diff options
| author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2002-10-03 21:50:33 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-10-03 21:50:33 -0700 |
| commit | ebbde00338de209f4c3f55939384a35c4af85ed3 (patch) | |
| tree | 033322d2a7f51ce4c3712285606162033ca8ddf2 /init | |
| parent | 2abb6c501e1a98b671c6992c223f65afe187b065 (diff) | |
[PATCH] s390 update (24/27): boot sequence.
Rework boot sequence on s390:
Traditionally, device detection os s390 is done completely
at a _very_ early stage during bootup (from init_irq(),
i.e. before memory management or the console are there).
This has always been a bad idea, but now it broke even more
since the linux driver model requires devices detection
to take place after the core_initcalls are done.
We now do only a small amount of scanning (probably
less in the future) at the early stage, the bulk of it
is done from a proper subsys_initcall(). This requires
some changes in related areas:
- the machine check handler initialization is split in
two halves, since we want to catch major machine malfunctions
as early as possible, but device machine checks can only
be caught after the channel subsystem is up.
- some functions that are called from the css initialization
made some assumptions of when to use kmalloc or bootmem_alloc,
which were broken anyway. We fix this here and hopefully
can get rid of bootmem_alloc for the css completely in the future.
- the debug logging feature for s390 was not used for functions
in the initialization before, since it requires the memory
management to be working. Now that we can be sure that it
works, some special cases can be removed.
Now that these changes are done, a partial implementation of the
device model for the channel subsystem is possible, but at this
point, none of the device drivers make use of that yet.
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions
