Module Name: src
Committed By: isaki
Date: Sat Jan 18 06:00:04 UTC 2020
Modified Files:
src/sys/arch/x68k/stand/boot_ustar: boot_ustar.S
Log Message:
Check whether MPU >= 68020.
Because current secondary bootloader assumes that.
This will display a reasonable error message instead of "Error occurs,
please reset" (IPL message) when you try sysinst*.fs on X68000.
XXX secondary bootloader (/boot) should not assume mpu regardless of
whether primary bootloader has checked mpu. (?)
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S
diff -u src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S:1.11 src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S:1.12
--- src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S:1.11 Sat Jan 18 05:07:34 2020
+++ src/sys/arch/x68k/stand/boot_ustar/boot_ustar.S Sat Jan 18 06:00:04 2020
@@ -3,7 +3,7 @@
| ITOH Yasufumi
| [email protected]
|
-| $NetBSD: boot_ustar.S,v 1.11 2020/01/18 05:07:34 isaki Exp $
+| $NetBSD: boot_ustar.S,v 1.12 2020/01/18 06:00:04 isaki Exp $
| supports floppy only
@@ -56,6 +56,18 @@ ASENTRY_NOPROFILE(entry)
moveq #0x10,%d1
IOCS(__CRTMOD)
+ | We use 68020 instructions, and check MPU beforehand.
+ | Here "moveql #-1,%d0" = 0x70ff, and subsequent moveb loads
+ | 0xff if MPU <= 010 (chkmpu+2 + %d0.w)
+ | 0x70 if MPU >= 020 (chkmpu+2 + %d0.w*2).
+ | This is a move, not a tst instruction because tst with
+ | pc-relative is not available on 000/010.
+chkmpu:
+ moveql #-1,%d0
+ .word 0x103b, 0x02fe | moveb %pc@(chkmpu+2,%d0:W:2),%d0
+ jpl mpuok | MC68020 or later
+ BOOT_ERROR("MPU 68000?");
+mpuok:
|
| SASI or Floppy
|