Upgrade to GCC 2.X

This commit is contained in:
Paul Richards 1993-06-18 02:47:24 +00:00
parent 52768b912b
commit 7c434002a4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=8
5 changed files with 52 additions and 31 deletions

View File

@ -49,7 +49,7 @@
* 20 Apr 93 Bruce Evans New npx-0.5 code
* 25 Apr 93 Bruce Evans New intr-0.1 code
*/
static char rcsid[] = "$Header: /usr/src/sys.386bsd/i386/i386/RCS/machdep.c,v 1.2 92/01/21 14:22:09 william Exp Locker: root $";
static char rcsid[] = "$Header: /home/cvs/386BSD/src/sys.386bsd/i386/i386/machdep.c,v 1.1.1.1 93/06/12 14:58:06 rgrimes Exp $";
#include <stddef.h>
@ -85,6 +85,10 @@ extern vm_offset_t avail_end;
#define EXPECT_BASEMEM 640 /* The expected base memory*/
#define INFORM_WAIT 1 /* Set to pause berfore crash in weird cases*/
#if __GNUC__ >= 2
__main(){}
#endif
/*
* Declare these as initialized data so we can patch them.
*/
@ -653,6 +657,7 @@ setregs(p, entry)
/*
* Initialize segments & interrupt table
*/
#define DESCRIPTOR_SIZE 8
#define GNULL_SEL 0 /* Null Descriptor */
@ -664,13 +669,13 @@ setregs(p, entry)
#define GPROC0_SEL 6 /* Task state process slot zero and up */
#define NGDT GPROC0_SEL+1
union descriptor gdt[GPROC0_SEL+1];
unsigned char gdt[GPROC0_SEL+1][DESCRIPTOR_SIZE];
/* interrupt descriptor table */
struct gate_descriptor idt[NIDT];
/* local descriptor table */
union descriptor ldt[5];
unsigned char ldt[5][DESCRIPTOR_SIZE];
#define LSYS5CALLS_SEL 0 /* forced by intel BCS */
#define LSYS5SIGR_SEL 1
@ -831,7 +836,7 @@ init386(first)
struct gate_descriptor *gdp;
extern int sigcode,szsigcode;
/* table descriptors - used to load tables by microp */
struct region_descriptor r_gdt, r_idt;
unsigned short r_gdt[3], r_idt[3];
int pagesinbase, pagesinext;
@ -845,12 +850,12 @@ init386(first)
/* make gdt memory segments */
gdt_segs[GCODE_SEL].ssd_limit = btoc((int) &etext + NBPG);
for (x=0; x < NGDT; x++) ssdtosd(gdt_segs+x, gdt+x);
for (x=0; x < NGDT; x++) ssdtosd(gdt_segs+x, &gdt[x][0]);
/* make ldt memory segments */
ldt_segs[LUCODE_SEL].ssd_limit = btoc(UPT_MIN_ADDRESS);
ldt_segs[LUDATA_SEL].ssd_limit = btoc(UPT_MIN_ADDRESS);
/* Note. eventually want private ldts per process */
for (x=0; x < 5; x++) ssdtosd(ldt_segs+x, ldt+x);
for (x=0; x < 5; x++) ssdtosd(ldt_segs+x, &ldt[x][0]);
/* exceptions */
setidt(0, &IDTVEC(div), SDT_SYS386TGT, SEL_KPL);
@ -891,11 +896,13 @@ init386(first)
isa_defaultirq();
#endif
r_gdt.rd_limit = sizeof(gdt)-1;
r_gdt.rd_base = (int) gdt;
r_gdt[0] = (unsigned short) (sizeof(gdt) - 1);
r_gdt[1] = (unsigned short) ((int) gdt & 0xffff);
r_gdt[2] = (unsigned short) ((int) gdt >> 16);
lgdt(&r_gdt);
r_idt.rd_limit = sizeof(idt)-1;
r_idt.rd_base = (int) idt;
r_idt[0] = (unsigned short) (sizeof(idt) - 1);
r_idt[1] = (unsigned short) ((int) idt & 0xfffff);
r_idt[2] = (unsigned short) ((int) idt >> 16);
lidt(&r_idt);
lldt(GSEL(GLDT_SEL, SEL_KPL));
@ -975,7 +982,7 @@ init386(first)
ltr(_gsel_tss);
/* make a call gate to reenter kernel with */
gdp = &ldt[LSYS5CALLS_SEL].gd;
gdp = (struct gate_descriptor *) &ldt[LSYS5CALLS_SEL][0];
x = (int) &IDTVEC(syscall);
gdp->gd_looffset = x++;

View File

