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