1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-31 16:57:10 +00:00

New and improved version from the author.

Submitted by:	DI. Christian Gusenbauer <cg@fimp01.fim.uni-linz.ac.at>
This commit is contained in:
Poul-Henning Kamp 1995-04-27 18:22:36 +00:00
parent 7203d1e933
commit 886b0df400
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=8110
13 changed files with 684 additions and 583 deletions

View File

@ -55,10 +55,10 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <process.h>
#include <memory.h>
#include "bootinfo.h"
#include "protmod.h"
#include "param.h"
#include "boot.h"
#include "bootinfo.h"
#include "reboot.h"
#include "exec.h"
@ -85,40 +85,42 @@ void pbzero(unsigned long addr, unsigned long size)
}
}
static long loadprog(int howto, long *hsize)
static long loadprog(long *hsize)
{
long int addr; /* physical address.. not directly useable */
long int hmaddress;
int i;
long addr; /* physical address.. not directly useable */
long hmaddress;
unsigned long pad;
long i;
static int (*x_entry)() = 0;
argv[3] = 0;
argv[4] = 0;
ufs_read(&head, (long) sizeof(head));
if ( N_BADMAG(head)) {
if (N_BADMAG(head)) {
printf("Invalid format!\n");
exit(0);
}
poff = N_TXTOFF(head);
startaddr = (long)head.a_entry;
addr = (startaddr & 0x00ffffffl); /* some MEG boundary */
printf("Booting @ 0x%lx\n", addr);
if(addr < 0x100000l)
{
printf("kernel linked for wrong address!\n");
printf("Only hope is to link the kernel for > 1MB\n");
printf("Start address too low!\n");
exit(0);
}
poff = N_TXTOFF(head)+head.a_text+head.a_data+head.a_syms;
ufs_read((void *)&i, sizeof(long));
*hsize = head.a_text+head.a_data+head.a_bss;
*hsize = (*hsize+NBPG-1)&~(NBPG-1);
*hsize += i+4+head.a_syms;
addr=hmaddress=get_high_memory(*hsize);
if (!hmaddress) {
printf("Sorry, can't allocate enough memory!\n");
exit(0);
}
poff = N_TXTOFF(head);
/********************************************************/
/* LOAD THE TEXT SEGMENT */
/********************************************************/
@ -142,83 +144,61 @@ static long loadprog(int howto, long *hsize)
/********************************************************/
printf("bss=0x%lx ", head.a_bss);
pbzero(addr, head.a_bss);
argv[3] = (addr += head.a_bss);
argv[3] += -hmaddress+0x100000l;
addr += head.a_bss;
/* Pad to a page boundary. */
pad = (unsigned long)(addr-hmaddress+(startaddr & 0x00ffffffl)) % NBPG;
if (pad != 0) {
pad = NBPG - pad;
addr += pad;
}
bootinfo.bi_symtab = addr-hmaddress+(startaddr & 0x00ffffffl);
/********************************************************/
/* and note the end address of all this */
/* Copy the symbol table size */
/********************************************************/
pm_copy((char *)&head.a_syms, addr, sizeof(head.a_syms));
addr += sizeof(head.a_syms);
addr = addr-hmaddress+0x100000l;
argv[4] = ((addr+(long) sizeof(long)-1l))&~((long)sizeof(long)-1l);
printf("total=0x%lx ",argv[4]);
/********************************************************/
/* Load the symbol table */
/********************************************************/
printf("symbols=[+0x%lx+0x%lx+0x%lx", pad, (long) sizeof(head.a_syms),
(long) head.a_syms);
xread(addr, head.a_syms);
addr += head.a_syms;
/********************************************************/
/* Load the string table size */
/********************************************************/
ufs_read((void *)&i, sizeof(long));
pm_copy((char *)&i, addr, sizeof(long));
i -= sizeof(long);
addr += sizeof(long);
/********************************************************/
/* Load the string table */
/********************************************************/
printf("+0x%x+0x%lx] ", sizeof(long), i);
xread(addr, i);
addr += i;
bootinfo.bi_esymtab = addr-hmaddress+(startaddr & 0x00ffffffl);
/*
* We now pass the various bootstrap parameters to the loaded
* image via the argument list
* (THIS IS A BIT OF HISTORY FROM MACH.. LEAVE FOR NOW)
* arg1 = boot flags
* arg2 = boot device
* arg3 = start of symbol table (0 if not loaded)
* arg4 = end of symbol table (0 if not loaded)
* arg5 = transfer address from image
* arg6 = transfer address for next image pointer
* For backwards compatibility, use the previously-unused adaptor
* and controller bitfields to hold the slice number.
*/
switch(maj)
{
case 2:
printf("\n\nInsert file system floppy in drive A or B\n");
printf("Press 'A', 'B' or any other key for the default ");
printf("%c: ", unit+'A');
i = _getche();
if (i=='0' || i=='A' || i=='a')
unit = 0;
if (i=='1' || i=='B' || i=='b')
unit = 1;
printf("\n");
break;
case 4:
break;
}
argv[1] = howto;
argv[2] = (MAKEBOOTDEV(maj, (slice>>4), (slice&0xf), unit, part)) ;
argv[5] = (head.a_entry &= 0xfffffff);
argv[6] = (long) &x_entry;
argv[0] = 8;
printf("total=0x%lx entry point=0x%lx\n",
addr-hmaddress+(startaddr & 0x00ffffffl),
startaddr & 0x00ffffffl);
printf("entry point=0x%lx\n" ,((long)startaddr) & 0xffffff);
return hmaddress;
}
static unsigned int memsize(int x)
void bsdboot(int drive, long loadflags, char *kernel)
{
unsigned int rt=0;
switch (x) {
case 1:
_asm {
mov bl,1
mov ah,88h
int 15h
mov rt,ax
}
break;
default:
_asm {
int 12h
mov rt,ax
}
break;
}
return rt;
}
void bsdboot(int drive, int loadflags, char *kernel)
{
long hmaddress, size;
argv[7] = memsize(0);
argv[8] = memsize(1);
long hmaddress, size, bootdev;
/***************************************************************\
* As a default set it to the first partition of the first *
@ -231,6 +211,8 @@ void bsdboot(int drive, int loadflags, char *kernel)
printf("Can't find %s\n", kernel);
exit(0);
}
hmaddress = loadprog(loadflags, &size);
startprog(hmaddress, size, ((long)startaddr & 0xffffffl), argv);
hmaddress = loadprog(&size);
bootdev = MAKEBOOTDEV(maj, (slice >> 4), slice & 0xf, unit, part);
startprog(hmaddress, size, ((long)startaddr & 0xffffffl),
loadflags | RB_BOOTINFO, bootdev);
}

View File

@ -38,5 +38,5 @@ extern struct fs *fs;
extern struct inode inode;
extern long dosdev, slice, unit, part, maj, boff, poff, bnum, cnt;
extern void bsdboot(int d, int howto, char *kernel);
extern void bsdboot(int d, long howto, char *kernel);
extern void pbzero(unsigned long addr, unsigned long size);

View File

@ -35,16 +35,35 @@
#ifndef _MACHINE_BOOTINFO_H_
#define _MACHINE_BOOTINFO_H_
#define N_BIOS_GEOM 8
struct bootinfo_t {
unsigned long version;
unsigned char *kernelname;
void *nfs_diskless;
unsigned long n_bios_used;
unsigned long bios_geom[N_BIOS_GEOM];
/* Only change the version number if you break compatibility. */
#define BOOTINFO_VERSION 1
#define N_BIOS_GEOM 8
/*
* A zero bootinfo field often means that there is no info available.
* Flags are used to indicate the validity of fields where zero is a
* normal value.
*/
struct bootinfo {
unsigned long bi_version;
unsigned char *bi_kernelname;
void *bi_nfs_diskless;
/* End of fields that are always present. */
#define bi_endcommon bi_n_bios_used
unsigned long bi_n_bios_used;
unsigned long bi_bios_geom[N_BIOS_GEOM];
unsigned long bi_size;
unsigned char bi_memsizes_valid;
unsigned char bi_pad[3];
unsigned long bi_basemem;
unsigned long bi_extmem;
unsigned long bi_symtab;
unsigned long bi_esymtab;
};
#ifdef KERNEL
extern struct bootinfo_t bootinfo;
extern struct bootinfo bootinfo;
#endif
#endif /* _MACHINE_BOOTINFO_H_ */

View File

@ -36,6 +36,7 @@
#include "dkbad.h"
#endif
#include "disklabe.h"
#include "diskslic.h"
#define BIOS_DEV_FLOPPY 0x0
#define BIOS_DEV_WIN 0x80
@ -62,8 +63,6 @@ long dosdev, slice, unit, part, maj, boff, poff, bnum, cnt;
extern int biosread(int dev, int track, int head, int sector, int cnt, unsigned char far *buffer);
/*#define EMBEDDED_DISKLABEL 1*/
/*extern struct disklabel disklabel;*/
struct disklabel disklabel;
static void Bread(int dosdev, long sector);
@ -129,10 +128,11 @@ int devopen(void)
Bread(dosdev, 0);
dptr = (struct dos_partition *)(((char *)I_ADDR)+DOSPARTOFF);
sector = LABELSECTOR;
slice = WHOLE_DISK_SLICE;
for (i = 0; i < NDOSPART; i++, dptr++)
if (dptr->dp_typ == DOSPTYP_386BSD) {
slice = BASE_SLICE + i;
sector = dptr->dp_start + LABELSECTOR;
slice = i+1;
break;
}
Bread(dosdev, sector++);
@ -161,10 +161,20 @@ int devopen(void)
long dkbbnum;
struct dkbad *dkbptr;
/* find the first readable bad144 sector */
/* some of this code is copied from ufs/disk_subr.c */
/* find the first readable bad sector table */
/* some of this code is copied from ufs/ufs_disksubr.c */
/* including the bugs :-( */
/* read a bad sector table */
dkbbnum = dl->d_secperunit - dl->d_nsectors;
#define BAD144_PART 2 /* XXX scattered magic numbers */
#define BSD_PART 0 /* XXX should be 2 but bad144.c uses 0 */
if (dl->d_partitions[BSD_PART].p_offset != 0)
dkbbnum = dl->d_partitions[BAD144_PART].p_offset
+ dl->d_partitions[BAD144_PART].p_size;
else
dkbbnum = dl->d_secperunit;
dkbbnum -= dl->d_nsectors;
if (dl->d_secsize > DEV_BSIZE)
dkbbnum *= dl->d_secsize / DEV_BSIZE;
else

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)dkbad.h 8.1 (Berkeley) 6/2/93
* $Id: dkbad.h,v 1.4 1994/12/11 23:20:50 bde Exp $
* $Id: dkbad.h,v 1.5 1995/04/15 23:21:28 bde Exp $
*/
#ifndef _SYS_DKBAD_H_
@ -60,6 +60,7 @@
#define DKBAD_MAGIC 0x4321 /* normal value for bt_flag */
#define DKBAD_MAXBAD 126 /* maximum bad sectors supported */
#define DKBAD_NOCYL 0xffff /* cylinder to mark end of disk table */
#define DKBAD_NOTRKSEC 0xffff /* track/sector to mark end */
struct dkbad {
long bt_csn; /* cartridge serial number */
@ -77,7 +78,7 @@ struct dkbad {
#define CONT 3
#ifdef KERNEL
include <sys/conf.h>
#include <sys/conf.h>
#define DKBAD_NOSECT (-1) /* sector to mark end of core table */

View File

@ -86,44 +86,47 @@ static void dosxread(FILE *fp, unsigned long addr, long size)
}
}
static long loadprog(FILE *fp, int howto, long *hsize)
static long loadprog(FILE *fp, long *hsize)
{
long int addr; /* physical address.. not directly useable */
long int hmaddress;
long int hmaddress, pad, i;
static int (*x_entry)() = 0;
argv[3] = 0;
argv[4] = 0;
fread(&head, sizeof(head), 1, fp);
fseek(fp, 4096-sizeof(head), 1);
if ( N_BADMAG(head)) {
if (N_BADMAG(head)) {
printf("Invalid format!\n");
exit(0);
}
poff = N_TXTOFF(head);
startaddr = (long)head.a_entry;
addr = (startaddr & 0x00ffffffl); /* some MEG boundary */
printf("Booting @ 0x%lx\n", addr);
if(addr < 0x100000l)
{
printf("kernel linked for wrong address!\n");
printf("Only hope is to link the kernel for > 1MB\n");
printf("Start address too low!\n");
exit(0);
}
poff = N_TXTOFF(head)+head.a_text+head.a_data+head.a_syms;
fseek(fp, poff, 0);
fread(&i, sizeof(i), 1, fp);
*hsize = head.a_text+head.a_data+head.a_bss;
*hsize = (*hsize+NBPG-1)&~(NBPG-1);
*hsize += i+4+head.a_syms;
addr=hmaddress=get_high_memory(*hsize);
if (!hmaddress) {
printf("Sorry, can't allocate enough memory!\n");
exit(0);
}
printf("text=0x%lx ", head.a_text);
poff = N_TXTOFF(head);
fseek(fp, poff, 0);
/********************************************************/
/* LOAD THE TEXT SEGMENT */
/********************************************************/
printf("text=0x%lx ", head.a_text);
dosxread(fp, addr, head.a_text);
addr += head.a_text;
@ -143,41 +146,61 @@ static long loadprog(FILE *fp, int howto, long *hsize)
/********************************************************/
printf("bss=0x%lx ", head.a_bss);
pbzero(addr, head.a_bss);
argv[3] = (addr += head.a_bss);
argv[3] += -hmaddress+0x100000l;
addr += head.a_bss;
/* Pad to a page boundary. */
pad = (unsigned long)(addr-hmaddress+(startaddr & 0x00ffffffl)) % NBPG;
if (pad != 0) {
pad = NBPG - pad;
addr += pad;
}
bootinfo.bi_symtab = addr-hmaddress+(startaddr & 0x00ffffffl);
/********************************************************/
/* and note the end address of all this */
/* Copy the symbol table size */
/********************************************************/
pm_copy((char *)&head.a_syms, addr, sizeof(head.a_syms));
addr += sizeof(head.a_syms);
addr = addr-hmaddress+0x100000l;
argv[4] = ((addr+(long) sizeof(long)-1l))&~((long)sizeof(long)-1l);
printf("total=0x%lx ",argv[4]);
/********************************************************/
/* Load the symbol table */
/********************************************************/
printf("symbols=[+0x%lx+0x%lx+0x%lx", pad, (long) sizeof(head.a_syms),
(long) head.a_syms);
dosxread(fp, addr, head.a_syms);
addr += head.a_syms;
/********************************************************/
/* Load the string table size */
/********************************************************/
fread((void *)&i, sizeof(long), 1, fp);
pm_copy((char *)&i, addr, sizeof(long));
i -= sizeof(long);
addr += sizeof(long);
/********************************************************/
/* Load the string table */
/********************************************************/
printf("+0x%x+0x%lx] ", sizeof(long), i);
dosxread(fp, addr, i);
addr += i;
bootinfo.bi_esymtab = addr-hmaddress+(startaddr & 0x00ffffffl);
/*
* We now pass the various bootstrap parameters to the loaded
* image via the argument list
* (THIS IS A BIT OF HISTORY FROM MACH.. LEAVE FOR NOW)
* arg1 = boot flags
* arg2 = boot device
* arg3 = start of symbol table (0 if not loaded)
* arg4 = end of symbol table (0 if not loaded)
* arg5 = transfer address from image
* arg6 = transfer address for next image pointer
* For backwards compatibility, use the previously-unused adaptor
* and controller bitfields to hold the slice number.
*/
argv[1] = howto;
argv[2] = (MAKEBOOTDEV(maj, (slice>>4), (slice&0xf), unit, part)) ;
argv[5] = (head.a_entry &= 0xfffffff);
argv[6] = (long) &x_entry;
argv[0] = 8;
printf("total=0x%lx entry point=0x%lx\n",
addr-hmaddress+(startaddr & 0x00ffffffl),
startaddr & 0x00ffffffl);
printf("entry point=0x%lx\n" ,((long)startaddr) & 0xffffff);
return hmaddress;
}
void dosboot(int howto, char *kernel)
void dosboot(long howto, char *kernel)
{
long hmaddress, size;
long hmaddress, size, bootdev;
FILE *fp;
fp = fopen(kernel, "rb"); /* open kernel for reading */
@ -185,8 +208,10 @@ void dosboot(int howto, char *kernel)
fprintf(stderr, "Sorry, can't open %s!\n", kernel);
return;
}
hmaddress = loadprog(fp, howto, &size);
hmaddress = loadprog(fp, &size);
fclose(fp);
startprog(hmaddress, size, (startaddr & 0xffffffl), argv);
}
bootdev = MAKEBOOTDEV(maj, (slice >> 4), slice & 0xf, unit, part);
startprog(hmaddress, size, ((long)startaddr & 0xffffffl),
howto | RB_BOOTINFO, bootdev);
}

