From aae827a8455998c9575ec5f67cb19c34840f4be4 Mon Sep 17 00:00:00 2001 From: leo Date: Sat, 28 Dec 1996 23:37:53 +0000 Subject: [PATCH] - The Hades bios does not pass a 'bootpreference' in d5. Deal with it by getting the 'bootpreference' ourselves when it is not set to any legal value. - Because the relation between memtop/membot and the video base does not hold on the Hades, skip testing on it. --- sys/arch/atari/stand/xxboot/ahdi-sdb00t/sdb00t.ahdi.s | 10 ++++++++-- sys/arch/atari/stand/xxboot/ahdi-wdb00t/wdb00t.ahdi.s | 10 ++++++++-- sys/arch/atari/stand/xxboot/ahdi-xxboot/xxboot.ahdi.s | 10 +++------- sys/arch/atari/stand/xxboot/fdboot/fdboot.s | 10 +++------- sys/arch/atari/stand/xxboot/sdboot/sdboot.s | 10 +++------- sys/arch/atari/stand/xxboot/wdboot/wdboot.s | 10 +++------- sys/arch/atari/stand/xxboot/xxboot.h | 6 +++++- 7 files changed, 33 insertions(+), 33 deletions(-) diff --git a/sys/arch/atari/stand/xxboot/ahdi-sdb00t/sdb00t.ahdi.s b/sys/arch/atari/stand/xxboot/ahdi-sdb00t/sdb00t.ahdi.s index 8ae51104d5d7..c70dc994f318 100644 --- a/sys/arch/atari/stand/xxboot/ahdi-sdb00t/sdb00t.ahdi.s +++ b/sys/arch/atari/stand/xxboot/ahdi-sdb00t/sdb00t.ahdi.s @@ -1,4 +1,4 @@ -/* $NetBSD: sdb00t.ahdi.s,v 1.1.1.1 1996/02/29 11:36:50 leo Exp $ */ +/* $NetBSD: sdb00t.ahdi.s,v 1.2 1996/12/28 23:38:00 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens @@ -56,6 +56,12 @@ main: bclr #2,(_drvbits+3):w movq #0,d5 0: movb d5,d1 | NVRAM bootpref bnes 1f + + | The Hades bios does not provide a bootprev. In case + | of doubt, we fetch it ourselves. + movb #BOOTPREF,rtcrnr:w + movb rtcdat:w,d1 + bnes 1f movq #-8,d1 | bootpref = any 1: movb a0@,d2 | bootflags @@ -170,7 +176,7 @@ r0com: .long 0x0000008a .long 0x0000008a .long 0x0001008a -fill: .space 58 +fill: .space 46 .ascii "NetBSD" hd_siz: .long 0 diff --git a/sys/arch/atari/stand/xxboot/ahdi-wdb00t/wdb00t.ahdi.s b/sys/arch/atari/stand/xxboot/ahdi-wdb00t/wdb00t.ahdi.s index 77a161085359..2f57f46e3b19 100644 --- a/sys/arch/atari/stand/xxboot/ahdi-wdb00t/wdb00t.ahdi.s +++ b/sys/arch/atari/stand/xxboot/ahdi-wdb00t/wdb00t.ahdi.s @@ -1,4 +1,4 @@ -/* $NetBSD: wdb00t.ahdi.s,v 1.2 1996/12/26 14:55:23 leo Exp $ */ +/* $NetBSD: wdb00t.ahdi.s,v 1.3 1996/12/28 23:38:01 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens @@ -52,6 +52,12 @@ main: bclr #2,(_drvbits+3):w lea pc@(p0_dsc),a0 movb d5,d1 | NVRAM bootpref bnes 0f + + | The Hades bios does not provide a bootprev. In case + | of doubt, we fetch it ourselves. + movb #BOOTPREF,rtcrnr:w + movb rtcdat:w,d1 + bnes 0f movq #-8,d1 | bootpref = any 0: movb a0@,d2 | bootflags @@ -161,7 +167,7 @@ err: movq #-1,d0 movq #0,d0 rts -fill: .space 64 +fill: .space 52 dpar: .byte 0 | tracks/cylinder .byte 0 | sectors/track diff --git a/sys/arch/atari/stand/xxboot/ahdi-xxboot/xxboot.ahdi.s b/sys/arch/atari/stand/xxboot/ahdi-xxboot/xxboot.ahdi.s index 390739490c1e..271a8fcf2a4b 100644 --- a/sys/arch/atari/stand/xxboot/ahdi-xxboot/xxboot.ahdi.s +++ b/sys/arch/atari/stand/xxboot/ahdi-xxboot/xxboot.ahdi.s @@ -1,4 +1,4 @@ -/* $NetBSD: xxboot.ahdi.s,v 1.2 1996/03/18 21:06:19 leo Exp $ */ +/* $NetBSD: xxboot.ahdi.s,v 1.3 1996/12/28 23:38:04 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens. @@ -80,11 +80,7 @@ main: movml d3-d7/a3-a5,sp@- lea pc@(m_top),a6 movl _memtop:w,d3 - movl _v_bas_ad:w,d0 - cmpl d0,d3 - blts 0f | memtop < v_bas_ad - movl d0,d3 -0: cmpl #MINTOP,d3 + cmpl #MINTOP,d3 blts exit | memtop < MINTOP andw #-4,d3 @@ -199,6 +195,6 @@ m_key: .asciz "\007\r\npress any key... @\r\n" regsav: .long 0 -fill: .space 44 | 510-(fill-start) +fill: .space 50 | 510-(fill-start) .word 0 | checksum end: diff --git a/sys/arch/atari/stand/xxboot/fdboot/fdboot.s b/sys/arch/atari/stand/xxboot/fdboot/fdboot.s index df5701d15f63..ea1c5e1e8bbc 100644 --- a/sys/arch/atari/stand/xxboot/fdboot/fdboot.s +++ b/sys/arch/atari/stand/xxboot/fdboot/fdboot.s @@ -1,4 +1,4 @@ -/* $NetBSD: fdboot.s,v 1.2 1996/03/18 21:06:35 leo Exp $ */ +/* $NetBSD: fdboot.s,v 1.3 1996/12/28 23:38:06 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens. @@ -67,11 +67,7 @@ main: movml d1-d7/a0-a6,sp@- lea pc@(m_top),a3 movl _memtop:w,d3 - movl _v_bas_ad:w,d0 - cmpl d0,d3 - blts 0f | memtop < v_bas_ad - movl d0,d3 -0: cmpl #MINTOP,d3 + cmpl #MINTOP,d3 blts exit | memtop < MINTOP andw #-4,d3 @@ -222,6 +218,6 @@ m_sbl: .asciz "fdboot: bootxx => 0x#\r\n" m_rds: .asciz "fdboot: Floprd => 0x#\r\n" m_key: .asciz "\007\r\npress any key... @\r\n" -fill: .space 12 | 510-(fill-start) +fill: .space 22 | 510-(fill-start) .word 0 | checksum end: diff --git a/sys/arch/atari/stand/xxboot/sdboot/sdboot.s b/sys/arch/atari/stand/xxboot/sdboot/sdboot.s index e16289622f22..168de9618f50 100644 --- a/sys/arch/atari/stand/xxboot/sdboot/sdboot.s +++ b/sys/arch/atari/stand/xxboot/sdboot/sdboot.s @@ -1,4 +1,4 @@ -/* $NetBSD: sdboot.s,v 1.2 1996/03/18 21:06:37 leo Exp $ */ +/* $NetBSD: sdboot.s,v 1.3 1996/12/28 23:38:07 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens @@ -69,11 +69,7 @@ main: lea pc@(regsav),a0 bhis exit | membot > MAXBOT movl _memtop:w,d0 - movl _v_bas_ad:w,d1 - cmpl d1,d0 - blts 0f | memtop < v_bas_ad - movl d1,d0 -0: cmpl #MINTOP,d0 + cmpl #MINTOP,d0 blts exit | memtop < MINTOP andw #-4,d0 @@ -204,7 +200,7 @@ r0com: .long 0x0000008a regsav: .long 0 -fill: .space 14 +fill: .space 24 .ascii "NetBSD" hd_siz: .long 0 diff --git a/sys/arch/atari/stand/xxboot/wdboot/wdboot.s b/sys/arch/atari/stand/xxboot/wdboot/wdboot.s index 406beeebff0b..0cee5f3d1cb7 100644 --- a/sys/arch/atari/stand/xxboot/wdboot/wdboot.s +++ b/sys/arch/atari/stand/xxboot/wdboot/wdboot.s @@ -1,4 +1,4 @@ -/* $NetBSD: wdboot.s,v 1.3 1996/12/26 14:55:24 leo Exp $ */ +/* $NetBSD: wdboot.s,v 1.4 1996/12/28 23:38:09 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens @@ -64,11 +64,7 @@ main: lea pc@(regsav),a0 bhis exit | membot > MAXBOT movl _memtop:w,d3 - movl _v_bas_ad:w,d0 - cmpl d0,d3 - blts 0f | memtop < v_bas_ad - movl d0,d3 -0: cmpl #MINTOP,d3 + cmpl #MINTOP,d3 blts exit | memtop < MINTOP andw #-4,d3 @@ -194,7 +190,7 @@ err: movq #-1,d0 regsav: .long 0 -fill: .space 20 +fill: .space 30 dpar: .byte 0 | tracks/cylinder .byte 0 | sectors/track diff --git a/sys/arch/atari/stand/xxboot/xxboot.h b/sys/arch/atari/stand/xxboot/xxboot.h index 87777d0ad944..66dfbd4ee1d7 100644 --- a/sys/arch/atari/stand/xxboot/xxboot.h +++ b/sys/arch/atari/stand/xxboot/xxboot.h @@ -1,4 +1,4 @@ -/* $NetBSD: xxboot.h,v 1.3 1996/12/26 14:55:16 leo Exp $ */ +/* $NetBSD: xxboot.h,v 1.4 1996/12/28 23:37:53 leo Exp $ */ /* * Copyright (c) 1995 Waldi Ravens @@ -53,6 +53,10 @@ #define dmahi 0x8609 #define gpip 0xfa01 +#define rtcrnr 0x8961 +#define rtcdat 0x8963 +#define BOOTPREF 15 + #define idesdh 0xfff00019 #define idedor 0xfff00005 #define idedr 0xfff00000