From Lucho: moved fmemcmp's into a checkHMA function.

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@940 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2004-05-23 14:45:27 +00:00
parent 4c116b0201
commit 2cdf880b85
1 changed files with 8 additions and 3 deletions

View File

@ -118,12 +118,17 @@ VOID hdump(BYTE FAR * p)
if so, it simply leaves it on if so, it simply leaves it on
*/ */
STATIC int checkHMA(void)
{
return fmemcmp(MK_FP(0, 0), MK_FP(0xffff, 0x0010), 128);
}
int EnableHMA(VOID) int EnableHMA(VOID)
{ {
_EnableA20(); _EnableA20();
if (fmemcmp(MK_FP(0x0000, 0x0000), MK_FP(0xffff, 0x0010), 128) == 0) if (!checkHMA())
{ {
printf("HMA can't be enabled\n"); printf("HMA can't be enabled\n");
return FALSE; return FALSE;
@ -132,14 +137,14 @@ int EnableHMA(VOID)
_DisableA20(); _DisableA20();
#ifdef DEBUG #ifdef DEBUG
if (fmemcmp(MK_FP(0x0000, 0x0000), MK_FP(0xffff, 0x0010), 128) != 0) if (!checkHMA())
{ {
printf("HMA can't be disabled - no problem for us\n"); printf("HMA can't be disabled - no problem for us\n");
} }
#endif #endif
_EnableA20(); _EnableA20();
if (fmemcmp(MK_FP(0x0000, 0x0000), MK_FP(0xffff, 0x0010), 128) == 0) if (!checkHMA())
{ {
printf("HMA can't be enabled second time\n"); printf("HMA can't be enabled second time\n");
return FALSE; return FALSE;