enable IF eflag

This commit is contained in:
a1ive 2025-02-18 14:45:19 +09:00
parent f81ab3d94e
commit b923ee83b4
No known key found for this signature in database
GPG Key ID: DA9BACF4F462B55D
3 changed files with 13 additions and 10 deletions

View File

@ -43,7 +43,7 @@ call_int13h (struct bootapp_callback_params *params)
__asm__ ("pushf\n\t"
"pop %0\n\t"
: "=r" (eflags));
params->eflags = (eflags & ~CF);
params->eflags = (eflags & ~CF) | IF;
params->vector.interrupt = 0x13;
call_interrupt (params);
}

View File

@ -148,6 +148,9 @@ enum eflags
AF = (1 << 4),
ZF = (1 << 6),
SF = (1 << 7),
TF = (1 << 8),
IF = (1 << 9),
DF = (1 << 10),
OF = (1 << 11),
};

View File

@ -144,7 +144,7 @@ int13_get_extended_parameters (struct bootapp_callback_params *params)
disk_params->sectors_per_track = VDISK_SECTORS_PER_TRACK;
disk_params->sectors = VDISK_COUNT;
disk_params->sector_size = VDISK_SECTOR_SIZE;
DBG2 ("Get extended parameters: C/H/S = %d/%d/%d, sectors = %#08llx "
DBG2 ("Get extended parameters: C/H/S = %d/%d/%d, sectors = %#llx "
"(%d bytes)\n", disk_params->cylinders, disk_params->heads,
disk_params->sectors_per_track, disk_params->sectors,
disk_params->sector_size);