View File

@ -15,4 +15,4 @@
* USE OF THIS SOFTWARE.
*
*/
void dosboot(int howto, char *kernel);
void dosboot(long howto, char *kernel);

View File

@ -26,14 +26,14 @@
#include "protmod.h"
#define MAV 1
#define MIV 5
#define MIV 7
#define ptr2pa(x) (((((long)(x))&0xffff0000l)>>12l)+(((long)(x))&0xffffl))
static void usage(char *name)
{
fprintf(stderr, "FreeBSD boot Version %d.%d\n", MAV, MIV);
fprintf(stderr, "(c) 1994 Christian Gusenbauer, cg@fimp01.fim.uni-linz.ac.at\n\n");
fprintf(stderr, "(c) 1994, 1995 Christian Gusenbauer,\n cg@fimp01.fim.uni-linz.ac.at\n\n");
fprintf(stderr, "usage: %s [ options ] [ kernelname ]\n", name);
fprintf(stderr, "where options are:\n");
fprintf(stderr, "\t-r ... use compiled-in rootdev\n");
@ -42,15 +42,40 @@ static void usage(char *name)
fprintf(stderr, "\t-d ... give control to kernel debugger\n");
fprintf(stderr, "\t-c ... invoke user configuration routing\n");
fprintf(stderr, "\t-v ... print all potentially useful info\n");
fprintf(stderr, "\t-C ... use cdrom as root\n");
fprintf(stderr, "\t-D ... boot a kernel from a DOS medium\n");
fprintf(stderr, "\t (default: c:\\kernel)\n");
exit(1);
}
static unsigned int memsize(int x)
{
unsigned int rt=0;
switch (x) {
case 1:
_asm {
mov bl,1
mov ah,88h
int 15h
mov rt,ax
}
break;
default:
_asm {
int 12h
mov rt,ax
}
break;
}
return rt;
}
int main(int argc, char *argv[])
{
char *kernel="/kernel", *ptr;
int i, dos=0, howto=0;
int i, dos=0;
long howto=0;
extern unsigned long get_diskinfo(int);
VCPIboot = 0;
@ -70,6 +95,7 @@ int main(int argc, char *argv[])
case 'c': howto |= RB_CONFIG; break;
case 'd': howto |= RB_KDB; break;
case 'v': howto |= RB_VERBOSE; break;
case 'C': howto |= RB_CDROM; break;
case 'D': dos = 1; kernel = "c:\\kernel"; break;
case '?':
default: usage(argv[0]);
@ -78,11 +104,15 @@ int main(int argc, char *argv[])
}
}
bootinfo.version = 1;
bootinfo.nfs_diskless = 0;
bootinfo.kernelname = (char *) ptr2pa(kernel);
bootinfo.bi_version = BOOTINFO_VERSION;
for (i = 0; i < N_BIOS_GEOM; i++)
bootinfo.bios_geom[i] = get_diskinfo(0x80+i);
bootinfo.bi_bios_geom[i] = get_diskinfo(0x80+i);
bootinfo.bi_basemem = memsize(0);
bootinfo.bi_extmem = memsize(1);
bootinfo.bi_memsizes_valid = 0; /* that is not yet valid!! */
bootinfo.bi_kernelname = (char *) ptr2pa(kernel);
bootinfo.bi_nfs_diskless = NULL;
bootinfo.bi_size = sizeof(bootinfo);
if (dos)
dosboot(howto, kernel); /* boot given kernel from DOS partition */

