wine: mapping memory problems
asgard
asgard at etersoft.ru
Wed Jun 28 12:57:37 UTC 2006
hi, all.
in wine project there are few problems on freebsd with windows 16-bits
programs.
when you'll run such program, wine will crashed with stack overflow.
in fact, on freebsd wine doesn't map 1st megabyte of virtual memory,
but it should.
see ./libs/wine/mmap.c ./dlls/winedos/dosmem.c ./libs/wine/ldt.c
in dosmem.c DOSMEM_system should has mapped address, but programs
crashes on memset:
static void DOSMEM_FillBiosSegments(void)
{
BYTE *pBiosSys = (BYTE*)DOSMEM_dosmem + 0xf0000;
BYTE *pBiosROMTable = pBiosSys+0xe6f5;
BIOSDATA *pBiosData = DOSVM_BiosData(); /* in this case *pBiosData
= (BIOSDATA *)(DOSMEM_sysmem + 0x400);*/
static const char bios_date[] = "13/01/99";
/* Clear all unused values */
memset( pBiosData, 0, sizeof(*pBiosData) ); /* !!crashes here!! */
/* ... */
have you any suggestions how to resolve this problem?
beforehand 10x for help.
More information about the freebsd-hackers
mailing list