Dear List,

I seem have uncovered a bug in the FreeDOS kernel (2040) init 
processing config.sys.

To reproduce requires both the following conditions :

1- EBDA is relocated by a  device driver provided by the user 
[/not/ the kernel's native relocator]. It is understood such driver does 
update the BIOS pointers at 40:0Eh and 40:13 properly.

2- A UMB-provider is then loaded as directed by a DEVICE= line

- For 1 I used my own mover, and as an alternative, 
Japheth's movexbda.exe,
- for 2 JEMMX or MS EMM386. 

Bug is fully repeatable :

= All combinations work fine in MS-DOS but will crash FreeDOS.

=  Bug details : device "2" is installed and initialised properly by the Kernel.
 But thereafter, in installing its own UMB management, FreeDOS
messes up, resulting an invalid MCB chain in low memory ending "in free air" at 
paragraph 9FFF - whitout an MCB here, just random data from the
former EBDA. FreeDOS also creates a bogus MCB at the paragraph 
immediately before where the XBDA /used to be/, and stores the address of that 
MCB inside its "list of list". However the bogus MCB 
is not linked.

Config.sys processing can continue normally but of course 
the whole system will go to Catastrophe city° when the
kernel does memory block (re)allocation - when trying
to load the shell, or even earlier (install=)

Without a look at the kernel's code, my guess : Sysinit stored the /initial/
XBDA location once and for all somewhere within /its/ data, and uses /that/ 
when trying to link UMBs in, instead of consulting the now 
/current/ XBDA pointers in BIOS data area, as it should.

° note : kernel outputs a diagnostic includng the failed MCB and
then halts. A good point.

HTH - don't shoot the messenger ;=)



-- 
Czerno

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to