Massive changes to the driver loading / device creation logic (as a result of collabo...
authorAleksey Bragin <aleksey@reactos.org>
Mon, 11 Jun 2007 22:02:55 +0000 (22:02 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Mon, 11 Jun 2007 22:02:55 +0000 (22:02 +0000)
commit5b7bb95ec1f04aeb9e2bedf95f64bdddae030327
treecf2b93810444a18c88b8ca143dc684387fe0e6bb
parent8bb5ea42088492acaa780343f94ab5619a7d06e4
Massive changes to the driver loading / device creation logic (as a result of collaborative work with Herve):

- Really reuse the driver's object, instead of always failing in "IopGetDriverObject()". Fix driver's object creation accordingly in NtLoadDriver() and IopActionInitChildServices().
- Move InvalidateRelations to a later stage, when it really should happen (previously it just delayed the boot process but couldn't load any driver since boot device was inaccessible and reusing drivers loaded by the bootloader was not possible).
- Minor bugfixes in various places related to these changes.
- Add DPRINTs for easier debugging and failure tracking (silent failure is the worst enemy of a developer).

Results:
- VMWare video driver regression is gone.
- "New device found" wizard appears in the 3rd stage like in "old good times".
- Network drivers hang somewhere, so a hack is added to temporarily disable installation of pcnet.sys.

svn path=/trunk/; revision=27151
reactos/media/inf/netamd.inf
reactos/ntoskrnl/io/iomgr/driver.c
reactos/ntoskrnl/io/iomgr/iomgr.c
reactos/ntoskrnl/io/pnpmgr/pnpmgr.c