Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/vax/boot/xxboot Adjust this a bit so that the prima...
details: https://anonhg.NetBSD.org/src/rev/d7c284ede46c
branches: trunk
changeset: 488040:d7c284ede46c
user: matt <matt%NetBSD.org@localhost>
date: Sat Jun 17 01:00:17 2000 +0000
description:
Adjust this a bit so that the primary entry point is 0x200, not 0x0a.
diffstat:
sys/arch/vax/boot/xxboot/start.s | 30 ++++++++++++++++--------------
1 files changed, 16 insertions(+), 14 deletions(-)
diffs (88 lines):
diff -r 0f1bbff753f8 -r d7c284ede46c sys/arch/vax/boot/xxboot/start.s
--- a/sys/arch/vax/boot/xxboot/start.s Sat Jun 17 00:59:24 2000 +0000
+++ b/sys/arch/vax/boot/xxboot/start.s Sat Jun 17 01:00:17 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: start.s,v 1.5 2000/05/22 15:54:53 matt Exp $ */
+/* $NetBSD: start.s,v 1.6 2000/06/17 01:00:17 matt Exp $ */
/*
* Copyright (c) 1995 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -60,26 +60,18 @@
.org 0x08 #
brb from_0x08 # skip ...
-.org 0x0A # uVAX booted from disk starts here
- brb from_0x0A # skip ...
-
.org 0x0C # 11/750 & 8200 starts here
movzbl $1,_from # We booted from "old" rom.
brw cont_750
from_0x00: # uVAX from TK50
-from_0x0A: # uVAX from disk
- movzbl $2,_from # Booted from subset-VMB
brw start_uvax # all uVAXen continue there
from_0x08: # Any machine from VMB
movzbl $4,_from # Booted from full VMB
halt # Cannot handle this...
-_from: .long 0 # boot prog type
- .globl _from
-
# the complete area reserved for label
# must be empty (i.e. filled with zeroes).
# disklabel(8) checks that before installing
@@ -88,10 +80,10 @@
/*
* Parameter block for uVAX boot.
*/
-#define VOLINFO 0 /* 1=single-sided 81=double-sided volumes */
-#define SISIZE 16 /* size in blocks of secondary image */
-#define SILOAD 0 /* load offset (usually 0) from the default */
-#define SIOFF 0x0A /* byte offset into secondary image */
+#define VOLINFO 0 /* 1=single-sided 81=double-sided volumes */
+#define SISIZE 16 /* size in blocks of secondary image */
+#define SILOAD 0 /* load offset (usually 0) from the default */
+#define SIOFF 0x200 /* byte offset into secondary image */
.org LABELOFFSET + d_end_
.byte 0x18 # must be 0x18
@@ -110,6 +102,7 @@
.long SIOFF # byte offset into secondary image
.long (SISIZE + SILOAD + SIOFF) # sum of previous 3
+
/*
* After bootblock (LBN0) has been loaded into the first page
* of good memory by 11/750's ROM-code (transfer address
@@ -130,7 +123,6 @@
*
* cont_750 reads in LBN1-15 for further execution.
*/
- .align 2
cont_750:
movl $_start, sp # move stack to avoid clobbering the code
pushr $0x131 # save clobbered registers
@@ -150,10 +142,20 @@
popr $0x131 # restore clobbered registers
brw start_all # Ok, continue...
+/* uVAX main entry is at the start of the second disk block. This is
+ * needed for multi-arch CD booting where multiple architecture need
+ * to shove stuff in boot block 0.
+ */
+ .org 0x200 # uVAX booted from disk starts here
start_uvax:
+ movzbl $2,_from # Booted from subset-VMB
brb start_all
+ .align 2
+ .globl _from
+_from: .long 0
+
/*
* start_all: stack already at RELOC, we save registers, move ourself
* to RELOC and loads boot.
Home |
Main Index |
Thread Index |
Old Index