View File

@ -1,18 +1,19 @@
begin 644 fbsdboot.exe
M35I!`"P`DP!````,___D#P`4```>`-<!'@````$`30(``#4"```1`@``Q@``
M`+T```"N````GP```)````"!````<@```&,```!4````10```#8````C````
M%````"0")0"6`"4`30<E`/0&)0#J!B4`T`8E`'\&)0!U!B4`908E`!@$)0#H
M`R4`T@,E`$D#J@#2`JH`EP*J`(\"J@!W`JH`:P*J`%$"J@`%`JH`[`&J`-L!
MJ@"_`:H`FP&J`(H!J@!Y`:H`;P&J`%,!J@`T`:H`*@&J`!X!J@`*`:H`P@"J
M`+@`J@",`*H`4P"J`"`$J@#L`ZH`X@.J`,X#J@"5`NP`5`+L`#$![``1!.P`
M^P/L`-T#[`"^`^P`W`(^`:<!/@%U`3X!3P`^`<D%/@&2!3X!-04^`68$/@&U
M`YP!E@.<`6T#G`%0`YP!+0.<`;8"G`%Z`IP!:0*<`3P"G`$@`IP!Z`&<`=<!
MG`'-`9P!L0&<`9(!G`&(`9P!?`&<`6@!G`$?`9P!%0&<`>D`G`'4`)P!CP"<
M`6X`G`$Y`)P!+`#7`<0`UP')`-<!T`#7`>L`UP$-`=<!+@'7`0````0L#@4$
M5@+7`=4%UP'Z!M<![0;7`=(&UP&Q!M<!E0;7`5L'UP%`!]<!&P?7`8<'UP$]
M"=<!#@`5!6`)UP%L"=<!C`X%!(8.!01"$`4$$PO7`3X+UP%A#-<!)`W7`:H.
MUP&##M<!(@[7`<<-UP&M%]<!O!`%!,`0!03$$`4$R!`%!,P0!030$`4$U!`%
M!&<9UP'C&=<!KQG7`64;UP$.&]<!.1K7`=<;UP&4']<!````````````````
begin 664 fbsdboot.exe
M35K7`2P`FP!```$,___^#P`4```8`/D!'@````$`L`(``)<"```+`@``U0``
M`,P```"]````K@```)\```"0````@0```'(```!C````5````$4````V````
M(P```!0````H`BL`F@`K`!@'*P`.!RL`]`8K`*,&*P"9!BL`B08K`!P$*P#L
M`RL`U@,K`'$'*P"?`[(`90.R`$X#L@`W`[(`(P.R``8#L@#N`K(`U@*R`&0"
ML@!+`K(`.@*R`!X"L@#V`;(`Y0&R`*X!L@"D`;(`B`&R`$<!L@#Z`+(`\`"R
M`-P`L@"Z`+(`L`"R`(0`L@!7`+(`8`2R`/@#L@#N`[(`V@.R`+4"^`!T`O@`
M-P'X`#$$^``;!/@`_0/X`-X#^`#<`DP!IP%,`74!3`%/`$P!R05,`9(%3`$U
M!4P!9@1,`;4#J@%V`ZH!7@.J`?P"J@'K`JH!O@*J`:("J@%F`JH!50*J`1\"
MJ@$5`JH!^0&J`;@!J@&A`:H!5`&J`4H!J@$V`:H!%`&J`0H!J@'>`*H!R0"J
M`8\`J@%N`*H!.0"J`>\$J@&9!*H!<P2J`58$J@$T!*H!X`.J`<D#J@$F`/D!
MO@#Y`<,`^0'*`/D!Y0#Y`0<!^0$H`?D!```?!-0-)`10`OD!SP7Y`?0&^0'G
M!OD!S`;Y`:L&^0&/!OD!50?Y`3H'^0$5!_D!@0?Y`3<)^0$$`"\%6@GY`68)
M^0$T#B0$+@XD!.H/)`0-"_D!.`OY`5L,^0$>#?D!I`[Y`7T.^0$<#OD!P0WY
M`:<7^0%D$"0$:!`D!&P0)`1P$"0$=!`D!'@0)`1\$"0$-1GY`;$9^0%]&?D!
M,QOY`=P:^0$'&OD!I1OY`6(?^0$`````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
@ -20,388 +21,399 @@ M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````%6+[&9H`0`'`!YH
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
M;G,@87)E.@H`"2UR("XN+B!U<V4@8V]M<&EL960M:6X@<F]O=&1E=@H`"2US
M("XN+B!R96)O;W0@=&\@<VEN9VQE('5S97(@;VYL>0H`"2UA("XN+B!A<VL@
M9F]R(&9I;&4@;F%M92!T;R!R96)O;W0@9G)O;0H`"2UD("XN+B!G:79E(&-O
M;G1R;VP@=&\@:V5R;F5L(&1E8G5G9V5R"@`)+6,@+BXN(&EN=F]K92!U<V5R
M(&-O;F9I9W5R871I;VX@<F]U=&EN9PH`"2UV("XN+B!P<FEN="!A;&P@<&]T
M96YT:6%L;'D@=7-E9G5L(&EN9F\*``DM0R`N+BX@=7-E(&-D<F]M(&%S(')O
M;W0*``DM1"`N+BX@8F]O="!A(&ME<FYE;"!F<F]M(&$@1$]3(&UE9&EU;0H`
M"2`@("`@("`H9&5F875L=#H@8SI<:V5R;F5L*0H`+VME<FYE;`!C.EQK97)N
M96P`````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````%6+[&9H`0`%`!YH
M0@`>:+@.FF('UP&+Y1YH7@`>:+@.FF('UP&+Y6;_=@8>:)P`'FBX#IIB!]<!
MB^4>:,(`'FBX#IIB!]<!B^4>:-8`'FBX#IIB!]<!B^4>:/<`'FBX#IIB!]<!
MB^4>:!L!'FBX#IIB!]<!B^4>:$4!'FBX#IIB!]<!B^4>:&X!'FBX#IIB!]<!
MB^4>:)D!'FBX#IIB!]<!B^4>:,0!'FBX#IIB!]<!B^4>:.T!'FBX#IIB!]<!
MB^5J`9KY`=<!R<O(%@``5U;'1O`+`HQ>\F8SP(E&[HE&]*/V>V:C:IVY`0`Y
M3@8/CLP`BT8(BU8*!00`B]B)5OB.1O@FQ#<F@#PM#X6@`(U\`8Q&_B:`/0`/
MA(4`B4[ZB5[VBW;T)HH%F#UV`'1<=PX\8W0^?Q@L1'0B+!UT+L1>"&8F_S<.
MZ+?^@\0$ZT`L9'0F+`YT*/[(="KKXL=&[@$`QT;P$P*,7O+K(Y"#S@'K'9"!
MS@`$ZQ:#SD#K$9"#SB#K"Y"#S@+K!9"!S@`(CD;^1R:`/0!UC8EV](M>]HM.
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
M8SI<:V5R;F5L````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````/__````G\\`__\```"3SP#__P```)Y``/__````DD``__\```">````
M``````````````````````````````````````````````````````#__P``
M`)_/`/__````D\\`__\```">0`#__P```))``/__````G@``````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
@ -447,48 +459,45 @@ M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````+P``````1P``````_P<`
M````<F(`14U-6%A86#``5D-022!S97)V:6-E<R!697)S:6]N("5D+B5D(&1E
M=&5C=&5D(0H`0V%N)W0@<W=I=&-H('1O('!R;W1E8W1E9"!M;V1E(0H`1VEV
M:6YG('5P(#HM*"$*`&YO="!E;F]U9V@@;65M;W)Y(0H``````$EN=F%L:60@
M9F]R;6%T(0H`0F]O=&EN9R!`(#!X)6QX"@!K97)N96P@;&EN:V5D(&9O<B!W
M<F]N9R!A9&1R97-S(0H`3VYL>2!H;W!E(&ES('1O(&QI;FL@=&AE(&ME<FYE
M;"!F;W(@/B`Q34(*`%-O<G)Y+"!C86XG="!A;&QO8V%T92!E;F]U9V@@;65M
M;W)Y(0H`=&5X=#TP>"5L>"````!D871A/3!X)6QX(`!B<W,],'@E;'@@`'1O
M=&%L/3!X)6QX(``*"DEN<V5R="!F:6QE('-Y<W1E;2!F;&]P<'D@:6X@9')I
M=F4@02!O<B!""@!0<F5S<R`G02<L("=")R!O<B!A;GD@;W1H97(@:V5Y(&9O
M<B!T:&4@9&5F875L="``)6,Z(``*`&5N=')Y('!O:6YT/3!X)6QX"@!#86XG
M="!F:6YD("5S"@!B860@9&ES:VQA8F5L`$)A9"!B861S96-T('1A8FQE"@!5
M<VEN9R!B860Q-#0@8F%D('-E8W1O<B!A="`E;&0*`$5R<F]R.B!#.B5D($@Z
M)60@4SHE9`H```````````!);G9A;&ED(&9O<FUA="$*`$)O;W1I;F<@0"`P
M>"5L>`H`:V5R;F5L(&QI;FME9"!F;W(@=W)O;F<@861D<F5S<R$*`$]N;'D@
M:&]P92!I<R!T;R!L:6YK('1H92!K97)N96P@9F]R(#X@,4U""@!3;W)R>2P@
M8V%N)W0@86QL;V-A=&4@96YO=6=H(&UE;6]R>2$*`'1E>'0],'@E;'@@````
M9&%T83TP>"5L>"``8G-S/3!X)6QX(`!T;W1A;#TP>"5L>"``96YT<GD@<&]I
M;G0],'@E;'@*`')B`%-O<G)Y+"!C86XG="!O<&5N("5S(0H``````@`````%
M``````````````````````````````!?0U]&24Q%7TE.1D\]````````````
M`````````````````````````````!0`@8&!`0$`````````````````````
M````````````;@X!!```````````````````_____S"_```````6`@(8#0D,
M#`P'"!86_P(-$@+_7`!<``````````````````$```````````````(!````
M``````````("M0\!!```M0\!!(0#``````````````($````````````````
M`````````````````````````````"\``````$<``````/\'`````')B`$5-
M35A86%@P`%9#4$D@<V5R=FEC97,@5F5R<VEO;B`E9"XE9"!D971E8W1E9"$*
M`$-A;B=T('-W:71C:"!T;R!P<F]T96-T960@;6]D92$*`$=I=FEN9R!U<"`Z
M+2@A"@!N;W0@96YO=6=H(&UE;6]R>2$*``````!);G9A;&ED(&9O<FUA="$*
M`$)O;W1I;F<@0"`P>"5L>`H`4W1A<G0@861D<F5S<R!T;V\@;&]W(0H`4V]R
M<GDL(&-A;B=T(&%L;&]C871E(&5N;W5G:"!M96UO<GDA"@!T97AT/3!X)6QX
M(````&1A=&$],'@E;'@@`&)S<STP>"5L>"``<WEM8F]L<SU;*S!X)6QX*S!X
M)6QX*S!X)6QX`"LP>"5X*S!X)6QX72``=&]T86P],'@E;'@@96YT<GD@<&]I
M;G0],'@E;'@*`$-A;B=T(&9I;F0@)7,*``!B860@9&ES:VQA8F5L`$)A9"!B
M861S96-T('1A8FQE"@!5<VEN9R!B860Q-#0@8F%D('-E8W1O<B!A="`E;&0*
M`$5R<F]R.B!#.B5D($@Z)60@4SHE9`H```````````!);G9A;&ED(&9O<FUA
M="$*`$)O;W1I;F<@0"`P>"5L>`H`4W1A<G0@861D<F5S<R!T;V\@;&]W(0H`
M4V]R<GDL(&-A;B=T(&%L;&]C871E(&5N;W5G:"!M96UO<GDA"@!T97AT/3!X
M)6QX(````&1A=&$],'@E;'@@`&)S<STP>"5L>"``<WEM8F]L<SU;*S!X)6QX
M*S!X)6QX*S!X)6QX`"LP>"5X*S!X)6QX72``=&]T86P],'@E;'@@96YT<GD@
M<&]I;G0],'@E;'@*`')B`%-O<G)Y+"!C86XG="!O<&5N("5S(0H```#Z`0``
M```%``````````````````````````````!?0U]&24Q%7TE.1D\]````````
M`````````````````````````````````!0`@8&!`0$`````````````````
M````````````````%@X@!```````````````````_____^"^```````6`@(8
M#0D,#`P'"!86_P(-$@+_7`!<``````````````````$```````````````(!
M``````````````("70\@!```70\@!(0#``````````````($````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````!````````````````````````
M```````````````````````````````````````!````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````A`\!!`````````````````8```8``0``$``#!@`&`A`$145%!04%!04U
M,`!0`````"`@,%!8!P@`,#`P5U`'```@(```````"&!@8&!@8```<'!X>'AX
M"`<(```'``@("```"``(```(*&YU;&PI!@```````````"#.`M<!S@+7`<X"
MUP'.`M<!S@+7`<X"UP'.`M<!``````$!__\``````````````````````P``
M````\@#R`/(`````````````````````````6@G7`3P\3DU31SX^``!2-C`P
M,`T*+2!S=&%C:R!O=F5R9FQO=PT*``,`4C8P,#,-"BT@:6YT96=E<B!D:79I
M9&4@8GD@,`T*``D`4C8P,#D-"BT@;F]T(&5N;W5G:"!S<&%C92!F;W(@96YV
M:7)O;FUE;G0-"@#\``T*`/\`<G5N+71I;64@97)R;W(@``(`4C8P,#(-"BT@
M9FQO871I;F<M<&]I;G0@<W5P<&]R="!N;W0@;&]A9&5D#0H``0!2-C`P,0T*
?+2!N=6QL('!O:6YT97(@87-S:6=N;65N=`T*`/___V5D
M````````+`\@!`````````````````8```8``0``$``#!@`&`A`$145%!04%
M!04U,`!0`````"`@,%!8!P@`,#`P5U`'```@(```````"&!@8&!@8```<'!X
M>'AX"`<(```'``@("```"``(```(*&YU;&PI!@```````````"#(`OD!R`+Y
M`<@"^0'(`OD!R`+Y`<@"^0'(`OD!``````$!``````````````````````,`
M`````.P`[`#L`````````````````````````%0)^0$\/$Y-4T<^/@``4C8P
M,#`-"BT@<W1A8VL@;W9E<F9L;W<-"@`#`%(V,#`S#0HM(&EN=&5G97(@9&EV
M:61E(&)Y(#`-"@`)`%(V,#`Y#0HM(&YO="!E;F]U9V@@<W!A8V4@9F]R(&5N
M=FER;VYM96YT#0H`_``-"@#_`')U;BUT:6UE(&5R<F]R(``"`%(V,#`R#0HM
M(&9L;V%T:6YG+7!O:6YT('-U<'!O<G0@;F]T(&QO861E9`T*``$`4C8P,#$-
@"BT@;G5L;"!P;VEN=&5R(&%S<VEG;FUE;G0-"@#___]E
`
end

View File

@ -59,28 +59,35 @@ SBRS = FBSDBOOT.SBR \
FBSDBOOT_DEP = c:\src\fbsdboot\reboot.h \
c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\quota.h \
c:\src\fbsdboot\cdefs.h \
c:\src\fbsdboot\fs.h \
c:\src\fbsdboot\inode.h \
c:\src\fbsdboot\dinode.h \
c:\src\fbsdboot\dosboot.h
c:\src\fbsdboot\bootinfo.h \
c:\src\fbsdboot\dosboot.h \
c:\src\fbsdboot\protmod.h
PROTMOD_DEP = c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\quota.h \
c:\src\fbsdboot\cdefs.h \
c:\src\fbsdboot\fs.h \
c:\src\fbsdboot\inode.h \
c:\src\fbsdboot\dinode.h \
c:\src\fbsdboot\bootinfo.h \
c:\src\fbsdboot\protmod.h
BOOT_DEP = c:\src\fbsdboot\protmod.h \
BOOT_DEP = c:\src\fbsdboot\bootinfo.h \
c:\src\fbsdboot\protmod.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\quota.h \
@ -89,23 +96,28 @@ BOOT_DEP = c:\src\fbsdboot\protmod.h \
c:\src\fbsdboot\inode.h \
c:\src\fbsdboot\dinode.h \
c:\src\fbsdboot\reboot.h \
c:\src\fbsdboot\exec.h
c:\src\fbsdboot\exec.h \
c:\src\fbsdboot\mexec.h \
c:\src\fbsdboot\imgact.h
DISK_DEP = c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\quota.h \
c:\src\fbsdboot\cdefs.h \
c:\src\fbsdboot\fs.h \
c:\src\fbsdboot\inode.h \
c:\src\fbsdboot\dinode.h \
c:\src\fbsdboot\dkbad.h \
c:\src\fbsdboot\disklabe.h
SYS_DEP = c:\src\fbsdboot\protmod.h \
c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\quota.h \
c:\src\fbsdboot\cdefs.h \
@ -118,6 +130,7 @@ SYS_DEP = c:\src\fbsdboot\protmod.h \
DOSBOOT_DEP = c:\src\fbsdboot\protmod.h \
c:\src\fbsdboot\param.h \
c:\src\fbsdboot\sysparam.h \
c:\src\fbsdboot\syslimit.h \
c:\src\fbsdboot\boot.h \
c:\src\fbsdboot\quota.h \
@ -125,8 +138,11 @@ DOSBOOT_DEP = c:\src\fbsdboot\protmod.h \
c:\src\fbsdboot\fs.h \
c:\src\fbsdboot\inode.h \
c:\src\fbsdboot\dinode.h \
c:\src\fbsdboot\bootinfo.h \
c:\src\fbsdboot\reboot.h \
c:\src\fbsdboot\exec.h
c:\src\fbsdboot\exec.h \
c:\src\fbsdboot\mexec.h \
c:\src\fbsdboot\imgact.h
all: $(PROJ).EXE

View File

@ -96,7 +96,7 @@ static struct dtr FreeBSDGdtr = { sizeof FreeBSDGdt - 1, 0 };
static struct dtr Gdtr = { sizeof gdt2 - 1, 0 };
static struct dtr Idtr = { sizeof idt2 - 1, 0 };
struct bootinfo_t bootinfo;
struct bootinfo bootinfo;
int VCPIboot;
int pm_copy(char far *from, unsigned long to, unsigned long count)
@ -320,12 +320,13 @@ wehaveit: mov ax,4310h
return (long)hi*0x10000l+(long)lo + 128l*1024l;
}
void startprog(long hmaddress, long hmsize, long startaddr, long argv[])
void startprog(long hmaddress, long hmsize, long startaddr, long loadflags,
long bootdev)
{
long GDTaddr=ptr2lin(FreeBSDGdt);
long *stack=_MK_FP(0x9f00, 0); /* prepare stack for starting the kernel */
unsigned int pmseg, pmoff;
unsigned int segment, pcxoff, psioff;
unsigned int segment, pcxoff, psioff, pdioff;
long h, BOOTaddr, ourret;
unsigned char *page;
int status;
@ -357,6 +358,8 @@ void startprog(long hmaddress, long hmsize, long startaddr, long argv[])
mov pcxoff,bx
mov bx,offset psi
mov psioff,bx
mov bx,offset pdi
mov pdioff,bx
mov segment,ds
pop ds
@ -364,6 +367,7 @@ void startprog(long hmaddress, long hmsize, long startaddr, long argv[])
*((long *)_MK_FP(segment, pcxoff+1)) = hmsize;
*((long *)_MK_FP(segment, psioff+1)) = hmaddress;
*((long *)_MK_FP(segment, pdioff+1)) = startaddr;
h = ptr2lin(&VCPI);
@ -391,8 +395,8 @@ void startprog(long hmaddress, long hmsize, long startaddr, long argv[])
*stack++ = startaddr; /* that's the startaddress */
*stack++ = 8l; /* new CS */
*stack++ = ourret; /* ourreturn */
*stack++ = argv[1]; /* howto */
*stack++ = argv[2]; /* bootdev */
*stack++ = loadflags; /* howto */
*stack++ = bootdev; /* bootdev */
*stack++ = 0l; /* Parameter 4 */
*stack++ = 0l; /* Parameter 5 */
*stack++ = 0l; /* Parameter 6 */
@ -571,7 +575,7 @@ psi: _emit 0beh ; mov si,0
_emit 0
_emit 0
_emit 0
_emit 0bfh ; mov di,0
pdi: _emit 0bfh ; mov di,0
_emit 0
_emit 0
_emit 0x10

View File

@ -15,7 +15,7 @@
* USE OF THIS SOFTWARE.
*
*/
extern struct bootinfo_t bootinfo;
extern struct bootinfo bootinfo;
extern int VCPIboot;
extern int pm_copy(char far *from, unsigned long to, unsigned long count);
@ -23,7 +23,8 @@ extern int pm_copy(char far *from, unsigned long to, unsigned long count);
* address "to" in the high-memory space.
*/
extern void startprog(long hmaddress, long size, long startaddr, long argv[]);
extern void startprog(long hmaddress, long size, long startaddr, long loadflags,
long bootdev);
/* startprog switches to protected mode, moves the kernel from hmaddress
* to 0x100000l and finally starts the kernel.
*/

View File

@ -56,6 +56,10 @@
#define RB_MINIROOT 0x200 /* mini-root present in memory at boot time */
#define RB_CONFIG 0x400 /* invoke user configuration routing */
#define RB_VERBOSE 0x800 /* print all potentially useful info */
#define RB_SERIAL 0x1000 /* user serial port as console */
#define RB_CDROM 0x2000 /* use cdrom as root */
#define RB_BOOTINFO 0x80000000 /* have `struct bootinfo *' arg */
/*
* Constants for converting boot-style device number to type,