Re: [Freedos-kernel] Fwd: Re: state of kernel 2038
I am still reviewing and testing the pending patches... but progressing. :-) Does the non-UPX'ed kernel boot for anyone else? I spent most of this evening tracking down why my kernel didn't boot (that is testing my new setup so I wasn't sure if it was my host OS/compiler (I'm already using ms2wlink from OW1.7 since the 1.8 one is flaky for me)/kernel/etc, haven't tracked down beyond works with upx and not otherwise. For anyone who wants to test latest svn kernel I have put a compiled version online: binary (kernel.sys & sys.com, need to add your own command.com) http://www.fdos.org/kernel/test/ke2038rc.zip source http://www.fdos.org/kernel/test/ke2038rc-src.7z Jeremy -- Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Fwd: Re: state of kernel 2038
2009/5/3 Eric Auer : > RayeR wrote: >> In inidisk.c I had a note >> COUNT nUnits BSS_INIT(0); /* Watcom C 11.x didn't initialized, fixed to >> = 0 */ >> so then I modded init-mod.h >> >> #if ((defined _MSC_VER) || (defined __WATCOMC__)) >> #define BSS_INIT(x) = x >> #else >> #define BSS_INIT(x) >> #endif Ok, I think I understand: the BSS init does its job (or FreeDOS would not work anywhere!) but something else might overwrite nUnits. Namely by changing COUNT nUnits; to COUNT nUnits=0; the placement of the variable is changed from I_BSS to I_DATA, and there it is not touched. But I think something else overwrites nUnits, and after the change will overwrite somewhere else where it is apparently harmless, so there must be another bug somewhere. To be investigated later (I'm going to be away and offline for a week). Bart -- Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] state of kernel 2038
2009/2/17 Eric Auer : > >> /* clear the Init BSS area (what normally the RTL does */ >> memset(_ib_start, 0, _ib_end - _ib_start); > > Maybe this broke when Bart tuned the memory model recently? > Remember for example "JEMM386 int 19 fastboot compatible > storage of original pointers of hooked BIOS intr" here... > > As quite a few BIOSes also clear the RAM, it would be plausible > that a bug in this area could stay undetected for quite a while? > >> in both cases the variable ends up as 0 > > Not for RayeR, apparently: Some variables were nonzero in initdisk. > >> if this makes any difference, either >> the memset() memset above doesn't work >> or >> the error relates to the actual placement of the variable in the >> DATA segment. usually an overwriting problem or similar. >> good luck hunting if it's the latter > > As RayeR was able to fix the symptom by using BSS_INIT(x) = x style > for the macro, I hope that "if it is the latter" his fix would have > broken something else, so I believe that the memset has a problem. I don't see it: even when tracing with DOSEMU's debugger dosdebug: t Trap 1, system state: emulated,stopped AX= BX=0206 CX=0e7c DX=0a04 SI= DI=0fdc SP=2240 BP=224c DS=9dd9 ES=9dd9 FS= GS= FL=3312 CS:IP=9062:9c5f SS:SP=9dd9:2240 9062:9c5f 88C4 mov ah,al t Trap 1, system state: emulated,stopped AX= BX=0206 CX=0e7c DX=0a04 SI= DI=0fdc SP=2240 BP=224c DS=9dd9 ES=9dd9 FS= GS= FL=3312 CS:IP=9062:9c61 SS:SP=9dd9:2240 9062:9c61 D1E9 shr cx,1 t Trap 1, system state: emulated,stopped AX= BX=0206 CX=073e DX=0a04 SI= DI=0fdc SP=2240 BP=224c DS=9dd9 ES=9dd9 FS= GS= FL=3312 CS:IP=9062:9c63 SS:SP=9dd9:2240 9062:9c63 F3AB repe stosw rep stosw is called for the correct values compared to kernel.map and the kernel boots fine. (OW 1.8, current SVN stable kernel source) So which initdisk variables do you refer too? Where are they in kernel.map? Bart -- Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf ___ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel