Allocate bigger chunk of memory for INSTALL for __WATCOMC__ because the

memory layout is different from other compilers.
Fixes issues mentioned by Bret Johnson and Christian Masloch
in freedos-user/freedos-kernel.


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1569 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2011-04-09 04:08:20 +00:00
parent 0b5098042e
commit ed61be3ca3
5 changed files with 15 additions and 3 deletions

View File

@ -21,6 +21,11 @@ Changelog items can list SVN revision rNUMBER and bugzilla bug NUMBER.
sector is given (sys X: bootfile.bin)
+ Changes Bart
* r1569 kernel/{config.c,kernel.asm,init-mod.h,globals.h}:
Allocate bigger chunk of memory for INSTALL for __WATCOMC__
because the memory layout is different from other compilers.
Fixes issues mentioned by Bret Johnson and Christian Masloch
in freedos-user/freedos-kernel.
* r1568 kernel/asmsupt.asm, mkfiles/owlinux.mak: Make sure the
DOS native and Linux cross-builds produce identical binaries.
* r1567 drivers/rdpcclk.asm,kernel/{asmsupt,entry,irqstack,kernel,

View File

@ -2386,7 +2386,11 @@ VOID DoInstall(void)
*/
set_strategy(LAST_FIT);
installMemory = allocmem(((unsigned)_init_end + ebda_size + 15) / 16);
installMemory = ((unsigned)_init_end + ebda_size + 15) / 16;
#ifdef __WATCOMC__
installMemory += (_InitTextEnd - _InitTextStart + 15) / 16;
#endif
installMemory = allocmem(installMemory);
InstallPrintf(("allocated memory at %x\n",installMemory));

View File

@ -165,7 +165,6 @@ FAR ASM clk_dev, /* Clock device driver */
extern COUNT *error_tos, /* error stack */
disk_api_tos, /* API handler stack - disk fns */
char_api_tos; /* API handler stack - char fns */
extern BYTE FAR _InitTextStart; /* first available byte of ram */
extern BYTE FAR _HMATextAvailable, /* first byte of available CODE area */
FAR _HMATextStart[], /* first byte of HMAable CODE area */
FAR _HMATextEnd[]; /* and the last byte of it */

View File

@ -259,7 +259,8 @@ extern struct lol ASM FAR DATASTART;
extern BYTE DOSFAR ASM _HMATextAvailable, /* first byte of available CODE area */
FAR ASM _HMATextStart[], /* first byte of HMAable CODE area */
FAR ASM _HMATextEnd[], DOSFAR ASM break_ena; /* break enabled flag */
extern BYTE DOSFAR _InitTextStart, /* first available byte of ram */
extern BYTE DOSFAR ASM _InitTextStart[], /* first available byte of ram */
DOSFAR ASM _InitTextEnd[],
DOSFAR ReturnAnyDosVersionExpected,
DOSFAR ASM HaltCpuWhileIdle;

View File

@ -771,6 +771,9 @@ segment INIT_TEXT_START
global __InitTextStart
__InitTextStart: ; and c version
segment INIT_TEXT_END
global __InitTextEnd
__InitTextEnd: ; and c version
;
; start end end of HMA area