home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.unix.bsd
- Path: sparky!uunet!super!rminnich
- From: rminnich@super.org (Ronald G Minnich)
- Subject: wdbootblk.c
- Message-ID: <1992Jul24.173003.12119@super.org>
- Sender: news@super.org (USENET News System)
- Nntp-Posting-Host: b117
- Organization: Supercomputing Research Center (Bowie, MD)
- Date: Fri, 24 Jul 1992 17:30:03 GMT
- Lines: 39
-
-
- on 0.0, i was looking at wdbootblk.c to see why i could not boot a
- > 400k kernel. Now this may not apply to 0.1 source, i don't have that up
- yet, but it is interesting. My copy of wdbootblk.c copies itself up to 0x70000
- so that there is room for the kernel, but:
- reloc:
- movl $ BIOSRELOC,%esi
- movl $ RELOC,%edi
- movl $512,%ecx
- rep
- movsb
- movl $0x60000,%esp
- pushl $dodisk
- ret
-
- note that the stack is set up at 0x60000, which is below the end address
- of a kernel bigger than 393216 bytes! once we read in the kernel
- the stack is now hash. I expect that this is the cause of my
- woe. Anyone see a problem putting the stack at RELOC? i.e. stack top is
- at RELOC, which is ok as the first thing we do is a pushl.
-
- so it might look like:
- reloc:
- movl $ BIOSRELOC,%esi
- movl $ RELOC,%edi
- movl $512,%ecx
- rep
- movsb
- movl $ RELOC, %esp
- pushl $dodisk
- ret
-
-
- ron
- --
- --------------------------------------------------------------------------------
- satisfaction: the feeling you get when you | rminnich@super.org
- run newfs on a DOS disk so you can install 386BSD.| (301)-805-7451
- Now if only I could do this to AIX on the RS/6k ...|
-