Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm26 Move of BBBB to a more sensible location.



details:   https://anonhg.NetBSD.org/src/rev/4c670508ac4b
branches:  trunk
changeset: 499527:4c670508ac4b
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Tue Nov 21 23:44:24 2000 +0000

description:
Move of BBBB to a more sensible location.
Look in sys/arch/arm26/boot/BBBB,fd1 for old commit messages.

diffstat:

 sys/arch/arm26/boot/BBBB,fd1       |  461 -------------------------------------
 sys/arch/arm26/stand/BBBB/BBBB,fd1 |  461 +++++++++++++++++++++++++++++++++++++
 2 files changed, 461 insertions(+), 461 deletions(-)

diffs (truncated from 930 to 300 lines):

diff -r 51d580d46596 -r 4c670508ac4b sys/arch/arm26/boot/BBBB,fd1
--- a/sys/arch/arm26/boot/BBBB,fd1      Tue Nov 21 23:35:10 2000 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +0,0 @@
-REM>BBBB
-REM $NetBSD: BBBB,fd1,v 1.4 2000/09/24 12:32:33 jdolecek Exp $
-REM
-REM Copyright (c) 1998, 1999, 2000 Ben Harris
-REM All rights reserved.
-REM
-REM Redistribution and use in source and binary forms, with or without
-REM modification, are permitted provided that the following conditions
-REM are met:
-REM 1. Redistributions of source code must retain the above copyright
-REM    notice, this list of conditions and the following disclaimer.
-REM 2. Redistributions in binary form must reproduce the above copyright
-REM    notice, this list of conditions and the following disclaimer in the
-REM    documentation and/or other materials provided with the distribution.
-REM 3. The name of the author may not be used to endorse or promote products
-REM    derived from this software without specific prior written permission.
-REM
-REM THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-REM IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-REM OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-REM IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-REM NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-REM THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-REM
-REM This file is part of NetBSD/arm26 -- a port of NetBSD to ARM2/3 machines.
-REM
-REM Ben's BASIC BSD Booter (allegedly)
-debug% = 1
-PRINT ">> BBBB, Revision 0.32"
-SYS "OS_ReadMemMapInfo" TO nbpp%, npages%
-IF debug% THEN
-  PRINT "Machine has ";npages%;" pages of ";nbpp% DIV 1024;"K each.  ";
-  PRINT "Total RAM: ";npages% * nbpp% DIV 1024 DIV 1024;"Mb"
-  PRINT "Lowering HIMEM: &";~HIMEM;
-ENDIF
-HIMEM = &10000
-IF debug% THEN PRINT " -> &";~HIMEM
-
-twirl% = 0
-
-DIM vaddr%(npages%-1), access%(npages%-1), pgok%(npages%-1)
-pgok%() = FALSE
-
-PROCget_mem_map
-SYS "OS_GetEnv" TO A$
-IF debug% THEN PRINT A$
-WHILE LEFT$(A$, 1) <> " " AND LEN(A$) > 0 A$ = MID$(A$, 2) : ENDWHILE
-WHILE LEFT$(A$, 1) = " " A$ = MID$(A$, 2) : ENDWHILE
-WHILE RIGHT$(A$,1) = " " A$ = LEFT$(A$) : ENDWHILE
-IF FNtolower(LEFT$(A$, 5)) = "-quit" THEN
-  A$ = MID$(A$, 7)
-  WHILE LEFT$(A$, 1) <> " " AND LEN(A$) > 0 A$ = MID$(A$, 2) : ENDWHILE
-  WHILE LEFT$(A$, 1) = " " A$ = MID$(A$, 2) : ENDWHILE
-ENDIF
-file$ = ""
-howto% = 0
-WHILE LEN(A$) > 0
-  CASE LEFT$(A$, 1) OF
-    WHEN "-"
-      done% = FALSE
-      REPEAT
-        A$ = MID$(A$, 2)
-        CASE FNtolower(LEFT$(A$, 1)) OF
-          WHEN "a" : howto% = howto% OR &01 : REM RB_ASKNAME
-          WHEN "s" : howto% = howto% OR &02 : REM RB_SINGLE
-          WHEN "d" : howto% = howto% OR &40 : REM RB_KDB
-          WHEN "q" : howto% = howto% OR &10000 : REM AB_QUIET
-          WHEN "v" : howto% = howto% OR &20000 : REM AB_VERBOSE
-          WHEN " ", "" : done% = TRUE
-          OTHERWISE : ERROR EXT 0, "Bad option: " + LEFT$(A$, 1)
-        ENDCASE
-      UNTIL done%
-    WHEN " "
-      A$ = MID$(A$, 2)
-    OTHERWISE
-      IF file$ <> "" THEN ERROR EXT 0, "Too many files!"
-      WHILE LEFT$(A$, 1) <> " " AND LEN(A$) > 0
-        file$ += LEFT$(A$,1)
-        A$ = MID$(A$, 2)
-      ENDWHILE
-  ENDCASE
-ENDWHILE
-IF file$ = "" AND (howto% AND &01) THEN
-  INPUT "boot: "file$
-ELSE
-  IF file$ = "" THEN file$ = "netbsd"
-ENDIF
-PRINT "Booting "; file$; " (howto = 0x"; ~howto%; ")"
-PROCload_kernel(file$)
-DIM P% 1023
-REM
-[ OPT 2
- .config%
-  EQUD &942B7DFE             ; magic
-  EQUD 0                     ; version
-  EQUD howto%                ; boothowto
-  EQUD 0                     ; bootdev
-  EQUD ssym%                 ; ssym
-  EQUD esym%                 ; esym
-  EQUD nbpp%                 ; nbpp
-  EQUD npages%               ; npages
-  EQUD txtbase%              ; txtbase
-  EQUD txtsize%              ; txtsize
-  EQUD database%             ; database
-  EQUD datasize%             ; datasize
-  EQUD bssbase%              ; bssbase
-  EQUD bsssize%              ; bsssize
-  EQUD freebase%             ; freebase
-  EQUD FNvdu_var(11) + 1     ; xpixels
-  EQUD FNvdu_var(12) + 1     ; ypixels
-  EQUD 1 << FNvdu_var(9)     ; bpp
-  EQUD FNvdu_var(149) + FNvdu_var(150) - &02000000 ; screenbase (XXX?)
-  EQUD FNvdu_var(150)        ; screensize
-]
-SYS "OS_Byte", 165 TO ,,crow%
-[ OPT 2
-  EQUD crow% * FNvdu_var(170) ; cpixelrow
-]
-
-IF FNvdu_var(9) <> 3 THEN
-  PRINT "WARNING: Current screen mode has fewer than eight bits per pixel."
-  PRINT "         Console display may not work correctly (or at all)."
-ENDIF
-
-REM Try to ensure that we leave the page registers for podule ROMs pointing
-REM at the page with the ECID in it, so that NetBSD has a hope of finding it.
-FOR pod% = 0 TO 3
-  SYS "XPodule_ReadID",,,,pod%
-NEXT
-PROCstart_kernel(config%, 0, 0, 0, entry%)
-END
-
-DEF PROCget_mem_map
-  LOCAL block%
-  DIM block% (npages%+1)*12
-  FOR page%=0 TO npages%-1
-    block%!(page%*12) = page%
-  NEXT
-  block%!(npages%*12) = -1
-  SYS "OS_ReadMemMapEntries", block%
-  FOR page% = 0 TO npages%-1
-    vaddr%(page%) = block%!(page%*12+4)
-    access%(page%) = block%!(page%*12+8)
-  NEXT
-  IF debug% THEN PRINT "--------/-------/-------/-------"
-  FOR page%=0 TO npages%-1
-    IF access%(page%) = 3 THEN
-      IF debug% THEN PRINT ".";
-    ELSE
-      CASE TRUE OF
-        WHEN vaddr%(page%) < &0008000: IF debug% THEN PRINT "0";
-        WHEN vaddr%(page%) < &0010000: IF debug% THEN PRINT "+";
-        WHEN vaddr%(page%) < &1000000:
-          IF access%(page%) = 0 THEN
-            IF debug% THEN PRINT "*";
-            pgok%(page%) = TRUE
-           ELSE
-             IF debug% THEN PRINT "a";
-           ENDIF
-        WHEN vaddr%(page%) < &1400000: IF debug% THEN PRINT "d";
-        WHEN vaddr%(page%) < &1800000: IF debug% THEN PRINT "s";
-        WHEN vaddr%(page%) < &1C00000: IF debug% THEN PRINT "m";
-        WHEN vaddr%(page%) < &1E00000: IF debug% THEN PRINT "h";
-        WHEN vaddr%(page%) < &1F00000: IF debug% THEN PRINT "f";
-        WHEN vaddr%(page%) < &2000000: IF debug% THEN PRINT "S";
-      ENDCASE
-    ENDIF
-    IF page% MOD 32 = 31 AND debug% THEN PRINT
-  NEXT
-ENDPROC
-
-DEF PROCload_kernel(file$)
-  LOCAL file%, magic%
-  file% = OPENIN(file$)
-  IF file% = 0 THEN ERROR 1, "Can't open kernel"
-  DIM magic% 3
-  SYS "OS_GBPB", 3, file%, magic%, 4, 0
-  IF magic%?0 = 127 AND magic%?1 = ASC("E") AND magic%?2 = ASC("L") AND magic%?3 = ASC("F") THEN
-    PROCload_kernel_elf(file%)
-  ELSE
-    PROCload_kernel_aout(file%)
-  ENDIF
-  CLOSE#file%
-ENDPROC
-
-DEF PROCload_kernel_elf(file%)
-  LOCAL hdr%, phoff%, phentsize%, phnum%, phdrs%, ph%
-  LOCAL offset%, vaddr%, filesz%, memsz%, flags%, first%
-  LOCAL shoff%, shentsize%, shnum%, shdrs%, sh%, havesyms%, mshdrs%
-  DIM hdr% 51
-  SYS "OS_GBPB", 3, file%, hdr%, 52, 0
-  IF hdr%?4 <> 1 THEN ERROR 1, "Not a 32-bit ELF file"
-  IF hdr%?5 <> 1 THEN ERROR 1, "Not an LSB ELF file"
-  IF hdr%?6 <> 1 THEN ERROR 1, "Not a version-1 ELF file"
-  REM hdr%?7 is EI_OSABI.  Should it be 255 (ELFOSABI_STANDALONE)?
-  IF (hdr%!16 AND &FFFF) <> 2 THEN ERROR 1, "Not an executable ELF file"
-  IF (hdr%!18 AND &FFFF) <> 40 THEN ERROR 1, "Not an ARM ELF file"
-  entry% = hdr%!24
-  phoff% = hdr%!28
-  shoff% = hdr%!32
-  phentsize% = hdr%!42 AND &FFFF
-  phnum% = hdr%!44 AND &FFFF
-  shentsize% = hdr%!46 AND &FFFF
-  shnum% = hdr%!48 AND &FFFF
-  DIM phdrs% phnum% * phentsize% - 1
-  SYS "OS_GBPB", 3, file%, phdrs%, phnum% * phentsize%, phoff%
-  IF phnum% = 0 THEN ERROR 1, "No program headers"
-  first% = TRUE
-  FOR ph% = phdrs% TO phdrs% + (phnum% - 1) * phentsize% STEP phentsize%
-    IF ph%!0 <> 1 THEN NEXT : REM We only do PT_LOAD
-    IF NOT first% THEN PRINT "+";
-    first% = FALSE
-    offset% = ph%!4
-    vaddr% = ph%!8
-    filesz% = ph%!16
-    memsz% = ph%!20
-    flags% = ph%!24
-    PROCload_chunk(file%, offset%, vaddr%, filesz%, memsz%)
-    freebase% = vaddr% - &02000000 + memsz% : REM XXX
-  NEXT
-  txtbase% = 0
-  txtsize% = 0
-  database% = 0
-  datasize% = 0
-  bssbase% = 0
-  bsssize% = 0
-  ssym% = 0
-  esym% = 0
-  DIM shdrs% shnum% * shentsize% - 1
-  SYS "OS_GBPB", 3, file%, shdrs%, shnum% * shentsize%, shoff%
-  IF shnum% <> 0 THEN
-    havesyms% = FALSE
-    FOR sh% = shdrs% TO shdrs% + (shnum% - 1) * shentsize% STEP shentsize%
-      IF sh%!4 = 2 THEN havesyms% = TRUE
-    NEXT
-    IF havesyms% THEN
-      ssym% = freebase%
-      REM First, we have the munged ELF header
-      PRINT "+[";
-      PROCload_chunk(file%, 0, &02000000 + ssym%, 52, 52)
-      PROCwrite_word(ssym%+32, 52)
-      freebase% += 52
-      REM then, the munged section headers
-      mshdrs% = freebase%
-      PRINT "+";
-      PROCload_chunk(file%, shoff%, &02000000 + mshdrs%, shnum% * shentsize%, shnum% * shentsize%)
-      freebase% += shnum% * shentsize%
-      FOR sh% = shdrs% TO shdrs% + (shnum% - 1) * shentsize% STEP shentsize%
-        IF sh%!4 = 2 OR sh%!4 = 3 THEN
-          PRINT "+";
-          PROCload_chunk(file%, sh%!16, &02000000 + freebase%, sh%!20, sh%!20)
-          PROCwrite_word(mshdrs% + sh% - shdrs% + 16, freebase% - ssym%)
-          freebase% += FNroundup(sh%!20, 4)
-        ENDIF
-      NEXT
-      esym% = freebase%
-      PRINT "]";
-    ENDIF
-  ENDIF
-  PRINT " "
-  REM XXX
-ENDPROC
-
-DEF PROCload_chunk(file%, offset%, vaddr%, filesz%, memsz%)
-  LOCAL paddr%, ppn%, fragaddr%, fragsz%
-  PRINT ;filesz%;
-  WHILE filesz% > 0
-    paddr% = vaddr% - &02000000
-    ppn% = paddr% DIV nbpp%
-    IF NOT pgok%(ppn%) THEN ERROR 1, "Page " + STR$(ppn$) + " not free"
-    fragaddr% = vaddr%(ppn%) + paddr% MOD nbpp%
-    fragsz% = nbpp% - (paddr% MOD nbpp%)
-    IF fragsz% > filesz% THEN fragsz% = filesz%
-    SYS "OS_GBPB", 3, file%, fragaddr%, fragsz%, offset%
-    PROCtwirl
-    offset% += fragsz%
-    vaddr% += fragsz%
-    filesz% -= fragsz%
-    memsz% -= fragsz%
-  ENDWHILE
-  IF memsz% > 0 PRINT "+";memsz%;
-  WHILE memsz% > 0
-    paddr% = vaddr% - &02000000
-    ppn% = paddr% DIV nbpp%
-    IF NOT pgok%(ppn%) THEN ERROR 1, "Page " + STR$(ppn%) + " not free"
-    fragaddr% = vaddr%(ppn%) + paddr% MOD nbpp%
-    fragsz = nbpp% - (paddr% MOD nbpp%)
-    IF fragsz% > memsz% THEN fragsz% = memsz%
-    PROCbzero(fragaddr%, fragsz%)
-    PROCtwirl
-    offset% += fragsz%
-    vaddr% += fragsz%



Home | Main Index | Thread Index | Old Index