From: okafuji@miln.mei.co.jp (MILN Kouji Okafuji)
Newsgroups: fj.os.386bsd
Subject: Re: Q: how to make Tiny 386bsd floppy [PS/55 note]
Date: 12 Jan 93 04:23:01 GMT
	<C0oq0K.E6z@msr.mei.co.jp>
	<1993Jan12.002140.4424@hsdlgw92.sdl.hitachi.co.jp>
Distribution: fj
Organization: Matsusita Information Systems Reserch Lab.Nagoya
In-reply-to: iseda@hsdlgw92.sdl.hitachi.co.jp's message of 12 Jan 93 00:21:40 GMT


$@2,F#!wL>8E208&$G$9!#(J

In article <1993Jan12.002140.4424@hsdlgw92.sdl.hitachi.co.jp> iseda@hsdlgw92.sdl.hitachi.co.jp (Seiji Iseda) writes:

   >>$@$H$3$m$G$I$&$d$i(J PS/55 note $@$K$O!":#$N$H$3$m(J 386bsd $@$r$N$;$k$N$OL5M}$_$?(J
   >>$@$$!"$H$$$&$3$H$,$o$+$j$^$7$?!#(J
   >>$@!tL5M}(J$@$_$?$$$H$$$&$3$H$,$o$+$C$?$@$1$G$b;d$K$OBgJQ$J?JJb$G$9!"!"!"(J;_;)
$@$G$O$J$/$F!"(J

   >>$@$O$8$a$^$7$F!"0kB<(J$@!w>>2<EE4o>p%7%9%F%`L>8E208&5f=j$G$9!#(J
   >>$@;d$N#A#T495!$G$b;w$?>I>u$K$J$j!"%V!<%H%V%m%C%/$K%Q%C%A$rEv(J$@$F$F(J
   >>$@F0$/MM$K$J$j$^$7$?!#$=$N>pJs$r(Jnifty$@$K=P$7$?J*$+$i$N0zMQ$G$9!#(J
$@$G$9!#(J
$@!t$&$A$O(JUUCP$@%5%$%H$N$?(J$@$a!"5-;v$,FO$/$N$,CY$$$h$&$G$9!#(J

   >>$@$G$9!#$3$N5-;v$N%O!<%I%3%T!<$7$+$J$/$F!"%a%C%;!<%8#I#D$,$o$+$j(J$@$^$;$s!#(J
0.0$@$N$3$m$N5-;v$J$N$G$9$,!"$9$08+$?$$?M$b$*$i$l$k$H$*$b$$$^$9!#(J
$@$=$3$G!"4XO"5-;v$r#2$DE>:\$7(J$@$^$9!#(J
-------------------------------------------------------------------------
From: nasten@everyware.se (Hans Nasten)
Newsgroups: comp.unix.bsd
Subject: Booting 386BSD on a previously unbootable machine. (WD 386SX-LPX)
Date: 21 Apr 92 16:37:53 GMT
Organization: Everyware Mikrodata AB, Stockholm Sweden

The floppy bootstrap in 386BSD uses the interrupt controller in a somewhat
unorthodox manner. Chipsets with a less than perfect emulation of the 8259
interrupt controller will get into trouble. ( at least the WD chipset on
my WD LPX motherboard ).

This is the offending code in the floppy boot module :

/* watch the icu looking for an interrupt signalling completion */

        xorl    %edx,%edx
        movb    $0x20,%dl
 2:     movb    $0xc,%al
        outb    %al,%dx
        NOP
        inb     %dx,%al
        NOP
        andb    $0x7f,%al
        cmpb    $6,%al
        jne     2b


Replacing the "jne 2b" instruction with 2 nop's made my SX boot the "0.0newer"
distribution. Without this patch it never got past the initial bootstrap.
I did the patch at offset 0xfa in the dist.fs file. The 0x75, 0xf0 bytes
there was replaced by 0x90, 0x90 and the new file was transferred to a 3.5
inch diskette.

The patch seems to work since the code tests the floppy controller directly
further down.

--

-----
Hans Nasten                     Palsundsgatan 3 B
Everyware Mikrodata AB          S-117 31 STOCKHOLM
Email : nasten@everyware.se
----------------------------------------------------------------------------
----------------------------------------------------------------------------
From: ejh@slustl.uucp (Eric J. Haug)
Newsgroups: comp.unix.bsd
Subject: fix for /sys/i386/stand/srt0.c
Date: 19 Apr 92 19:26:36 GMT
Organization: St. Louis Univ.

This patch fixes the symptom of booting from a floppy
and having the kernel mount the hard drive root and swap.

*** srt0.c      Sun Apr 19 14:21:14 1992
--- srt0.c~     Sat Apr 18 07:28:09 1992
***************
*** 87,91 ****
  #ifdef REL
!       leal    0(%esp) ,%eax   /* old pc popped by ret in XXbootblk */
        /* copy down boot parameters */
-       movl    $ RELOC -4*4,%esp
        movl    %esp,%ebx
--- 87,91 ----
  #ifdef REL
!       leal    4(%esp),%eax    /* ignore old pc */
!       movl    $ RELOC-4*4,%esp
        /* copy down boot parameters */
        movl    %esp,%ebx
***************
*** 95,97 ****
        call    _bcopy
!       addl    $12, %esp
  #else
--- 95,97 ----
        call    _bcopy
!       movl    %ebx,%esp
  #else
***************
*** 105,106 ****
--- 105,107 ----

+       movl    %esp,%esi
  #ifdef        REL
***************
*** 117,119 ****
        call    _bzero
-       addl    $8, %esp

--- 118,119 ----
***************
*** 122,127 ****
         */
!       movl    $64*1024,%ebx
!       movl    %esp,%eax
        subl    %ebx,%eax
!       subl    $6*4,%ebx       # save three boot items, 2 params and return
        pushl   %ebx
--- 122,126 ----
         */
!       movl    %esi,%eax
        subl    %ebx,%eax
!       subl    $5*4,%ebx
        pushl   %ebx
***************
*** 129,131 ****
        call    _bzero
-       addl    $8, %esp
  #else
--- 128,129 ----
***************
*** 138,139 ****
--- 136,138 ----
  #endif
+       /*movl  %esi,%esp*/
--------------------------------------------------------------------------
--
     Matsusita Information Systems Research Laboratory Nagoya Co.,Ltd.
      Development Division   Koji Okafuji   okafuji@miln.mei.co.jp
         Tel +81-52-232-0058  Fax +81-52-232-0028 JE2EGZ
Newsgroups: fj.followup