On Wed, 25 Jun 2003, Luchezar Georgiev wrote:

> And now to let you know what I've found. I've got a copy of a little but
> excellent DOS utility called DUMPDOS (the author is unknown to me but he
> had done a great job as you will see) which you can download from my
> website (http://linux.tu-varna.acad.bg/~lig/dumpdos.exe) that dumps all
> the DOS internal data structures including the LoL, MCBs, DPBs, buffers,
> and many more.

thanks for that link -- this program indeed helps quite a bit for
troubleshooting.

> Using DUMPDOS with the original build 2030, I found that
> all the installable drivers had dpb_unit of zero, but dpb_subunit was
> correct. But now (with your patches applied) I've found exactly the
> opposite - the dpb_unit is correct, but dpb_subunit is zero! And this is
> persistent, no matter if the drivers are loaded high or low. I can't see
> any updates of the global number of block devices blk_dev.hs_name[0]
> after the initial call of dsk_init() in main.c (which is done before
> installing the drivers from CONFIG.SYS).

blk_dev.dh_name[0] is the number of *builtin* (supplied by dsk.c) block
devices. The global number is stored in LoL->nblkdev.

> Maybe this is done indirectly
> when the passed "dhp" to init_device is &blk_dev?! But then I don't see
> such a call. I think that the problem may result from blk_dev.dh_name[0]
> not being updated to reflect the real number of drives after config.sys
> is processed.

the dpb_unit is the drive letter - 'A'
the dpb_sub_unit is the relative drive letter within the device driver, so
'0' is correct for all device drivers which supply only 1 drive (unless
I missed something).

dsk.c is the kernel's builtin disk device driver so here the sub unit
value is indeed nonzero.

What you might want to check though is the behaviour with kernel 2029. I
reorganized this code for kernel 2030 to support FILESHIGH and so on but
broke something (what we're looking at now).

Bart

==^================================================================
This email was sent to: [EMAIL PROTECTED]

EASY UNSUBSCRIBE click here: http://topica.com/u/?b1ddyi.b3hwCs.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
==^================================================================


Reply via email to