diff --git a/elks/arch/i86/boot/setup.S b/elks/arch/i86/boot/setup.S index 93004ec04..dbcde606b 100644 --- a/elks/arch/i86/boot/setup.S +++ b/elks/arch/i86/boot/setup.S @@ -51,7 +51,7 @@ ! 4 = 80188 ! 5 = 80186 ! 6 = 80286 -! 7 = 80386 +! 7 = 32-bit CPU (80386+) ! 8 = 80486 UNUSED ! 9 = Pentium UNUSED ! 10 = Pentium PRO UNUSED diff --git a/elks/arch/i86/drivers/block/directfd.c b/elks/arch/i86/drivers/block/directfd.c index 30fed9a16..5d860b9e5 100644 --- a/elks/arch/i86/drivers/block/directfd.c +++ b/elks/arch/i86/drivers/block/directfd.c @@ -1203,7 +1203,8 @@ static void DFPROC redo_fd_request(void) startsector = sector; numsectors = req->rq_nr_sectors; #ifdef CONFIG_TRACK_CACHE - use_cache = (command == FD_READ) && (req->rq_errors < 4); + use_cache = (command == FD_READ) && (req->rq_errors < 4) + && (SETUP_CPU_TYPE != 7 || running_qemu); /* disable cache on 32-bit systems */ if (use_cache) { /* full track caching only if cache large enough */ if (CACHE_FULL_TRACK && floppy->sect < CACHE_SIZE)