@ -49,7 +49,7 @@
* 20 Apr 93 Bruce Evans New npx-0.5 code
* 25 Apr 93 Bruce Evans New intr-0.1 code
*/
static char rcsid[] = "$Header: /usr/src/sys.386bsd/i386/i386/RCS/machdep.c,v 1.2 92/01/21 14:22:09 william Exp Locker: root $";
static char rcsid[] = "$Header: /home/cvs/386BSD/src/sys.386bsd/i386/i386/machdep.c,v 1.1.1.1 93/06/12 14:58:06 rgrimes Exp $";
#include <stddef.h>
@ -85,6 +85,10 @@ extern vm_offset_t avail_end;
#define EXPECT_BASEMEM 640 /* The expected base memory*/
#define INFORM_WAIT 1 /* Set to pause berfore crash in weird cases*/
#if __GNUC__ >= 2
__main(){}
#endif
/*
* Declare these as initialized data so we can patch them.
*/
@ -653,6 +657,7 @@ setregs(p, entry)
/*
* Initialize segments & interrupt table
*/
#define DESCRIPTOR_SIZE 8
#define GNULL_SEL 0 /* Null Descriptor */
@ -664,13 +669,13 @@ setregs(p, entry)
#define GPROC0_SEL 6 /* Task state process slot zero and up */
#define NGDT GPROC0_SEL+1
union descriptor gdt[GPROC0_SEL+1];
unsigned char gdt[GPROC0_SEL+1][DESCRIPTOR_SIZE];
/* interrupt descriptor table */
struct gate_descriptor idt[NIDT];
/* local descriptor table */
union descriptor ldt[5];
unsigned char ldt[5][DESCRIPTOR_SIZE];
#define LSYS5CALLS_SEL 0 /* forced by intel BCS */
#define LSYS5SIGR_SEL 1
@ -831,7 +836,7 @@ init386(first)
struct gate_descriptor *gdp;
extern int sigcode,szsigcode;
/* table descriptors - used to load tables by microp */
struct region_descriptor r_gdt, r_idt;
unsigned short r_gdt[3], r_idt[3];
int pagesinbase, pagesinext;
@ -845,12 +850,12 @@ init386(first)
/* make gdt memory segments */
gdt_segs[GCODE_SEL].ssd_limit = btoc((int) &etext + NBPG);
for (x=0; x < NGDT; x++) ssdtosd(gdt_segs+x, gdt+x);
for (x=0; x < NGDT; x++) ssdtosd(gdt_segs+x, &gdt[x][0]);
/* make ldt memory segments */
ldt_segs[LUCODE_SEL].ssd_limit = btoc(UPT_MIN_ADDRESS);
ldt_segs[LUDATA_SEL].ssd_limit = btoc(UPT_MIN_ADDRESS);
/* Note. eventually want private ldts per process */
for (x=0; x < 5; x++) ssdtosd(ldt_segs+x, ldt+x);
for (x=0; x < 5; x++) ssdtosd(ldt_segs+x, &ldt[x][0]);
/* exceptions */
setidt(0, &IDTVEC(div), SDT_SYS386TGT, SEL_KPL);
@ -891,11 +896,13 @@ init386(first)
isa_defaultirq();
#endif
r_gdt.rd_limit = sizeof(gdt)-1;
r_gdt.rd_base = (int) gdt;
r_gdt[0] = (unsigned short) (sizeof(gdt) - 1);
r_gdt[1] = (unsigned short) ((int) gdt & 0xffff);
r_gdt[2] = (unsigned short) ((int) gdt >> 16);
lgdt(&r_gdt);
r_idt.rd_limit = sizeof(idt)-1;
r_idt.rd_base = (int) idt;
r_idt[0] = (unsigned short) (sizeof(idt) - 1);
r_idt[1] = (unsigned short) ((int) idt & 0xfffff);
r_idt[2] = (unsigned short) ((int) idt >> 16);
lidt(&r_idt);
lldt(GSEL(GLDT_SEL, SEL_KPL));
@ -975,7 +982,7 @@ init386(first)
ltr(_gsel_tss);
/* make a call gate to reenter kernel with */
gdp = &ldt[LSYS5CALLS_SEL].gd;
gdp = (struct gate_descriptor *) &ldt[LSYS5CALLS_SEL][0];
x = (int) &IDTVEC(syscall);
gdp->gd_looffset = x++;

View File

@ -625,7 +625,7 @@ char * ea(struct trapframe * info, unsigned short code)
I387.fos = 0x17;
return (char *) offset;
}
tmp = & (long)REG(rm);
tmp = (long *) &REG(rm);
switch (mod) {
case 0: offset = 0; break;
case 1:

View File

@ -80,7 +80,7 @@
_cpl: .long 0xffff # current priority (all off)
.globl _imen
_imen: .long 0xffff # interrupt mask enable (all off)
# .globl _highmask
/* .globl _highmask */
_highmask: .long HIGHMASK
.globl _ttymask
_ttymask: .long 0

View File

@ -154,12 +154,12 @@ struct isa_driver wddriver = {
wdprobe, wdattach, "wd",
};
void wdustart(struct disk *);
void wdstart();
int wdcommand(struct disk *, int);
int wdcontrol(struct buf *);
int wdsetctlr(dev_t, struct disk *);
int wdgetctlr(int, struct disk *);
static void wdustart(struct disk *);
static void wdstart();
static int wdcommand(struct disk *, int);
static int wdcontrol(struct buf *);
static int wdsetctlr(dev_t, struct disk *);
static int wdgetctlr(int, struct disk *);
/*
* Probe for controller.
@ -423,7 +423,14 @@ wdstart()
*/
if ((du->dk_flags & (DKFL_SINGLE|DKFL_BADSECT)) /* 19 Aug 92*/
== (DKFL_SINGLE|DKFL_BADSECT))
for (bt_ptr = du->dk_bad.bt_bad; bt_ptr->bt_cyl != -1; bt_ptr++) {
/* XXX
* BAD144END was done to clean up some old bad code that was
* attempting to compare a u_short to -1. This makes the compilers
* happy and clearly shows what is going on.
* rgrimes 93/06/17
*/
#define BAD144END (u_short)(-1)
for (bt_ptr = du->dk_bad.bt_bad; bt_ptr->bt_cyl != BAD144END; bt_ptr++) {
if (bt_ptr->bt_cyl > cylin)
/* Sorted list, and we passed our cylinder. quit. */
break;