mirror of
https://github.com/FDOS/kernel.git
synced 2025-07-23 13:54:30 +02:00
Fix bug in block device driver init of DPBs
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@622 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
50181938f3
commit
5bffd69d1d
@ -361,6 +361,8 @@ void PreConfig2(void)
|
|||||||
/* Also, run config.sys to load drivers. */
|
/* Also, run config.sys to load drivers. */
|
||||||
void PostConfig(void)
|
void PostConfig(void)
|
||||||
{
|
{
|
||||||
|
struct dpb FAR *old_dpbp;
|
||||||
|
|
||||||
/* We could just have loaded FDXMS or HIMEM */
|
/* We could just have loaded FDXMS or HIMEM */
|
||||||
if (HMAState == HMA_REQ && MoveKernelToHMA())
|
if (HMAState == HMA_REQ && MoveKernelToHMA())
|
||||||
HMAState = HMA_DONE;
|
HMAState = HMA_DONE;
|
||||||
@ -401,8 +403,10 @@ void PostConfig(void)
|
|||||||
|
|
||||||
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', Config.cfgLastdriveHigh);
|
LoL->CDSp = KernelAlloc(sizeof(struct cds) * LoL->lastdrive, 'L', Config.cfgLastdriveHigh);
|
||||||
|
|
||||||
|
old_dpbp = LoL->DPBp;
|
||||||
LoL->DPBp = KernelAlloc(blk_dev.dh_name[0] * sizeof(struct dpb), 'E',
|
LoL->DPBp = KernelAlloc(blk_dev.dh_name[0] * sizeof(struct dpb), 'E',
|
||||||
Config.cfgDosDataUmb);
|
Config.cfgDosDataUmb);
|
||||||
|
fmemcpy(LoL->DPBp, old_dpbp, blk_dev.dh_name[0] * sizeof(struct dpb));
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("Final: \n f_node 0x%x\n", LoL->f_nodes);
|
printf("Final: \n f_node 0x%x\n", LoL->f_nodes);
|
||||||
|
@ -275,8 +275,6 @@ STATIC void init_kernel(void)
|
|||||||
|
|
||||||
/* and do final buffer allocation. */
|
/* and do final buffer allocation. */
|
||||||
PostConfig();
|
PostConfig();
|
||||||
LoL->nblkdev = 0;
|
|
||||||
update_dcb(&blk_dev);
|
|
||||||
|
|
||||||
/* Init the file system one more time */
|
/* Init the file system one more time */
|
||||||
FsConfig();
|
FsConfig();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user