merge changes between OpenBSD-2.1 and OpenBSD-2.6

This commit is contained in:
soda 2000-02-22 11:25:55 +00:00
parent 6cc37002ad
commit 71f6ef9ee6
52 changed files with 1741 additions and 1175 deletions

View File

@ -1,4 +1,4 @@
$NetBSD: TODO,v 1.4 2000/01/23 21:01:48 soda Exp $
$NetBSD: TODO,v 1.5 2000/02/22 11:25:55 soda Exp $
To do list (not in any particular order).
@ -7,18 +7,19 @@ To do list (not in any particular order).
o Boot. Standalone boot program instead of booting the kernel directly?
o sigsetjmp/siglongjmp missing....
o Add more videomodes to pccons driver. 50kHz and 64kHz monitors?
This seems to be hard. Need more info on the chip.
o Find out why bitmap load to S3-928 flashes screen.
o Find out why bitmap load to S3-928 flashes screen. (X server)
Know why (enable linear mode). Need S3 info.
o Can we have 32 double registers?
o 64bit kernel/userland
o repair DeskStation and Algor support
- 64bit device physical address space for Tyne (see OpenBSD pmap.c)
- requires bus_dma
o source code structure is quite obsolete,
general clean up is needed as nisimura-san suggested.
especially:
@ -30,18 +31,27 @@ To do list (not in any particular order).
- clean up bus_space implementation, remove inb/outb
- eliminate OpenBSD compat #define symbols
o fix kernel start address
o merge new wscons
o parse ARC BIOS configuration information and use it
o omit __BROKEN_CONFIG_UNIT_USAGE
o omit __SWAP_BROKEN in <mips/types.h>
o fix implementation of DELAY(), clean up clock implementation
o asc.c scsi clock/NCR53CF94 handling clean up
o if_sn.c ether address handling clean up
o com_lbus.c clock handling clean up
o implement NCR 53c700(?) driver for NEC RISCserver 2200
based on amiga siop driver?
o use MI driver
- use MI ncr53c9x driver instead of home grown asc
@ -56,4 +66,15 @@ To do list (not in any particular order).
- make pccons MI, and share it with i386,
or simply eliminate pccons
o easy part
- ARC boot device name -> NetBSD root device conversion
- and missing MI devices
lkm, tun, vcoda, raidframe, ...
- way to specify serial console
o resolve "XXX"
Lots of other things.....

View File

@ -1,5 +1,5 @@
/* $NetBSD: algor.h,v 1.2 2000/01/23 21:01:49 soda Exp $ */
/* $OpenBSD: algor.h,v 1.3 1997/04/19 17:19:36 pefo Exp $ */
/* $NetBSD: algor.h,v 1.3 2000/02/22 11:25:56 soda Exp $ */
/* $OpenBSD: algor.h,v 1.4 1998/03/16 09:38:23 pefo Exp $ */
/*
* Copyright (c) 1996 Per Fogelstrom
@ -37,12 +37,15 @@
#define _ALGOR_H_ 1
/*
* P-4032's Physical address space
* Physical address space
*/
#define P4032_PHYS_MIN 0x00000000 /* 256 Meg */
#define P4032_PHYS_MAX 0x0fffffff
#define P5064_PHYS_MIN 0x00000000 /* 256 Meg */
#define P5064_PHYS_MAX 0x0fffffff
/*
* Memory map
*/
@ -50,8 +53,11 @@
#define P4032_PHYS_MEMORY_START 0x00000000
#define P4032_PHYS_MEMORY_END 0x0fffffff /* 256 Meg in 2 slots */
#define P5064_PHYS_MEMORY_START 0x00000000
#define P5064_PHYS_MEMORY_END 0x0fffffff /* 256 Meg in 2 slots */
/*
* I/O map
* I/O map P-4032
*/
#define P4032_V96x 0xbef00000 /* PCI Bus bridge ctrlregs */
@ -76,6 +82,37 @@
#define P4032_IXR1 0xbff90010 /* Int crossbar register 0 */
#define P4032_IXR2 0xbff90014 /* Int crossbar register 0 */
/*
* I/O map P-5064
*/
#define P5064_V96x P4032_V96x /* PCI Bus bridge ctrlregs */
#define P5064_CLOCK 0xbd000070 /* RTC clock ptr reg, data +1 */
#define P5064_KEYB 0xbd000064 /* PC Keyboard controller */
#define P5064_LED P4032_LED /* 4 Char LED display */
#define P5064_LCD P4032_LCD /* LCD option display */
#define P5064_GPIO P4032_GPIO /* General purpose I/O */
#define P5064_GPIO_IACK P4032_GPIO_IACK /* General purpose I/O Iack */
#define P5064_FPY 0xbd0003f0 /* Floppy controller */
#define P5064_COM1 0xbd0003f8 /* Serial port com1 */
#define P5064_COM2 0xbd0002f8 /* Serial port com2 */
#define P5064_CENTR 0xbd000378 /* Centronics paralell port */
#define P5064_IMR 0xbff90000 /* Int mask reg (wr) */
#define P5064_IRR 0xbff90000 /* Int request reg (rd) */
#define P5064_EIRR 0xbff90004 /* Error int request reg (rd) */
#define P5064_ICR 0xbff90004 /* Int clear register (wr) */
#define P5064_PCIIMR 0xbff90008 /* PCI Int mask reg (wr) */
#define P5064_PCIIRR 0xbff90008 /* PCI Int req reg (rd) */
#define P5064_IDEIMR 0xbff9000c /* IDE Int req reg (rd) */
#define P5064_IDEIRR 0xbff9000c /* IDE Int req reg (rd) */
#define P5064_IXR0 0xbff90010 /* Int crossbar register 0 */
#define P5064_IXR1 0xbff90014 /* Int crossbar register 1 */
#define P5064_IXR2 0xbff90018 /* Int crossbar register 2 */
#define P5064_IXR3 0xbff9001c /* Int crossbar register 3 */
#define P5064_IXR4 0xbff90020 /* Int crossbar register 4 */
/*
* Interrupt controller interrupt masks
*/

View File

@ -1,8 +1,8 @@
/* $NetBSD: algorbus.c,v 1.2 2000/01/23 21:01:49 soda Exp $ */
/* $OpenBSD: algorbus.c,v 1.3 1997/04/19 17:19:37 pefo Exp $ */
/* $NetBSD: algorbus.c,v 1.3 2000/02/22 11:25:56 soda Exp $ */
/* $OpenBSD: algorbus.c,v 1.6 1999/01/11 05:11:09 millert Exp $ */
/*
* Copyright (c) 1996 Per Fogelstrom
* Copyright (c) 1996, 1997, 1998 Per Fogelstrom, Opsycon AB
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -15,7 +15,7 @@
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed under OpenBSD by
* Per Fogelstrom.
* Per Fogelstrom, Opsycon AB.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
@ -75,10 +75,9 @@ int algor_iointr __P((unsigned, struct clockframe *));
int algor_clkintr __P((unsigned, struct clockframe *));
int algor_errintr __P((unsigned, struct clockframe *));
extern int cputype;
int p4032_imask = 0;
int p4032_ixr = 0;
int p4032_ixr0 = 0; /* Routing for local and panic ints. */
int p4032_ixr1 = 0; /* Routing for pci and ide ints. */
/*
* Interrupt dispatch table.
@ -100,14 +99,18 @@ static struct algor_int_desc int_table[] = {
{0, algor_intrnull, (void *)NULL, 0 }, /* 13 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 14 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 15 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 16 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 17 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 18 */
{0, algor_intrnull, (void *)NULL, 0 }, /* 19 */
};
#define NUM_INT_SLOTS (sizeof(int_table) / sizeof(struct algor_int_desc))
struct algor_dev {
struct confargs ps_ca;
u_int8_t ps_mask;
u_int8_t ps_ipl;
u_int16_t ps_route;
u_int8_t ps_mask; /* Interrupt mask register value */
u_int8_t ps_ipl; /* IPL to route int to */
u_int16_t ps_route; /* int routing mask bits */
intr_handler_t ps_handler;
void *ps_base;
};
@ -123,27 +126,34 @@ struct algor_dev algor_4032_cpu[] = {
{{ NULL, -1, NULL, },
0, 0x0000, NULL, (void *)NULL, },
};
#define NUM_ALGOR_DEVS (sizeof(algor_4032_cpu) / sizeof(struct algor_dev))
struct algor_dev algor_5064_cpu[] = {
{{ "dallas_rtc", 0, 0, },
P4032_IM_RTC, IPL_CLOCK, 0xc000, algor_intrnull, (void *)P5064_CLOCK, },
{{ "com", 1, 0, },
P4032_IM_COM1, IPL_TTY, 0x00c0, algor_intrnull, (void *)P5064_COM1, },
{{ "com", 2, 0, },
P4032_IM_COM2, IPL_TTY, 0x0300, algor_intrnull, (void *)P5064_COM2, },
{{ "lpt", 3, 0, },
P4032_IM_CENTR,IPL_TTY, 0x0c00, algor_intrnull, (void *)P5064_CENTR, },
{{ NULL, -1, NULL, },
0, 0x0000, NULL, (void *)NULL, },
};
/* IPL routing values */
static int ipxrtab[] = {
0x000000, /* IPL_BIO */
0x555555, /* IPL_NET */
0xaaaaaa, /* IPL_TTY */
0xffffff, /* IPL_CLOCK */
0x00000000, /* IPL_BIO */
0x55555555, /* IPL_NET */
0xaaaaaaaa, /* IPL_TTY */
0xffffffff, /* IPL_CLOCK */
};
struct algor_dev *algor_cpu_devs[] = {
NULL, /* Unused */
NULL, /* Unused */
NULL, /* Unused */
NULL, /* Unused */
NULL, /* Unused */
NULL, /* Unused */
algor_4032_cpu, /* 6 = ALGORITHMICS R4032 Board */
NULL,
NULL, /* Unused */
algor_4032_cpu, /* 0x21 = ALGORITHMICS P-4032 board */
algor_5064_cpu, /* 0x22 = ALGORITHMICS P-5064 board */
};
int nalgor_cpu_devs = sizeof algor_cpu_devs / sizeof algor_cpu_devs[0];
@ -160,8 +170,9 @@ algormatch(parent, match, aux)
return (0);
/* Make sure that unit exists. */
if (match->cf_unit != 0 ||
cputype > nalgor_cpu_devs || algor_cpu_devs[cputype] == NULL)
if (match->cf_unit != 0
|| (system_type - ALGOR_CLASS) > nalgor_cpu_devs
|| algor_cpu_devs[system_type - ALGOR_CLASS] == NULL)
return (0);
return (1);
@ -180,10 +191,10 @@ algorattach(parent, self, aux)
printf("\n");
/* keep our CPU device description handy */
sc->sc_devs = algor_cpu_devs[cputype];
sc->sc_devs = algor_cpu_devs[system_type - ALGOR_CLASS];
/* set up interrupt handlers */
set_intr(MIPS_INT_MASK_1, algor_iointr, 2);
set_intr(MIPS_INT_MASK_1, algor_iointr, 3);
set_intr(MIPS_INT_MASK_4, algor_errintr, 0);
sc->sc_bus.ab_dv = (struct device *)sc;
@ -249,16 +260,23 @@ algor_intr_establish(ca, handler, arg)
int_table[slot].int_hand = handler;
int_table[slot].param = arg;
}
p4032_ixr |= ipxrtab[ipl] & dev->ps_route;
outb(P4032_IXR0, p4032_ixr);
outb(P4032_IXR1, p4032_ixr >> 8);
outb(P4032_IXR2, p4032_ixr >> 16);
p4032_ixr0 |= ipxrtab[ipl] & dev->ps_route;
switch(system_type) {
case ALGOR_P4032:
outb(P4032_IXR0, p4032_ixr0);
outb(P4032_IXR1, p4032_ixr0 >> 8);
break;
case ALGOR_P5064:
outb(P5064_IXR0, p4032_ixr0);
outb(P5064_IXR1, p4032_ixr0 >> 8);
break;
}
if(slot == 0) { /* Slot 0 is special, clock */
set_intr(MIPS_INT_MASK_0 << ipl, algor_clkintr, ipl + 1);
set_intr(MIPS_INT_MASK_0 << ipl, algor_clkintr, ipl + 2);
}
else {
set_intr(MIPS_INT_MASK_0 << ipl, algor_iointr, ipl + 1);
set_intr(MIPS_INT_MASK_0 << ipl, algor_iointr, ipl + 2);
}
p4032_imask |= dev->ps_mask;
@ -281,12 +299,25 @@ algor_pci_intr_establish(ih, level, handler, arg, name)
if(level < IPL_BIO || level >= IPL_CLOCK) {
panic("pci intr: ipl level out of range");
}
if(ih < 0 || ih >= 4) {
if(ih < 0 || ih >= 12 || ih == 7 || ih == 8) {
panic("pci intr: irq out of range");
}
imask = (0x1000 << ih);
route = (0x30000 << (ih+ih));
switch(system_type) {
case ALGOR_P4032:
imask = (0x00001000 << ih);
route = (0x3 << (ih+ih));
break;
case ALGOR_P5064:
if(ih > 8) {
imask = (0x00000100 << (ih - 8));
}
else {
imask = (0x00001000 << ih);
}
route = (0x3 << (ih+ih));
break;
}
slot = NUM_INT_SLOTS;
while(slot > 0) {
@ -302,12 +333,20 @@ algor_pci_intr_establish(ih, level, handler, arg, name)
int_table[slot].int_hand = handler;
int_table[slot].param = arg;
p4032_ixr |= ipxrtab[level] & route;
outb(P4032_IXR0, p4032_ixr);
outb(P4032_IXR1, p4032_ixr >> 8);
outb(P4032_IXR2, p4032_ixr >> 16);
p4032_ixr1 |= ipxrtab[level] & route;
switch(system_type) {
case ALGOR_P4032:
outb(P4032_IXR2, p4032_ixr1);
break;
case ALGOR_P5064:
outb(P5064_IXR2, p4032_ixr1);
outb(P5064_IXR3, p4032_ixr1 >> 8);
outb(P5064_IXR4, p4032_ixr1 >> 16);
break;
}
set_intr(MIPS_INT_MASK_0 << level, algor_iointr, level + 1);
set_intr(MIPS_INT_MASK_0 << level, algor_iointr, level + 2);
p4032_imask |= imask;
outb(P4032_IMR, p4032_imask);
@ -361,7 +400,7 @@ int
algor_intrnull(val)
void *val;
{
panic("uncaught ALGOR intr for slot %d\n", val);
panic("uncaught ALGOR intr for slot %d", val);
}
/*
@ -396,8 +435,14 @@ algor_clkintr(mask, cf)
struct clockframe *cf;
{
/* Ack clock interrupt */
outb(P4032_CLOCK, MC_REGC);
(void) inb(P4032_CLOCK + 4);
if(system_type == ALGOR_P4032) {
outb(P4032_CLOCK, MC_REGC);
(void) inb(P4032_CLOCK + 4);
}
else {
outb(P5064_CLOCK, MC_REGC);
(void) inb(P5064_CLOCK + 1);
}
hardclock(cf);
@ -408,7 +453,7 @@ algor_clkintr(mask, cf)
}
/*
* Handle algor interval clock interrupt.
* Handle algor error interrupt.
*/
int
algor_errintr(mask, cf)
@ -422,6 +467,9 @@ algor_errintr(mask, cf)
if(why & P4032_IRR_BER) {
printf("Bus error interrupt\n");
outb(P4032_ICR, P4032_IRR_BER);
#ifdef DDB
Debugger();
#endif
}
if(why & P4032_IRR_PFAIL) {
printf("Power failure!\n");
@ -429,11 +477,12 @@ algor_errintr(mask, cf)
if(why & P4032_IRR_DBG) {
printf("Debug switch\n");
outb(P4032_ICR, P4032_IRR_DBG);
#ifdef DEBUG
mdbpanic();
#ifdef DDB
Debugger();
#else
printf("Not DEBUG compiled, sorry!\n");
printf("Sorry, recompile kernel with DDB!\n");
#endif
outb(P4032_ICR, P4032_IRR_DBG);
}
return(~0);
}

View File

@ -1,5 +1,5 @@
/* $NetBSD: arc_trap.c,v 1.8 2000/01/23 21:01:49 soda Exp $ */
/* $OpenBSD: trap.c,v 1.5 1996/09/02 11:33:24 pefo Exp $ */
/* $NetBSD: arc_trap.c,v 1.9 2000/02/22 11:25:56 soda Exp $ */
/* $OpenBSD: trap.c,v 1.22 1999/05/24 23:08:59 jason Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -71,15 +71,16 @@
#include <arc/pica/pica.h>
#include <arc/arc/arctype.h>
extern u_int cputype;
#include <sys/cdefs.h>
#include <sys/syslog.h>
#define MIPS_INT_LEVELS 8
struct {
int int_mask;
int (*int_hand)(u_int, struct clockframe *);
} cpu_int_tab[8];
} cpu_int_tab[MIPS_INT_LEVELS];
int cpu_int_mask; /* External cpu interrupt mask */
@ -103,7 +104,7 @@ arc_hardware_intr(mask, pc, statusReg, causeReg)
* Check off all enabled interrupts. Called interrupt routine
* returns mask of interrupts to reenable.
*/
for(i = 0; i < 5; i++) {
for(i = 0; i < MIPS_INT_LEVELS; i++) {
if(cpu_int_tab[i].int_mask & mask) {
causeReg &= (*cpu_int_tab[i].int_hand)(mask, &cf);
}
@ -125,13 +126,14 @@ set_intr(mask, int_hand, prio)
int (*int_hand)(u_int, struct clockframe *);
int prio;
{
if(prio > 5)
if(prio > MIPS_INT_LEVELS)
panic("set_intr: to high priority");
if(cpu_int_tab[prio].int_mask != 0 &&
(cpu_int_tab[prio].int_mask != mask ||
cpu_int_tab[prio].int_hand != int_hand))
cpu_int_tab[prio].int_hand != int_hand)) {
panic("set_intr: int already set");
}
cpu_int_tab[prio].int_hand = int_hand;
cpu_int_tab[prio].int_mask = mask;
@ -152,6 +154,7 @@ set_intr(mask, int_hand, prio)
case DESKSTATION_RPC44:
break;
case ALGOR_P4032:
case ALGOR_P5064:
break;
}
}

View File

@ -1,9 +1,9 @@
/* $NetBSD: arcbios.c,v 1.2 2000/01/23 21:01:50 soda Exp $ */
/* $OpenBSD: arcbios.c,v 1.8 1997/05/01 15:13:28 pefo Exp $ */
/* $NetBSD: arcbios.c,v 1.3 2000/02/22 11:25:56 soda Exp $ */
/* $OpenBSD: arcbios.c,v 1.3 1998/06/06 06:33:33 mickey Exp $ */
/*-
* Copyright (c) 1996 M. Warner Losh. All rights reserved.
* Copyright (c) 1996 Per Fogelstrom. All rights reserved.
* Copyright (c) 1996, 1997, 1998 Per Fogelstrom. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -59,10 +59,24 @@ static struct systypes {
char *sys_name; /* May be left NULL if name is sufficient */
int sys_type;
} sys_types[] = {
#ifdef arc
{ NULL, "PICA-61", ACER_PICA_61 },
{ NULL, "NEC-R94", ACER_PICA_61 },
{ NULL, "DESKTECH-TYNE", DESKSTATION_TYNE },
{ NULL, "DESKTECH-ARCStation I", DESKSTATION_RPC44 },
{ NULL, "Microsoft-Jazz", MAGNUM },
{ NULL, "RM200PCI", SNI_RM200 },
#endif
#ifdef sgi
{ NULL, "SGI-IP17", SGI_CRIMSON },
{ NULL, "SGI-IP19", SGI_ONYX },
{ NULL, "SGI-IP20", SGI_INDIGO },
{ NULL, "SGI-IP21", SGI_POWER },
{ NULL, "SGI-IP22", SGI_INDY },
{ NULL, "SGI-IP25", SGI_POWER10 },
{ NULL, "SGI-IP26", SGI_POWERI },
{ NULL, "SGI-IP32", SGI_O2 },
#endif
};
#define KNOWNSYSTEMS (sizeof(sys_types) / sizeof(struct systypes))
@ -92,7 +106,7 @@ ARC_Call(Bios_PowerDown, 0x10);
ARC_Call(Bios_Restart, 0x14);
ARC_Call(Bios_Reboot, 0x18);
ARC_Call(Bios_EnterInteractiveMode, 0x1c);
ARC_Call(Bios_Unused1, 0x20);
ARC_Call(Bios_Unused1, 0x20); /* return_from_main? */
ARC_Call(Bios_GetPeer, 0x24);
ARC_Call(Bios_GetChild, 0x28);
ARC_Call(Bios_GetParent, 0x2c);
@ -103,7 +117,7 @@ ARC_Call(Bios_GetComponent, 0x3c);
ARC_Call(Bios_SaveConfiguration, 0x40);
ARC_Call(Bios_GetSystemId, 0x44);
ARC_Call(Bios_GetMemoryDescriptor, 0x48);
ARC_Call(Bios_Unused2, 0x4c);
ARC_Call(Bios_Unused2, 0x4c); /* signal??? */
ARC_Call(Bios_GetTime, 0x50);
ARC_Call(Bios_GetRelativeTime, 0x54);
ARC_Call(Bios_GetDirectoryEntry, 0x58);
@ -119,8 +133,11 @@ ARC_Call(Bios_SetEnvironmentVariable, 0x7c);
ARC_Call(Bios_GetFileInformation, 0x80);
ARC_Call(Bios_SetFileInformation, 0x84);
ARC_Call(Bios_FlushAllCaches, 0x88);
/* note: the followings don't exist on SGI */
#ifdef arc
ARC_Call(Bios_TestUnicodeCharacter, 0x8c);
ARC_Call(Bios_GetDisplayStatus, 0x90);
#endif
/*
* BIOS based console, for early stage.
@ -173,8 +190,7 @@ bios_init_console()
/*
* Get memory descriptor for the memory configuration and
* create a layout database used by pmap init to set up
* the memory system. Note that kernel option "MACHINE_NEW_NONCONTIG"
* must be set for systems with non contigous physical memory.
* the memory system.
*
* Concatenate obvious adjecent segments.
*/
@ -188,7 +204,7 @@ bios_configure_memory(mem_reserved, mem_clusters, mem_cluster_cnt_return)
int mem_cluster_cnt = 0;
arc_mem_t *descr = NULL;
vm_offset_t seg_start, seg_end;
paddr_t seg_start, seg_end;
int i, reserved;
while ((descr = Bios_GetMemoryDescriptor(descr)) != NULL) {
@ -332,9 +348,12 @@ bios_ident()
void
bios_save_info()
{
#ifdef arc
displayinfo = *Bios_GetDisplayStatus(1);
#endif
}
#ifdef arc
/*
* Return geometry of the display. Used by pccons.c to set up the
* display configuration.
@ -351,39 +370,4 @@ bios_display_info(xpos, ypos, xsize, ysize)
*xsize = displayinfo.CursorMaxXPosition;
*ysize = displayinfo.CursorMaxYPosition;
}
/*
* Load the incore miniroot into memory. This is used for
* Initial booting before we have any file system. CD-rom booting.
*/
int
bios_load_miniroot(path, where)
char *path;
caddr_t where;
{
u_int file;
u_int count;
int error, size = 0;
static char mrdefault[] =
{"scsi(0)disk(0)rdisk(0)partition(1)\\miniroot" };
if (path == 0)
path = mrdefault;
printf("Loading miniroot: %s\n", path);
if ((error = Bios_Open(path, 0, &file)) != arc_ESUCCESS) {
printf("Error %d. Load failed!\n", error);
return (-1);
}
do {
error = Bios_Read(file, where, 4096, &count);
cnputc('.');
where += count;
size += count;
} while ((error == arc_ESUCCESS) && (count != 0));
Bios_Close(file);
printf("\nLoaded.\n");
return (size);
}
#endif

View File

@ -1,5 +1,5 @@
/* $NetBSD: arcbios.h,v 1.2 2000/01/23 21:01:50 soda Exp $ */
/* $OpenBSD: arcbios.h,v 1.4 1997/05/01 15:13:30 pefo Exp $ */
/* $NetBSD: arcbios.h,v 1.3 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: arcbios.h,v 1.1 1998/01/29 15:06:22 pefo Exp $ */
/*-
* Copyright (c) 1996 M. Warner Losh. All rights reserved.
@ -139,6 +139,7 @@ typedef enum arc_status
arc_EROFS, /* Read-only file system */
} arc_status_t;
#ifdef arc
typedef enum {
ExeceptionBlock,
SystemParameterBlock,
@ -149,6 +150,19 @@ typedef enum {
FirmwarePermanent,
FreeContigous
} MEMORYTYPE;
#endif
#ifdef sgi /* note: SGI's systems have different order of types. */
typedef enum {
ExeceptionBlock,
SystemParameterBlock,
FreeContigous,
FreeMemory,
BadMemory,
LoadedProgram,
FirmwareTemporary,
FirmwarePermanent,
} MEMORYTYPE;
#endif
typedef struct arc_mem {
MEMORYTYPE Type; /* Memory chunk type */
@ -238,9 +252,14 @@ typedef struct arc_calls
arc_mem_t *(*get_memory_descriptor)( /* GetMemoryDescriptor 19 */
arc_mem_t *); /* MemoryDescriptor */
#ifdef arc
void (*signal)( /* Signal 20 */
u_int32_t, /* Signal number */
/**/ caddr_t); /* Handler */
#endif
#ifdef sgi
void *unused;
#endif
arc_time_t *(*get_time)(void); /* GetTime 21 */
@ -297,12 +316,15 @@ typedef struct arc_calls
void (*flush_all_caches)(void); /* FlushAllCaches 35 */
/* note: the followings don't exist on SGI */
#ifdef arc
arc_status_t (*test_unicode)( /* TestUnicodeCharacter 36 */
u_int32_t, /* FileId */
u_int16_t); /* UnicodeCharacter */
arc_dsp_stat_t *(*get_display_status)( /* GetDisplayStatus 37 */
u_int32_t); /* FileId */
#endif
} arc_calls_t;
#define ARC_PARAM_BLK_MAGIC 0x53435241
@ -339,5 +361,6 @@ int bios_ident __P((void));
void bios_init_console __P((void));
int bios_configure_memory __P((int *, phys_ram_seg_t *, int *));
void bios_save_info __P((void));
#ifdef arc
void bios_display_info __P((int *, int *, int *, int *));
int bios_load_miniroot __P((char *, caddr_t));
#endif

View File

@ -1,5 +1,5 @@
/* $NetBSD: arctype.h,v 1.4 2000/01/23 21:01:50 soda Exp $ */
/* $OpenBSD: arctype.h,v 1.4 1997/03/12 19:16:37 pefo Exp $ */
/* $NetBSD: arctype.h,v 1.5 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: archtype.h,v 1.6 1999/01/27 04:46:04 imp Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom
@ -33,11 +33,31 @@
*
*/
/*
* Mother board type byte of "systype" environment variable.
* Define architectural identitys for the different Mips machines.
*/
#define ACER_PICA_61 0x1 /* Acer Labs Pica 61 */
#define MAGNUM 0x2 /* Mips MAGNUM R4000 */
#define DESKSTATION_RPC44 0x3 /* Deskstation xxx */
#define DESKSTATION_TYNE 0x4 /* Deskstation xxx */
#define NKK_AQUARIUS 0x5 /* NKK R4{67}00 PC */
#define ALGOR_P4032 0x6 /* ALGORITHMICS P-4032 VR4300 */
#define ARC_CLASS 0x00 /* Arch class ARC */
#define ACER_PICA_61 0x01 /* Acer Labs Pica 61 */
#define MAGNUM 0x02 /* Mips MAGNUM R4000 */
#define DESKSTATION_RPC44 0x03 /* Deskstation xxx */
#define DESKSTATION_TYNE 0x04 /* Deskstation xxx */
#define NKK_AQUARIUS 0x05 /* NKK R4{67}00 PC */
#define NEC_R94 0x06 /* NEC Magnum class */
#define SNI_RM200 0x07 /* Siemens Nixdorf RM200 */
#if 0 /* XXX */
#define SGI_CLASS 0x10 /* Silicon Graphics Class */
#define SGI_CRIMSON 0x11 /* Crimson */
#define SGI_ONYX 0x12 /* Onyx (!S model Challenge) */
#define SGI_INDIGO 0x13 /* Indigo */
#define SGI_POWER 0x14 /* POWER Challenge, POWER Onyx */
#define SGI_INDY 0x15 /* Indy, Indigo2, Challenge S */
#define SGI_POWER10 0x16 /* POWER Challenge R10k */
#define SGI_POWERI 0x17 /* POWER Indigo2 */
#define SGI_O2 0x18 /* O2/Moosehead */
#endif
#define ALGOR_CLASS 0x20 /* Algorithmics Class */
#define ALGOR_P4032 0x21 /* ALGORITHMICS P-4032 */
#define ALGOR_P5064 0x22 /* ALGORITHMICS P-5064 */
extern int cputype; /* Global system type indicator */

View File

@ -1,7 +1,8 @@
/* $NetBSD: clock.c,v 1.9 2000/01/23 21:01:50 soda Exp $ */
/* $OpenBSD: clock.c,v 1.5 1997/04/19 17:19:39 pefo Exp $ */
/* $NetBSD: clock.c,v 1.10 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: clock.c,v 1.6 1998/10/15 21:30:15 imp Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom.
* Copyright (c) 1988 University of Utah.
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@ -56,8 +57,6 @@
#include <dev/isa/isavar.h>
#include <machine/isa_machdep.h>
extern int cputype; /* What kind of cpu we are running on */
int clock_started = 0;
/* Definition of the driver for autoconfig. */

View File

@ -1,5 +1,5 @@
/* $NetBSD: clock_mc.c,v 1.5 2000/01/23 21:01:50 soda Exp $ */
/* $OpenBSD: clock_mc.c,v 1.7 1997/04/19 17:19:40 pefo Exp $ */
/* $NetBSD: clock_mc.c,v 1.6 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: clock_mc.c,v 1.9 1998/03/16 09:38:26 pefo Exp $ */
/* NetBSD: clock_mc.c,v 1.2 1995/06/28 04:30:30 cgd Exp */
/*
@ -63,14 +63,13 @@
#include <machine/isa_machdep.h>
#include <arc/isa/timerreg.h>
extern u_int cputype;
extern int cpu_int_mask;
void mcclock_attach __P((struct device *parent,
struct device *self, void *aux));
static void mcclock_init_pica __P((struct clock_softc *csc));
static void mcclock_init_tyne __P((struct clock_softc *csc));
static void mcclock_init_p4032 __P((struct clock_softc *csc));
static void mcclock_init_algor __P((struct clock_softc *csc));
static void mcclock_get __P((struct clock_softc *csc, time_t base,
struct tod_time *ct));
static void mcclock_set __P((struct clock_softc *csc,
@ -99,11 +98,11 @@ static void mc_write_tyne __P((struct clock_softc *csc, u_int reg,
static u_int mc_read_tyne __P((struct clock_softc *csc, u_int reg));
static struct mcclockdata mcclockdata_tyne = { mc_write_tyne, mc_read_tyne };
/* Algorithmics P4032 clock access code */
static void mc_write_p4032 __P((struct clock_softc *csc, u_int reg,
/* Algorithmics clock access code */
static void mc_write_algor __P((struct clock_softc *csc, u_int reg,
u_int datum));
static u_int mc_read_p4032 __P((struct clock_softc *csc, u_int reg));
static struct mcclockdata mcclockdata_p4032 = { mc_write_p4032, mc_read_p4032 };
static u_int mc_read_algor __P((struct clock_softc *csc, u_int reg));
static struct mcclockdata mcclockdata_algor = { mc_write_algor, mc_read_algor };
void
mcclock_attach(parent, self, aux)
@ -135,8 +134,9 @@ mcclock_attach(parent, self, aux)
break;
case ALGOR_P4032:
csc->sc_init = mcclock_init_p4032;
csc->sc_data = &mcclockdata_p4032;
case ALGOR_P5064:
csc->sc_init = mcclock_init_algor;
csc->sc_data = &mcclockdata_algor;
mc146818_write(csc, MC_REGB, MC_REGB_BINARY|MC_REGB_24HR|MC_REGB_SQWE);
break;
@ -167,7 +167,7 @@ mcclock_init_tyne(csc)
}
static void
mcclock_init_p4032(csc)
mcclock_init_algor(csc)
struct clock_softc *csc;
{
int s;
@ -205,8 +205,10 @@ mcclock_get(csc, base, ct)
ct->day = regs[MC_DOM];
ct->mon = regs[MC_MONTH];
ct->year = regs[MC_YEAR];
if(cputype == ALGOR_P4032)
if (cputype == ALGOR_P4032 ||
cputype == ALGOR_P5064) {
ct->year -= 80;
}
}
/*
@ -230,10 +232,12 @@ printf("%d-%d-%d, %d:%d:%d\n", regs[MC_YEAR], regs[MC_MONTH], regs[MC_DOM], regs
regs[MC_DOW] = ct->dow;
regs[MC_DOM] = ct->day;
regs[MC_MONTH] = ct->mon;
if(cputype == ALGOR_P4032)
if (cputype == ALGOR_P4032 ||
cputype == ALGOR_P5064) {
regs[MC_YEAR] = ct->year + 80;
else
} else {
regs[MC_YEAR] = ct->year;
}
MC146818_PUTTOD(csc, &regs);
MC146818_GETTOD(csc, &regs);
@ -288,22 +292,38 @@ mc_read_tyne(csc, reg)
}
static void
mc_write_p4032(csc, reg, datum)
mc_write_algor(csc, reg, datum)
struct clock_softc *csc;
u_int reg, datum;
{
outb(P4032_CLOCK, reg);
outb(P4032_CLOCK+4, datum);
switch (cputype) {
case ALGOR_P4032:
outb(P4032_CLOCK, reg);
outb(P4032_CLOCK+4, datum);
break;
default:
outb(P5064_CLOCK, reg);
outb(P5064_CLOCK+1, datum);
break;
}
}
static u_int
mc_read_p4032(csc, reg)
mc_read_algor(csc, reg)
struct clock_softc *csc;
u_int reg;
{
int i;
outb(P4032_CLOCK, reg);
i = inb(P4032_CLOCK+4) & 0xff;
switch (cputype) {
case ALGOR_P4032:
outb(P4032_CLOCK, reg);
i = inb(P4032_CLOCK+4) & 0xff;
break;
default:
outb(P5064_CLOCK, reg);
i = inb(P5064_CLOCK+1) & 0xff;
break;
}
return(i);
}

View File

@ -1,5 +1,5 @@
/* $NetBSD: clockvar.h,v 1.2 2000/01/23 21:01:51 soda Exp $ */
/* $OpenBSD: clockvar.h,v 1.1.1.1 1996/06/24 09:07:20 pefo Exp $ */
/* $NetBSD: clockvar.h,v 1.3 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: clockvar.h,v 1.1 1998/01/29 15:06:19 pefo Exp $ */
/* NetBSD: clockvar.h,v 1.1 1995/06/28 02:44:59 cgd Exp */
/*

View File

@ -1,5 +1,5 @@
/* $NetBSD: conf.c,v 1.15 2000/02/01 02:59:30 nisimura Exp $ */
/* $OpenBSD: conf.c,v 1.17 1997/05/21 18:31:31 pefo Exp $ */
/* $NetBSD: conf.c,v 1.16 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: conf.c,v 1.27 1999/08/12 13:06:33 niklas Exp $ */
/*
* Copyright (c) 1992, 1993
@ -48,6 +48,8 @@
#include <sys/tty.h>
#include <sys/conf.h>
#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0]))
/*
* Block devices.
*/
@ -63,10 +65,6 @@ bdev_decl(cd);
bdev_decl(fd);
#include "wd.h"
bdev_decl(wd);
#if 0 /* XXX - should be fixed */
#include "acd.h"
bdev_decl(acd);
#endif
#include "ccd.h"
#include "md.h"
bdev_decl(md);
@ -75,34 +73,30 @@ struct bdevsw bdevsw[] =
{
bdev_disk_init(NSD,sd), /* 0: SCSI disk */
bdev_swap_init(1,sw), /* 1: should be here swap pseudo-dev */
bdev_disk_init(NVND,vnd), /* 2: vnode disk driver */
bdev_disk_init(NVND,vnd), /* 2: vnode disk */
bdev_disk_init(NCD,cd), /* 3: SCSI CD-ROM */
bdev_disk_init(NWD,wd), /* 4: ST506/ESDI/IDE disk */
#if 0 /* XXX - should be fixed */
bdev_disk_init(NACD,acd), /* 5: ATAPI CD-ROM */
#else
bdev_notdef(), /* 5: */
#endif
bdev_disk_init(NCCD,ccd), /* 6: concatenated disk driver */
bdev_disk_init(NFDC,fd), /* 7: Floppy disk driver */
bdev_disk_init(NMD,md), /* 8: memory disk (for install) */
bdev_notdef(), /* 9: */
bdev_notdef(), /* 10: */
bdev_notdef(), /* 11: */
bdev_notdef(), /* 12: */
bdev_notdef(), /* 13: */
bdev_notdef(), /* 14: */
bdev_notdef(), /* 15: */
bdev_notdef(), /* 5: */
bdev_disk_init(NCCD,ccd), /* 6: concatenated disk */
bdev_disk_init(NFDC,fd), /* 7: Floppy disk */
bdev_disk_init(NMD,md), /* 8: memory disk */
bdev_notdef(), /* 9: */
bdev_notdef(), /* 10: */
bdev_notdef(), /* 11: */
bdev_notdef(), /* 12: */
bdev_notdef(), /* 13: */
bdev_notdef(), /* 14: */
bdev_notdef(), /* 15: */
};
int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
int nblkdev = ARRAY_LENGTH(bdevsw);
/*
* Character devices.
*/
/* open, close, read, write, ioctl, tty, mmap */
#define cdev_pc_init(c,n) { \
#define cdev_pc_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), dev_init(c,n,stop), \
dev_init(c,n,tty), ttpoll, dev_init(c,n,mmap), D_TTY }
@ -119,14 +113,18 @@ int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
0, seltrue, (dev_type_mmap((*))) enodev }
/* open, close, read, ioctl */
#define cdev_joy_init(c,n) { \
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
(dev_type_write((*))) enodev, dev_init(c,n,ioctl), \
(dev_type_stop((*))) enodev, 0, seltrue, \
(dev_type_mmap((*))) enodev }
cdev_decl(cn);
cdev_decl(sw);
cdev_decl(ctty);
#if 0 /* XXX - should be fixed */
cdev_decl(random);
#endif
#define mmread mmrw
#define mmwrite mmrw
#define mmread mmrw
#define mmwrite mmrw
dev_type_read(mmrw);
cdev_decl(mm);
#include "pty.h"
@ -155,13 +153,13 @@ cdev_decl(sd);
cdev_decl(pc);
cdev_decl(opms);
cdev_decl(cd);
#include "ch.h"
#include "ss.h"
#include "uk.h"
cdev_decl(uk);
cdev_decl(wd);
#if 0 /* XXX - should be fixed */
cdev_decl(acd);
#endif
#include "joy.h"
cdev_decl(joy);
/* open, close, read, ioctl */
#include "ipfilter.h"
@ -182,7 +180,7 @@ struct cdevsw cdevsw[] =
cdev_ptc_init(NPTY,ptc), /* 5: pseudo-tty master */
cdev_log_init(1,log), /* 6: /dev/klog */
cdev_fd_init(1,filedesc), /* 7: file descriptor pseudo-dev */
cdev_disk_init(NCD,cd), /* 8: SCSI CD */
cdev_disk_init(NCD,cd), /* 8: SCSI CD-ROM */
cdev_disk_init(NSD,sd), /* 9: SCSI disk */
cdev_tape_init(NST,st), /* 10: SCSI tape */
cdev_disk_init(NVND,vnd), /* 11: vnode disk */
@ -193,18 +191,14 @@ struct cdevsw cdevsw[] =
cdev_lpt_init(NLPT,lpt), /* 16: Parallel printer interface */
cdev_tty_init(NCOM,com), /* 17: 16C450 serial interface */
cdev_disk_init(NWD,wd), /* 18: ST506/ESDI/IDE disk */
#if 0 /* XXX - should be fixed */
cdev_disk_init(NACD,acd), /* 19: ATAPI CD-ROM */
#else
cdev_notdef(), /* 19: */
#endif
cdev_scsibus_init(NSCSIBUS,scsibus), /* 19: SCSI bus */
cdev_tty_init(NPTY,pts), /* 20: pseudo-tty slave */
cdev_ptc_init(NPTY,ptc), /* 21: pseudo-tty master */
cdev_disk_init(NMD,md), /* 22: memory disk device */
cdev_disk_init(NCCD,ccd), /* 23: concatenated disk driver */
cdev_disk_init(NMD,md), /* 22: memory disk */
cdev_disk_init(NCCD,ccd), /* 23: concatenated disk */
cdev_notdef(), /* 24: */
cdev_notdef(), /* 25: */
cdev_notdef(), /* 26: */
cdev_joy_init(NJOY,joy), /* 26: joystick */
cdev_notdef(), /* 27: */
cdev_notdef(), /* 28: */
cdev_notdef(), /* 29: */
@ -212,13 +206,29 @@ struct cdevsw cdevsw[] =
cdev_ipf_init(NIPFILTER,ipl), /* 31: IP filter log */
cdev_uk_init(NUK,uk), /* 32: unknown SCSI */
cdev_rnd_init(NRND,rnd), /* 33: random source pseudo-device */
cdev_scanner_init(NSS,ss), /* 34: SCSI scanner */
cdev_scsibus_init(NSCSIBUS,scsibus), /* 35: SCSI bus */
cdev_scanner_init(NSS,ss), /* 34: SCSI scanner */
cdev_notdef(), /* 35: OpenBSD Kernel symbols device */
cdev_ch_init(NCH,ch), /* 36: SCSI autochanger */
cdev_notdef(), /* 37: */
cdev_notdef(), /* 38: */
cdev_notdef(), /* 39: */
cdev_notdef(), /* 40: */
cdev_notdef(), /* 41: */
cdev_notdef(), /* 42: */
cdev_notdef(), /* 33: */
cdev_notdef(), /* 44: */
cdev_notdef(), /* 45: */
cdev_notdef(), /* 46: */
cdev_notdef(), /* 47: */
cdev_notdef(), /* 48: */
cdev_notdef(), /* 49: */
cdev_notdef(), /* 50: */
cdev_notdef(), /* 51: OpenBSD xfs comm. device */
};
int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
int nchrdev = ARRAY_LENGTH(cdevsw);
int mem_no = 2; /* major device number of memory special file */
int mem_no = 3; /* major device number of memory special file */
/*
* Swapdev is a fake device implemented
@ -233,21 +243,12 @@ dev_t swapdev = makedev(1, 0);
/*
* Routine that identifies /dev/mem and /dev/kmem.
*
* A minimal stub routine can always return 0.
*/
int
iskmemdev(dev)
dev_t dev;
{
#ifdef COMPAT_BSD44
if (major(dev) == 2 && (minor(dev) == 0 || minor(dev) == 1))
#else
if (major(dev) == 3 && (minor(dev) == 0 || minor(dev) == 1))
#endif
return (1);
return (0);
return (major(dev) == 3 && minor(dev) < 2);
}
/*
@ -257,17 +258,13 @@ int
iszerodev(dev)
dev_t dev;
{
#ifdef COMPAT_BSD44
return (major(dev) == 2 && minor(dev) == 12);
#else
return (major(dev) == 3 && minor(dev) == 12);
#endif
}
#define MAXDEV 36
static int chrtoblktbl[MAXDEV] = {
/* VCHR */ /* VBLK */
static int chrtoblktbl[] = {
/* XXXX This needs to be dynamic for LKMs. */
/*VCHR*/ /*VBLK*/
/* 0 */ NODEV,
/* 1 */ NODEV,
/* 2 */ NODEV,
@ -291,7 +288,7 @@ static int chrtoblktbl[MAXDEV] = {
/* 20 */ NODEV,
/* 21 */ NODEV,
/* 22 */ 8, /* md */
/* 23 */ NODEV,
/* 23 */ 6, /* ccd */
/* 24 */ NODEV,
/* 25 */ NODEV,
/* 26 */ NODEV,
@ -305,10 +302,9 @@ static int chrtoblktbl[MAXDEV] = {
/* 34 */ NODEV,
/* 35 */ NODEV,
};
/*
* Routine to convert from character to block device number.
*
* A minimal stub routine can always return NODEV.
*/
dev_t
chrtoblk(dev)
@ -316,7 +312,8 @@ chrtoblk(dev)
{
int blkmaj;
if (major(dev) >= MAXDEV || (blkmaj = chrtoblktbl[major(dev)]) == NODEV)
if (major(dev) >= nchrdev || major(dev) >= ARRAY_LENGTH(chrtoblktbl) ||
(blkmaj = chrtoblktbl[major(dev)]) == NODEV)
return (NODEV);
return (makedev(blkmaj, minor(dev)));
}

View File

@ -1,5 +1,5 @@
/* $NetBSD: machdep.c,v 1.28 2000/01/23 21:01:51 soda Exp $ */
/* $OpenBSD: machdep.c,v 1.29 1997/05/19 16:21:20 pefo Exp $ */
/* $NetBSD: machdep.c,v 1.29 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@ -45,6 +45,7 @@
/* from: Utah Hdr: machdep.c 1.63 91/04/24 */
#include "fs_mfs.h"
#include "opt_ddb.h"
#include <sys/param.h>
#include <sys/systm.h>
@ -90,6 +91,7 @@
#include <mips/psl.h>
#ifdef DDB
#include <mips/db_machdep.h>
#include <ddb/db_extern.h>
#endif
#include <sys/exec_ecoff.h>
@ -212,9 +214,9 @@ mach_init(argc, argv, envv)
{
char *cp;
int i;
vm_offset_t kernstartpfn, kernendpfn, first, last;
paddr_t kernstartpfn, kernendpfn, first, last;
caddr_t kernend, v;
vm_size_t size;
vsize_t size;
extern char edata[], end[];
/* clear the BSS segment in kernel code */
@ -269,8 +271,8 @@ mach_init(argc, argv, envv)
case DESKSTATION_RPC44:
strcpy(cpu_model, "Deskstation rPC44");
arc_bus_io.bus_base = 0xb0000000; /*XXX*/
arc_bus_mem.bus_base = 0xa0000000; /*XXX*/
arc_bus_io.bus_base = RPC44_V_ISA_IO;
arc_bus_mem.bus_base = RPC44_V_ISA_MEM;
com_console_address = 0; /* Don't screew the mouse... */
/*
@ -297,11 +299,21 @@ mach_init(argc, argv, envv)
break;
case SNI_RM200:
strcpy(cpu_model, "Siemens Nixdorf RM200");
#if 0
arc_bus_io.bus_base = RM200_V_ISA_IO;
arc_bus_mem.bus_base = RM200_V_ISA_MEM;
#endif
com_console_address = 0; /* Don't screew the mouse... */
break;
case -1: /* Not identified as an ARC system. We have a couple */
/* of other options. Systems not having an ARC Bios */
/* Make this more fancy when more comes in here */
environment = envv;
#if 0
cputype = ALGOR_P4032;
strcpy(cpu_model, "Algorithmics P-4032");
arc_bus_io.bus_sparse1 = 2;
@ -309,6 +321,15 @@ mach_init(argc, argv, envv)
arc_bus_io.bus_sparse4 = 0;
arc_bus_io.bus_sparse8 = 0;
com_console_address = P4032_COM1;
#else
cputype = ALGOR_P5064;
strcpy(cpu_model, "Algorithmics P-5064");
arc_bus_io.bus_sparse1 = 0;
arc_bus_io.bus_sparse2 = 0;
arc_bus_io.bus_sparse4 = 0;
arc_bus_io.bus_sparse8 = 0;
com_console_address = P5064_COM1;
#endif
mem_clusters[0].start = 0;
mem_clusters[0].size =
@ -413,28 +434,12 @@ mach_init(argc, argv, envv)
* Initialize locore-function vector.
* Clear out the I and D caches.
*
* XXX this may clobber PTEs needed by the BIOS.
*/
mips_vector_init();
#ifdef DDB
/*
* Initialize machine-dependent DDB commands, in case of early panic.
*/
db_machine_init();
#endif
/*
* Now its time to abandon the BIOS and be self supplying.
* Start with cleaning out the TLB. Bye bye Microsoft....
*
* This may clobber PTEs needed by the BIOS.
*/
#ifdef PREDATES_LOCORE_VECTOR_INIT
cpu_arch = 3;
mips3_SetWIRED(0);
mips3_TLBFlush();
mips3_SetWIRED(MIPS3_TLB_WIRED_ENTRIES);
mips3_vector_init();
#endif
mips_vector_init();
switch (cputype) {
case ACER_PICA_61:
@ -450,6 +455,11 @@ mach_init(argc, argv, envv)
break;
case ALGOR_P4032:
case ALGOR_P5064:
break;
case SNI_RM200:
/*XXX*/
break;
}
@ -556,7 +566,7 @@ mach_init(argc, argv, envv)
* memory is directly addressable. We don't have to map these into
* virtual address space.
*/
size = (vm_size_t)allocsys(NULL, NULL);
size = (vsize_t)allocsys(NULL, NULL);
v = (caddr_t)pmap_steal_memory(size, NULL, NULL);
if ((allocsys(v, NULL) - v) != size)
panic("mach_init: table size inconsistency");
@ -762,12 +772,14 @@ consinit()
return;
#endif
break;
case MAGNUM:
#if NFB > 0
fb_console();
return;
#endif
break;
case DESKSTATION_TYNE:
case DESKSTATION_RPC44:
#if NPC_ISA > 0
@ -775,9 +787,12 @@ consinit()
return;
#endif
break;
case ALGOR_P4032:
case ALGOR_P5064:
/* XXX For now... */
break;
default:
#if NVGA > 0
vga_localbus_console();
@ -982,10 +997,12 @@ cpu_reboot(howto, bootstr)
if (howto & RB_DUMP)
dumpsys();
printf("System restart.\n");
delay(2000000);
#if NPC > 0
(void)kbc_8042sysreset(); /* Try this first */
delay(100000); /* Give it a chance */
/* This is only done on systems with pccons driver */
if(cputype != ALGOR_P4032) {
(void)kbc_8042sysreset(); /* Try this first */
delay(100000); /* Give it a chance */
}
#endif
__asm__(" li $2, 0xbfc00000; jr $2; nop\n");
while(1); /* Forever */

View File

@ -1,8 +1,9 @@
/* $NetBSD: mainbus.c,v 1.8 2000/01/23 21:01:52 soda Exp $ */
/* $OpenBSD: mainbus.c,v 1.6 1997/04/19 17:19:45 pefo Exp $ */
/* $NetBSD: mainbus.c,v 1.9 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: mainbus.c,v 1.4 1998/10/15 21:30:15 imp Exp $ */
/* NetBSD: mainbus.c,v 1.3 1995/06/28 02:45:10 cgd Exp */
/*
* Copyright (c) 1997 Per Fogelstrom.
* Copyright (c) 1994, 1995 Carnegie-Mellon University.
* All rights reserved.
*
@ -62,17 +63,7 @@ mbmatch(parent, match, aux)
struct cfdata *match;
void *aux;
{
/*
* Only one mainbus, but some people are stupid...
*/
if (match->cf_unit > 0)
return(0);
/*
* That one mainbus is always here.
*/
return(1);
return (match->cf_unit == 0);
}
static void
@ -83,7 +74,6 @@ mbattach(parent, self, aux)
{
struct mainbus_softc *sc = (struct mainbus_softc *)self;
struct confargs nca;
extern int cputype;
printf("\n");
@ -105,42 +95,50 @@ mbattach(parent, self, aux)
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
if (cputype == ACER_PICA_61 || cputype == MAGNUM) {
/* we have a PICA bus! */
switch (cputype) {
case ACER_PICA_61:
case MAGNUM:
nca.ca_name = "pica";
nca.ca_slot = 0;
nca.ca_offset = 0;
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
}
else if (cputype == ALGOR_P4032) {
/* we have an ALGOR bus! :-) */
break;
case ALGOR_P4032:
case ALGOR_P5064:
nca.ca_name = "algor";
nca.ca_slot = 0;
nca.ca_offset = 0;
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
break;
}
/* The following machines have a PCI bus */
if (cputype == ALGOR_P4032) {
switch (cputype) {
case ALGOR_P4032:
case ALGOR_P5064:
nca.ca_name = "pbcpcibr";
nca.ca_slot = 0;
nca.ca_offset = 0;
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
break;
}
/* The following machines have an ISA bus */
if (cputype == ACER_PICA_61 ||
cputype == MAGNUM ||
cputype == DESKSTATION_TYNE ||
cputype == DESKSTATION_RPC44) {
switch (cputype) {
case ACER_PICA_61:
case MAGNUM:
case DESKSTATION_TYNE:
case DESKSTATION_RPC44:
nca.ca_name = "isabr";
nca.ca_slot = 0;
nca.ca_offset = 0;
nca.ca_bus = &sc->sc_bus;
config_found(self, &nca, mbprint);
break;
}
}

View File

@ -1,5 +1,5 @@
/* $NetBSD: minidebug.c,v 1.7 2000/01/23 21:01:52 soda Exp $ */
/* $OpenBSD: minidebug.c,v 1.5 1997/04/19 17:19:46 pefo Exp $ */
/* $NetBSD: minidebug.c,v 1.8 2000/02/22 11:25:57 soda Exp $ */
/* $OpenBSD: minidebug.c,v 1.2 1998/03/16 09:03:36 pefo Exp $ */
/*-
* Copyright (c) 1991, 1993
@ -141,6 +141,9 @@ static char *c0_reg[32] = {
extern u_int mdbpeek __P((int));
extern void mdbpoke __P((int, int));
#ifdef __OpenBSD__
extern void cpu_setwatch __P((int, int));
#endif
extern void trapDump __P((char *));
extern void stacktrace __P((void));
extern u_int MachEmulateBranch __P((int *, int, int, u_int));
@ -576,6 +579,25 @@ static int ssandrun; /* Single step and run flag (when cont at brk) */
}
break;
#ifdef __OpenBSD__
case 'w':
printf("watch ");
c = gethex(&newaddr, newaddr);
size = 3;
if(c == ',') {
c = cngetc();
cnputc(c);
if(c == 'r')
size = 2;
else if(c == 'w')
size = 1;
else
size = 0;
}
cpu_setwatch(0, (newaddr & ~7) | size);
break;
#endif
default:
cnputc('\a');
break;

View File

@ -1,59 +1,81 @@
# $NetBSD: ARCTIC,v 1.3 2000/01/26 12:48:44 soda Exp $
# $OpenBSD: ARCTIC,v 1.8 1997/04/29 05:16:40 deraadt Exp $
# $NetBSD: ARCTIC,v 1.4 2000/02/22 11:25:58 soda Exp $
# $OpenBSD: ARCTIC,v 1.12 1999/08/29 12:14:03 niklas Exp $
#
# Generic configuration file for MIPS R4x00 ARC Systems
# configuration file for DeskStation
#
include "arch/arc/conf/std.arc"
maxusers 32
maxusers 32 # estimated number of users
# Need to set locally
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
# Misc. arc-specific options
options PCCONS_FORCE_WORD # Max out at 16bit accesses to the
# VGA memory
# Standard system options
options KTRACE # system call tracing support
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Filesystem options
file-system FFS # fast filesystem
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
file-system PROCFS # /proc
file-system FDESC # user file descriptor filesystem
file-system UMAPFS # uid/gid remapping filesystem
file-system UNION # union file system
file-system NULLFS # null layer filesystem
file-system OVERLAY # overlay file system
file-system PORTAL # portal filesystem (still experimental)
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
options FIFO # POSIX fifo support (in all filesystems)
# File systems
file-system FFS # fast filesystem
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
options NFSSERVER # Sun NFS-compatible filesystem (server)
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -69,56 +91,71 @@ options NFSSERVER # Sun NFS-compatible filesystem (server)
#prefix
# Networking options
options GATEWAY # IP packet forwarding
options INET # Internet protocols
#options INET6 # IPV6
#options GATEWAY # IP packet forwarding
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # Multicast routing support
#options MROUTING # IP multicast routing
#options NS # XNS
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
#options CCITT,LLC,HDLC # X.25
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Special options
options PCCONS_FORCE_WORD # Max out at 16bit accesses to the
# VGA memory
# Kernel root file system and dump configuration.
options NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
isabr* at mainbus0
#### ISA bus devices
#
# ISA Bus.
#
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
isa* at isabr?
#isadma0 at isa?
isa* at isabr?
#isadma0 at isa?
aclock0 at isa? port 0x70 irq 0
aclock0 at isa? port 0x70 irq 0
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
# Joystick driver. Probe is a little strange; add only if you have one.
joy0 at isa? port 0x201
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc* at isapnp?
# IDE drives
# Flags are used only with controllers that support DMA operations
@ -131,48 +168,40 @@ wdc1 at isa? port 0x170 irq 15 flags 0x00
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd* at wdc? channel ? drive ? flags 0x0000
wd* at wdc? channel ? drive ? flags 0x0000
# ATAPI bus support
atapibus* at wdc? channel ?
atapibus* at wdc? channel ?
# ATAPI devices
# flags have the same meaning as for IDE drives.
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# ISA parallel printer interfaces
lpt0 at isa? port 0x378 irq 7
# Parallel Printer Interfaces
# ISA network interfaces
ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
ep0 at isa? port ? irq ? # 3C509 ethernet cards
ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
ne1 at isa? port 0x300 irq 10
#ne* at isapnp? # NE[12]000 PnP ethernet
we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
we1 at isa? port 0x300 iomem 0xcc000 irq 10
#we* at isapnp?
lpt0 at isa? port 0x378 irq 7
#aha0 at isa? port 0x330 irq ? drq ? # Adaptec 154[02] SCSI
#aha1 at isa? port 0x334 irq ? drq ? # Adaptec 154[02] SCSI
#scsibus* at aha?
btl0 at isa? port 0x330 irq ? drq ?
scsibus* at btl?
#wds0 at isa? port 0x350 irq 15 drq 6 # WD7000 and TMC-7000 SCSI
#wds1 at isa? port 0x358 irq 11 drq 5
#scsibus* at wds?
# Network Interfaces
ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
ep0 at isa? port ? irq ? # 3C509 ethernet cards
ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
ne1 at isa? port 0x300 irq 10
we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
we1 at isa? port 0x300 iomem 0xcc000 irq 10
#tel0 at isa? iomem 0xe0000 irq 9 # Teles S0, NICCY 1000, Creatix 8bit
#tel1 at isa? port 0xe80 iomem 0xde000 irq 11 # Teles S0/16, NICCY 1016,
#tel2 at isa? port 0x180 irq 5 # Teles S0/16.3 card (no shared memory)
#aha0 at isa? port 0x330 irq ? drq ? # Adaptec 154[02] SCSI controllers
#aha1 at isa? port 0x334 irq ? drq ? # Adaptec 154[02] SCSI controllers
#scsibus* at aha?
btl0 at isa? port 0x330 irq ? drq ?
scsibus* at btl?
#wds0 at isa? port 0x350 irq 15 drq 6 # WD7000 and TMC-7000 controllers
#wds1 at isa? port 0x358 irq 11 drq 5
#scsibus* at wds?
#
# SCSI Bus devices
#
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
@ -181,18 +210,37 @@ ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
pseudo-device tun 2 # network tunneling over tty
pseudo-device pty 64 # pseudo ptys
pseudo-device tb 1 # tablet line discipline
pseudo-device bpfilter 8 # packet filter ports
#### Pseudo devices
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device loop 1 # network loopback
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
pseudo-device vnd 4 # paging to files
pseudo-device ccd 4 # concatenated disks
#pseudo-device raid 4 # RAIDframe disk driver
#pseudo-device enc 4 # IP encap
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,55 +1,79 @@
# $NetBSD: GENERIC,v 1.26 2000/02/12 03:30:19 thorpej Exp $
# $OpenBSD: GENERIC,v 1.17 1997/05/18 13:45:23 pefo Exp $
# $NetBSD: GENERIC,v 1.27 2000/02/22 11:25:58 soda Exp $
# $OpenBSD: GENERIC,v 1.29 1999/08/29 12:14:03 niklas Exp $
#
# Generic configuration file for MIPS R4x00 ARC Systems
# GENERIC -- everything that's currently supported
#
include "arch/arc/conf/std.arc"
#ident "GENERIC-$Revision: 1.26 $"
#ident "GENERIC-$Revision: 1.27 $"
maxusers 32
# Need to set locally
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
maxusers 32 # estimated number of users
# Standard system options
options KTRACE # system call tracing support
#options LKM # Loadable Kernel Modules
#options NTP # NTP phase/frequency locked loop
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Filesystem options
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
# File systems
file-system FFS # fast filesystem
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
file-system EXT2FS # second extended file system (linux)
file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
file-system PROCFS # /proc
file-system FDESC # user file descriptor filesystem
#file-system UMAPFS # uid/gid remapping filesystem
#file-system UNION # union file system
#file-system NULLFS # null layer filesystem
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
file-system NULLFS # loopback file system
file-system OVERLAY # overlay file system
file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
file-system UMAPFS # NULLFS + uid and gid remapping
file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
options NFSSERVER # Sun NFS-compatible filesystem (server)
#options SCSIVERBOSE # Verbose SCSI errors
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -66,52 +90,50 @@ options NFSSERVER # Sun NFS-compatible filesystem (server)
# Networking options
#options GATEWAY # IP packet forwarding
options INET # Internet protocols
#options INET6 # IPV6
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
#options MULTICAST # Multicast support
#options MROUTING # Multicast routing support
#options NS # XNS
#options IPX # IPX+SPX
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
#options PFIL_HOOKS # pfil(9) packet filter hooks.
#options MROUTING # IP multicast routing
options NS # XNS
#options NSIP # XNS tunneling over IP
options ISO,TPIP # OSI networking
options EON # OSI tunneling over IP
options CCITT,LLC,HDLC # X.25
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
#options KGDB # support for kernel gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="15*256+0" # device for kernel gdb
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Kernel root file system and dump configuration.
options NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#config netbsd root on sd0a type ffs
#config netbsd root on ? type nfs
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
#### Main local buses
#### Pica bus devices
pica* at mainbus0 # ACER Pica systems local bus.
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
#### PICA bus devices
aclock0 at pica?
aclock0 at pica?
pc0 at pica?
opms0 at pica?
com0 at pica?
@ -125,25 +147,33 @@ fd* at fdc? drive ?
asc0 at pica?
scsibus* at asc?
#### ISA Bus.
#### ISA bus devices
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
isa* at isabr?
#isadma0 at isa?
aclock0 at isa? port 0x70 irq 0
aclock0 at isa? port 0x70 irq 0
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
# Joystick driver. Probe is a little strange; add only if you have one.
#joy0 at isa? port 0x201
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
# XXX - should be configured
#wdc0 at isa? port 0x1f0 irq 14 flags 0x00
##wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc0 at isa? port 0x1f0 irq 14 flags 0x00
#wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc* at isapnp?
# IDE drives
# Flags are used only with controllers that support DMA operations
@ -157,42 +187,57 @@ com3 at isa? port 0x2e8 irq 3
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
# XXX - should be configured
#wd* at wdc? channel ? drive ? flags 0x0000
#wd* at wdc? channel ? drive ? flags 0x0000
# ATAPI bus support
# XXX - should be configured
#atapibus* at wdc? channel ?
#atapibus* at wdc? channel ?
# ATAPI devices
# flags have the same meaning as for IDE drives.
# XXX - should be configured
#cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
#sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
#uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# Parallel Printer Interfaces
#cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
#sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
#uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# ISA parallel printer interfaces
lpt0 at isa? port 0x378 irq 7
# Network Interfaces
# XXX - should fix conflict with files.isa
#ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
# XXX - should fix conflict with files.isa
# ISA network interfaces
# XXX - should be configured
#ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
#ep0 at isa? port ? irq ? # 3C509 ethernet cards
# XXX - should fix conflict with files.isa
#ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
#ne1 at isa? port 0x300 irq 10
#we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
#we1 at isa? port 0x300 iomem 0xcc000 irq 10
#ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
#ne1 at isa? port 0x300 irq 10
#ne* at isapnp? # NE[12]000 PnP ethernet
#we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
#we1 at isa? port 0x300 iomem 0xcc000 irq 10
#we* at isapnp?
# XXX - should be configured
#btl0 at isa? port 0x330 irq ? drq ?
#scsibus* at btl?
#scsibus* at btl?
#### SCSI Bus devices
#### Algor bus devices
#algor* at mainbus0 # Algorithmics local bus.
#aclock0 at algor?
#com0 at algor?
#com1 at algor?
#lpt0 at algor?
#### PCI bus devices
#pbcpcibr* at mainbus0 # Algorithmics PCI bus bridge.
#pci* at pbcpcibr?
#pcivga* at pci? dev ? function ?
#ncr* at pci? dev ? function ?
#scsibus* at ncr?
#de* at pci? dev ? function ?
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
@ -201,23 +246,37 @@ ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#### PSEUDO Devices
#### Pseudo devices
pseudo-device loop 1 # network loopback
pseudo-device bpfilter 8 # packet filter ports
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
pseudo-device tun 2 # network tunneling over tty
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
pseudo-device ipfilter # ip filter
pseudo-device pty 64 # pseudo ptys
pseudo-device tb 1 # tablet line discipline
pseudo-device vnd 4 # paging to files
pseudo-device ccd 4 # concatenated disk devices
#pseudo-device raid 4 # RAIDframe disk driver
#pseudo-device md 1 # memory disk devices
# rnd is EXPERIMENTAL
#pseudo-device rnd # /dev/random and in-kernel generator
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,88 +0,0 @@
# $OpenBSD: IMP3,v 1.2 1999/08/29 12:14:03 niklas Exp $
#
# Generic configuration file for MIPS R4x00 ARC Systems
#
machine arc mips
include "../../../conf/GENERIC"
maxusers 32
# MD options
option NATIVE_ELF # Arc systems uses ELF as native format
# Specify storage configuration (its a joke..)
config bsd swap generic
#
# Definition of system
#
mainbus0 at root
cpu* at mainbus0
#### Main local buses
pica* at mainbus0 # ACER Pica systems local bus.
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
#### PICA bus devices
clock0 at pica?
pc0 at pica?
pms0 at pica?
com0 at pica?
com1 at pica?
lpt0 at pica?
sn0 at pica?
fdc0 at pica?
fd* at fdc? drive ?
asc0 at pica?
scsibus* at asc?
#### ISA Bus.
isa* at isabr?
clock0 at isa? port 0x70 irq 0
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
lpt0 at isa? port 0x378 irq 7
# IDE controllers
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc* at isapnp?
# IDE hard drives
wd* at wdc? channel ? drive ? flags 0x0000
# ATAPI<->SCSI
atapiscsi* at wdc? channel ?
scsibus* at atapiscsi?
ep0 at isa? port ? irq ? # 3C509 ethernet cards
we0 at isa? port 0x300 iomem 0xd0000 irq 5 # WD/SMC 80x3 ethernet
ne0 at isa? port 0x300 irq 5 # NE[12]000 ethernet
# iy0 at isa? port 0x300 irq 11 # Intel etherexpress pro/10+
joy0 at isa? port 0x201
btl0 at isa? port 0x330 irq ? drq ?
scsibus* at btl?
#### SCSI Bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?

View File

@ -1,60 +1,79 @@
# $NetBSD: M403,v 1.3 2000/02/12 03:30:19 thorpej Exp $
# $NetBSD: M403,v 1.4 2000/02/22 11:25:58 soda Exp $
#
# Generic configuration file for MIPS Magnum 4000 system
# configuration file for MIPS Magnum 4000 system
#
include "arch/arc/conf/std.arc"
maxusers 32
maxusers 32 # estimated number of users
# Need to set locally
options RTC_OFFSET=-540 # hardware clock is this many mins. Japan
# Misc. arc-specific options
options COMCONSOLE
# Standard system options
options KTRACE # system call tracing support
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
#options KGDB # support for kernel gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="15*256+0" # device for kernel gdb
options RTC_OFFSET=-540 # hardware clock is this many mins. (Japan)
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Filesystem options
file-system FFS # fast filesystem
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
file-system PROCFS # /proc
file-system FDESC # user file descriptor filesystem
#file-system UMAPFS # uid/gid remapping filesystem
#file-system UNION # union file system
#file-system NULLFS # null layer filesystem
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
# File systems
file-system FFS # fast filesystem
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
options NFSSERVER # Sun NFS-compatible filesystem (server)
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -70,36 +89,49 @@ options NFSSERVER # Sun NFS-compatible filesystem (server)
#prefix
# Networking options
options INET # Internet protocols
#options INET6 # IPV6
#options GATEWAY # IP packet forwarding
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
options GATEWAY # IP packet forwarding
#options MULTICAST # Multicast support
#options MROUTING # Multicast routing support
#options MROUTING # IP multicast routing
#options NS # XNS
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
#options CCITT,LLC,HDLC # X.25
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
# Special options
options COMCONSOLE
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Kernel root file system and dump configuration.
# XXX #options NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
options NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
pica* at mainbus0
#### Pica bus devices
aclock0 at pica?
pica* at mainbus0 # ACER Pica systems local bus.
aclock0 at pica?
#pc0 at pica?
#opms0 at pica?
com0 at pica?
@ -113,6 +145,16 @@ fd* at fdc? drive ?
asc0 at pica?
scsibus* at asc?
#### ISA bus devices
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
isa* at isabr?
com2 at isa? port 0x3f8 irq 4
com3 at isa? port 0x2f8 irq 3
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
@ -120,25 +162,37 @@ ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#
# ISA Bus.
#
isabr* at mainbus0
#### Pseudo devices
isa* at isabr?
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
com2 at isa? port 0x3f8 irq 4
com3 at isa? port 0x2f8 irq 3
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
pseudo-device pty 64 # pseudo ptys
pseudo-device bpfilter 16 # packet filter ports
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device loop
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
pseudo-device vnd 4 # virtual disk
pseudo-device ccd 4 # concatenated disks
#pseudo-device raid 4 # RAIDframe disk driver
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,5 +1,5 @@
# $NetBSD: Makefile.arc,v 1.33 2000/02/01 05:25:27 tsutsui Exp $
# $OpenBSD: Makefile.arc,v 1.8 1997/05/21 10:06:49 pefo Exp $
# $NetBSD: Makefile.arc,v 1.34 2000/02/22 11:25:58 soda Exp $
# $OpenBSD: Makefile.arc,v 1.13 1999/08/15 20:43:57 niklas Exp $
# Makefile for NetBSD
#
@ -187,9 +187,6 @@ SRCS= ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S \
${ARC}/arc/locore_machdep.S \
param.c ioconf.c ${CFILES} ${SFILES}
depend: .depend
#OBSOLETE:
#.depend: ${SRCS} assym.h param.c
# ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${ARC}/arc/locore.S ${ARC}/arc/fp.S
.depend: ${SRCS} assym.h param.c
${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S
${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${ARC}/arc/locore_machdep.S

View File

@ -1,126 +0,0 @@
# $OpenBSD: NFSROOT,v 1.2 1999/08/29 12:14:03 niklas Exp $
#
# Generic configuration file for MIPS R4x00 ARC Systems
#
machine arc mips
option SCSITERSE
maxusers 4
option TIMEZONE=0 # time zone to adjust RTC time by
option DST=0 # daylight savings time used by RTC
option SWAPPAGER # paging; REQUIRED
option DEVPAGER # mmap() of devices
#makeoptions DEBUG="-g" # compile full symbol table
option FFS # UFS
#option EXT2FS # Linux ext2fs
option NFSCLIENT # Network File System client
#option CD9660 # ISO 9660 + Rock Ridge file system
option MSDOSFS # MS-DOS file system
option FIFO # FIFOs; RECOMMENDED
option KERNFS # /kern
option INET # IP + ICMP + TCP + UDP
option BOOT_CONFIG # boot-time kernel config
#option DDB
# MD options
option NATIVE_ELF # Arc systems uses ELF as native format
# Specify storage configuration (its a joke..)
config bsd swap generic
#
# Definition of system
#
mainbus0 at root
cpu* at mainbus0
#### Main local buses
#pica* at mainbus0 # ACER Pica systems local bus.
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
#### PICA bus devices
#clock0 at pica?
#pc0 at pica?
#pms0 at pica?
#com0 at pica?
#com1 at pica?
#lpt0 at pica?
#sn0 at pica?
#fdc0 at pica?
#fd* at fdc? drive ?
#asc0 at pica?
#scsibus* at asc?
#### ISA Bus.
isa* at isabr?
clock0 at isa? port 0x70 irq 0
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
lpt0 at isa? port 0x378 irq 7
# Joystick driver. Probe is a little strange; add only if you have one.
# joy0 at isa? port 0x201
# IDE controllers
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc* at pcmcia? function ?
#wdc* at isapnp?
# IDE hard drives
wd* at wdc? channel ? drive ? flags 0x0000
# ATAPI<->SCSI
atapiscsi* at wdc? channel ?
scsibus* at atapiscsi?
ep0 at isa? port ? irq ? # 3C509 ethernet cards
we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC 80x3 ethernet
we1 at isa? port 0x300 iomem 0xcc000 irq 10 #
#we* at isapnp?
ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3C503 ethernet
ne0 at isa? port 0x240 irq 9 # NE[12]000 ethernet
ne1 at isa? port 0x300 irq 10 # NE[12]000 ethernet
ne2 at isa? port 0x280 irq 9 # NE[12]000 ethernet
#ne* at isapnp? # NE[12]000 PnP ether cards
btl0 at isa? port 0x330 irq ? drq ?
scsibus* at btl?
#### SCSI Bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
pseudo-device loop 1 # network loopback
#pseudo-device sl 1 # CSLIP
#pseudo-device ppp 1 # PPP
pseudo-device bpfilter 1 # packet filter
pseudo-device pty 64 # pseudo-terminals
pseudo-device vnd 4 # concatenated disk devices
pseudo-device ksyms 1 # kernel symbols device

View File

@ -1,59 +1,77 @@
# $NetBSD: P4032,v 1.3 2000/01/26 12:48:44 soda Exp $
# $OpenBSD: P4032,v 1.1 1997/05/18 13:45:23 pefo Exp $
# $NetBSD: P4032,v 1.4 2000/02/22 11:25:59 soda Exp $
# $OpenBSD: P4032,v 1.5 1998/03/16 09:38:36 pefo Exp $
#
# Generic configuration file for Algorithmics P4032 board
# configuration file for Algorithmics P4032 board
#
include "arch/arc/conf/std.arc"
maxusers 32
# Need to set locally
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
maxusers 32 # estimated number of users
# Standard system options
options KTRACE # system call tracing support
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Filesystem options
file-system FFS # fast filesystem with user and group quotas
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
file-system PROCFS # /proc
file-system FDESC # user file descriptor filesystem (/dev/fd)
file-system UMAPFS # uid/gid remapping filesystem
file-system UNION # union file system
file-system NULLFS # null layer filesystem
file-system OVERLAY # overlay file system
file-system PORTAL # portal filesystem (still experimental)
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
options FIFO # POSIX fifo support (in all filesystems)
# File systems
file-system FFS # fast filesystem
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
options NFSSERVER # Sun NFS-compatible filesystem (server)
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -70,53 +88,64 @@ options NFSSERVER # Sun NFS-compatible filesystem (server)
# Networking options
#options GATEWAY # IP packet forwarding
options INET # Internet protocols
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # IP multicast routing
#options NS # XNS
#options IPX # IPX+SPX
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
#options MULTICAST # Multicast support
#options MROUTING # Multicast routing support
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Kernel root file system and dump configuration.
options NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
#### Main local buses
algor* at mainbus0 # Algorithmics local bus.
pbcpcibr* at mainbus0 # PCI Bus bridge.
#### Algor bus devices
aclock0 at algor?
algor* at mainbus0 # Algorithmics local bus.
aclock0 at algor?
com0 at algor?
com1 at algor?
lpt0 at algor?
#### PCI Bus
#### PCI bus devices
pbcpcibr* at mainbus0 # Algorithmics PCI bus bridge.
pci* at pbcpcibr?
#pcivga* at pci? dev ? function ?
#pcivga* at pci? dev ? function ?
ncr* at pci? dev ? function ?
scsibus* at ncr?
de* at pci? dev ? function ?
#### SCSI Bus devices
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
@ -125,21 +154,37 @@ ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#### PSEUDO Devices
#### Pseudo devices
pseudo-device loop 1 # network loopback
pseudo-device bpfilter 8 # packet filter ports
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
pseudo-device tun 2 # network tunneling over tty
pseudo-device ipfilter # ip filter
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
pseudo-device pty 64 # pseudo ptys
pseudo-device tb 1 # tablet line discipline
pseudo-device vnd 4 # paging to files
pseudo-device ccd 4 # concatenated disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 4 # memory disk devices
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,51 +1,76 @@
# $NetBSD: PICA,v 1.17 2000/02/12 03:30:19 thorpej Exp $
# $NetBSD: PICA,v 1.18 2000/02/22 11:25:59 soda Exp $
#
# Generic configuration file for MIPS R4400 PICA system
# configuration file for ACER PICA system
#
include "arch/arc/conf/std.arc"
maxusers 32
# Need to set locally
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
maxusers 32 # estimated number of users
# Standard system options
options KTRACE # system call tracing support
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
#options KGDB # support for kernel gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="15*256+0" # device for kernel gdb
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Filesystem options
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
# File systems
file-system FFS # fast filesystem
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
file-system PROCFS # /proc
file-system FDESC # user file descriptor filesystem
#file-system UMAPFS # uid/gid remapping filesystem
#file-system UNION # union file system
#file-system NULLFS # null layer filesystem
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
options NFSSERVER # Sun NFS-compatible filesystem (server)
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -61,42 +86,49 @@ options NFSSERVER # Sun NFS-compatible filesystem (server)
#prefix
# Networking options
options INET # Internet protocols
#options GATEWAY # IP packet forwarding
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
options GATEWAY # IP packet forwarding
#options MULTICAST # Multicast support
#options MROUTING # Multicast routing support
#options MROUTING # IP multicast routing
#options NS # XNS
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
# Special options
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Kernel root file system and dump configuration.
options NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
pica* at mainbus0
#### Pica bus devices
aclock0 at pica?
pica* at mainbus0 # ACER Pica systems local bus.
aclock0 at pica?
pc0 at pica?
opms0 at pica?
com0 at pica?
@ -110,6 +142,16 @@ fd* at fdc? drive ?
asc0 at pica?
scsibus* at asc?
#### ISA bus devices
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
isa* at isabr?
com2 at isa? port 0x3f8 irq 4
com3 at isa? port 0x2f8 irq 3
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
@ -117,25 +159,37 @@ ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#
# ISA Bus.
#
isabr* at mainbus0
#### Pseudo devices
isa* at isabr?
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
com2 at isa? port 0x3f8 irq 4
com3 at isa? port 0x2f8 irq 3
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
pseudo-device pty 64 # pseudo ptys
pseudo-device bpfilter 16 # packet filter ports
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device loop
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
pseudo-device vnd 4 # virtual disk
pseudo-device ccd 4 # concatenated disks
#pseudo-device raid 4 # RAIDframe disk driver
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,50 +1,87 @@
# $NetBSD: RAMDISK,v 1.3 2000/01/26 12:48:44 soda Exp $
# $OpenBSD: RAMDISK,v 1.2 1997/05/19 10:34:54 pefo Exp $
# $NetBSD: RAMDISK,v 1.4 2000/02/22 11:25:59 soda Exp $
# $OpenBSD: RAMDISK,v 1.9 1999/08/29 12:14:03 niklas Exp $
#
# Generic configuration file for MIPS R4x00 ARC Systems
# memory disk based configuration file for MIPS R4x00 ARC Systems
#
include "arch/arc/conf/std.arc"
maxusers 4
#ident "GENERIC-$Revision: 1.4 $"
# Need to set locally
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
maxusers 4 # estimated number of users
# Enable the hooks used for initializing the root memory-disk.
options MEMORY_DISK_HOOKS
options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=0 # no userspace memory disk support
options MINIROOTSIZE=8192 # size of memory disk, in blocks
makeoptions COPTS="-Os" # generates smaller code than -O2, -O1
# Standard system options
options KTRACE # system call tracing support
# Diagnostic/debugging support options
options DIAGNOSTIC # extra kernel debugging checks
options DEBUG # extra kernel debugging support
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
# System V options
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options SHMMAXPGS=1024 # 1024 pages is the default
#options SHMMAXPGS=1024 # 1024 pages is the default
# Filesystem options
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
#options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options KGDB # remote gdb
#options KGDBRATE=19200 # kernel gdb port rate (default 9600)
#options KGDBDEV="17*256+0" # device for kernel gdb
#makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_10 # NetBSD 1.0,
options COMPAT_11 # NetBSD 1.1,
options COMPAT_12 # NetBSD 1.2,
options COMPAT_13 # NetBSD 1.3,
options COMPAT_14 # NetBSD 1.4,
options COMPAT_43 # and 4.3BSD
options COMPAT_386BSD_MBRPART # recognize old partition ID
# mipsel specific
options COMPAT_ULTRIX # Ultrix binary compatibility
options EXEC_ECOFF # Ultrix RISC binaries are ECOFF format
# File systems
file-system FFS # fast filesystem
file-system MFS # memory-based filesystem
#file-system LFS # Log-based filesystem (still experimental)
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # Ability to read write MS-Dos filsystem
file-system NFS # Sun NFS-compatible filesystem (client)
file-system KERNFS # kernel data-structure filesystem
#file-system PROCFS # /proc
#file-system FDESC # user file descriptor filesystem
#file-system UMAPFS # uid/gid remapping filesystem
#file-system UNION # union file system
#file-system NULLFS # null layer filesystem
file-system MSDOSFS # MS-DOS file system
file-system NFS # Network File System client
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PORTAL # portal filesystem (still experimental)
#file-system PORTAL # portal filesystem (still experimental)
file-system PROCFS # /proc
#file-system UMAPFS # NULLFS + uid and gid remapping
#file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
options FIFO # POSIX fifo support (in all filesystems)
# File system options
options QUOTA # FFS quotas
#options FFS_EI # FFS Endian Independant support
#options FFS_EI # FFS Endian Independent support
#options SOFTDEP # FFS soft updates support.
#options NFSSERVER # Sun NFS-compatible filesystem (server)
options NFSSERVER # Network File System server
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Pull in config fragments for kernel crypto. This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
@ -61,51 +98,48 @@ options QUOTA # FFS quotas
# Networking options
#options GATEWAY # IP packet forwarding
options INET # Internet protocols
#options INET6 # IPV6
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # Multicast routing support
#options MROUTING # IP multicast routing
#options NS # XNS
#options IPX # IPX+SPX
#options NSIP # XNS tunneling over IP
#options ISO,TPIP # OSI networking
#options EON # OSI tunneling over IP
#options CCITT,LLC,HDLC # X.25
#options PFIL_HOOKS # pfil(9) packet filter hooks.
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
# Compatibilitry modules
options COMPAT_43 # compatibility with 4.3BSD binaries
options COMPAT_11
options COMPAT_12
options COMPAT_13
options COMPAT_14
#options COMPAT_ULTRIX # Ultrix binary compatibility (no go yet)
#options TCP_COMPAT_42 # compatibility with 4.2BSD TCP/IP
options COMPAT_386BSD_MBRPART # recognize old partition ID
# Compatibility with 4.2BSD implementation of TCP/IP. Not recommended.
#options TCP_COMPAT_42
# Kernel root file system congiguration for memory disk
config netbsd root on md0 type ffs
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options EISAVERBOSE # verbose EISA device autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
options SCSIVERBOSE # human readable SCSI error messages
# Enable the hooks used for initializing the ram-disk.
options MEMORY_DISK_HOOKS
options MEMORY_DISK_IS_ROOT # Force root on ram-disk
options MINIROOTSIZE=8192 # 4 Megabytes
# Kernel root file system and dump configuration.
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config netbsd root on ? type ?
#
# Definition of system
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
#### Main local buses
#### Pica bus devices
pica* at mainbus0 # ACER Pica systems local bus.
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
#### PICA bus devices
aclock0 at pica?
aclock0 at pica?
pc0 at pica?
opms0 at pica?
com0 at pica?
@ -119,24 +153,33 @@ fd* at fdc? drive ?
asc0 at pica?
scsibus* at asc?
#### ISA Bus.
#### ISA bus devices
isabr* at mainbus0 # ISA Bus bridge (std ISA bus).
isa* at isabr?
#isadma0 at isa?
aclock0 at isa? port 0x70 irq 0
aclock0 at isa? port 0x70 irq 0
pc0 at isa? port 0x60 irq 1 # generic PC console device
com0 at isa? port 0x3f8 irq 4
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 4
com3 at isa? port 0x2e8 irq 3
ast0 at isa? port 0x1a0 irq 3 # AST 4-port serial cards
com* at ast? slave ?
# Joystick driver. Probe is a little strange; add only if you have one.
#joy0 at isa? port 0x201
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
#wdc1 at isa? port 0x170 irq 15 flags 0x00
# XXX - should be configured
#wdc0 at isa? port 0x1f0 irq 14 flags 0x00
#wdc1 at isa? port 0x170 irq 15 flags 0x00
#wdc* at isapnp?
# IDE drives
# Flags are used only with controllers that support DMA operations
@ -149,52 +192,97 @@ wdc0 at isa? port 0x1f0 irq 14 flags 0x00
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd* at wdc? channel ? drive ? flags 0x0000
# XXX - should be configured
#wd* at wdc? channel ? drive ? flags 0x0000
# ATAPI bus support
atapibus* at wdc? channel ?
# XXX - should be configured
#atapibus* at wdc? channel ?
# ATAPI devices
# flags have the same meaning as for IDE drives.
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# XXX - should be configured
#cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
#sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
#uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# ISA parallel printer interfaces
lpt0 at isa? port 0x378 irq 7
ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
ep0 at isa? port ? irq ? # 3C509 ethernet cards
ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
ne1 at isa? port 0x300 irq 10
we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
we1 at isa? port 0x300 iomem 0xcc000 irq 10
btl0 at isa? port 0x330 irq ? drq ?
scsibus* at btl?
# ISA network interfaces
# XXX - should be configured
#ec0 at isa? port 0x250 iomem 0xd8000 irq 9 # 3Com 3c503 Ethernet
#ep0 at isa? port ? irq ? # 3C509 ethernet cards
#ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
#ne1 at isa? port 0x300 irq 10
#ne* at isapnp? # NE[12]000 PnP ethernet
#we0 at isa? port 0x280 iomem 0xd0000 irq 9 # WD/SMC Ethernet
#we1 at isa? port 0x300 iomem 0xcc000 irq 10
#we* at isapnp?
#### SCSI Bus devices
# XXX - should be configured
#btl0 at isa? port 0x330 irq ? drq ?
#scsibus* at btl?
#### Algor bus devices
#algor* at mainbus0 # Algorithmics local bus.
#aclock0 at algor?
#com0 at algor?
#com1 at algor?
#lpt0 at algor?
#### PCI bus devices
#pbcpcibr* at mainbus0 # Algorithmics PCI bus bridge.
#pci* at pbcpcibr?
#pcivga* at pci? dev ? function ?
#ncr* at pci? dev ? function ?
#scsibus* at ncr?
#de* at pci? dev ? function ?
#### SCSI bus devices
sd* at scsibus? target ? lun ?
st* at scsibus? target ? lun ?
cd* at scsibus? target ? lun ?
#ch* at scsibus? target ? lun ?
#ss* at scsibus? target ? lun ?
#uk* at scsibus? target ? lun ?
ch* at scsibus? target ? lun ?
ss* at scsibus? target ? lun ?
uk* at scsibus? target ? lun ?
#### PSEUDO Devices
#### Pseudo devices
pseudo-device loop 1 # network loopback
#pseudo-device bpfilter 8 # packet filter ports
# disk/mass storage pseudo-devices
pseudo-device ccd 4 # concatenated/striped disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop 1 # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device sl 2 # Serial Line IP
#pseudo-device strip 2 # Starmode Radio IP (Metricom)
pseudo-device tun 2 # network tunneling over tty
#pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device sl 2 # serial-line IP ports
pseudo-device ppp 2 # serial-line PPP ports
#pseudo-device tun 2 # network tunneling over tty
#pseudo-device ipfilter # ip filter
#pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device ipip 2 # IP Encapsulation within IP (RFC 2003)
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
#pseudo-device pty 64 # pseudo ptys
#pseudo-device tb 1 # tablet line discipline
#pseudo-device vnd 4 # paging to files
#pseudo-device ccd 4 # concatenated disk devices
#pseudo-device raid 4 # RAIDframe disk driver
pseudo-device md 1 # memory disk devices
# miscellaneous pseudo-devices
pseudo-device pty 64 # pseudo-terminals
#pseudo-device tb 1 # tablet line discipline
#pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device rnd # /dev/random and in-kernel generator
#options RND_COM # use "com" randomness as well (BROKEN)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# mouse & keyboard multiplexor pseudo-devices
#pseudo-device wsmux 2

View File

@ -1,5 +1,5 @@
# $NetBSD: files.arc,v 1.15 2000/01/26 12:48:45 soda Exp $
# $OpenBSD: files.arc,v 1.15 1997/05/18 13:45:24 pefo Exp $
# $NetBSD: files.arc,v 1.16 2000/02/22 11:25:59 soda Exp $
# $OpenBSD: files.arc,v 1.21 1999/09/11 10:20:20 niklas Exp $
#
# maxpartitions must be first item in files.${ARCH}
#
@ -15,11 +15,7 @@ file arch/arc/arc/disksubr.c
file arch/arc/dev/dma.c
file arch/arc/arc/machdep.c
#file arch/arc/arc/minidebug.c
#file arch/arc/arc/pmap.c
#file arch/arc/arc/sys_machdep.c
#file arch/arc/arc/trap.c
file arch/arc/arc/arc_trap.c
#file arch/arc/arc/vm_machdep.c
file arch/arc/arc/arcbios.c
@ -72,7 +68,7 @@ file arch/arc/pci/pbcpcibus.c pbcpcibr
# Ethernet chip on PICA bus
device sn: ifnet, ether, arp
attach sn at pica
file arch/arc/dev/if_sn.c sn needs-count
file arch/arc/dev/if_sn.c sn
# Use machine independent SCSI driver routines
include "dev/scsipi/files.scsipi"
@ -82,7 +78,7 @@ major {cd = 3}
# Symbios 53C94 SCSI interface driver on PICA bus
device asc: scsi
attach asc at pica
file arch/arc/dev/asc.c asc needs-count
file arch/arc/dev/asc.c asc
# Floppy disk controller on PICA bus
device fdc {drive = -1}
@ -119,13 +115,17 @@ file arch/arc/dev/pccons.c pc & (pc_pica | pc_isa) needs-flag
# BusLogic BT-445C VLB SCSI Controller. Special on TYNE local bus.
device btl: scsi
attach btl at isa
file arch/arc/dti/btl.c btl needs-count
file arch/arc/dti/btl.c btl
# NS16450/16550 Serial line driver
attach com at pica with com_pica
attach com at algor with com_algor
file arch/arc/dev/com_lbus.c com & (com_pica | com_algor)
# Game adapter (joystick)
device joy
attach joy at isa
file arch/arc/isa/joy.c joy needs-flag
# National Semiconductor DS8390/WD83C690-based boards
# (WD/SMC 80x3 family, SMC Ultra [8216], 3Com 3C503, NE[12]000, and clones)
@ -154,7 +154,7 @@ file arch/arc/pci/pci_vga.c pcivga
#
# Specials.
#
# memory disk for boot tape
# memory disk for installation
file arch/arc/dev/md_root.c memory_disk_hooks
major {md = 8}

View File

@ -1,5 +1,5 @@
/* $NetBSD: asc.c,v 1.20 2000/01/23 21:01:53 soda Exp $ */
/* $OpenBSD: asc.c,v 1.5 1997/04/19 17:19:50 pefo Exp $ */
/* $NetBSD: asc.c,v 1.21 2000/02/22 11:25:59 soda Exp $ */
/* $OpenBSD: asc.c,v 1.9 1998/03/16 09:38:39 pefo Exp $ */
/* NetBSD: asc.c,v 1.10 1994/12/05 19:11:12 dean Exp */
/*-
@ -121,9 +121,6 @@
*
*/
#include <asc.h>
#if NASC > 0
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/dkstat.h>
@ -152,7 +149,6 @@
#define readback(a) { register int foo; foo = (a); }
extern int cputype;
/*
* In 4ns ticks.
@ -407,7 +403,7 @@ typedef struct scsi_state {
int dmaresid; /* amount not transfered if chunk suspended */
int cmdlen; /* length of command in cmd */
int buflen; /* total remaining amount of data to transfer */
vm_offset_t buf; /* current pointer within scsicmd->buf */
vaddr_t buf; /* current pointer within scsicmd->buf */
int flags; /* see below */
int msglen; /* number of message bytes to read */
int msgcnt; /* number of message bytes received */
@ -487,7 +483,9 @@ struct scsipi_device asc_dev = {
static int asc_intr __P((void *));
static int asc_poll __P((struct asc_softc *, int));
#ifdef DEBUG
static void asc_DumpLog __P((char *));
#endif
/*
* Match driver based on name
@ -538,10 +536,10 @@ ascattach(parent, self, aux)
bufsiz = 64 * 1024;
};
/*
* Now for timing. The pica has a 25Mhz, NEC RISCstation has a 40MHz.
* Now for timing. The pica has a 25Mhz, NEC M403 has a 40MHz.
*/
switch (cputype) {
case MAGNUM:
case MAGNUM: /* XXX - NEC M403 */
asc->min_period = ASC_MIN_PERIOD40;
asc->max_period = ASC_MAX_PERIOD40;
asc->ccf = ASC_CCF(40);
@ -677,7 +675,7 @@ asc_scsi_cmd(xs)
* Flush caches for any data buffer
*/
if(xs->datalen != 0) {
mips3_HitFlushDCache((vm_offset_t)xs->data, xs->datalen);
mips3_HitFlushDCache((vaddr_t)xs->data, xs->datalen);
}
/*
* The hack on the next few lines are to avoid buffers
@ -773,7 +771,7 @@ asc_reset(asc, regs)
/* include ASC_CNFG2_SCSI2 if you want to allow SCSI II commands */
regs->asc_cnfg2 = /* ASC_CNFG2_RFB | ASC_CNFG2_SCSI2 | */ ASC_CNFG2_EPL;
switch (cputype) {
case MAGNUM: /* NEC RISCstation */
case MAGNUM: /* XXX - NEC M403 */
/* only if EPL is FE (Feature Enable bit for 53CF94) */
regs->asc_cnfg3 = ASC_CNFG3_FCLK; /* clock 40MHz */
break;
@ -837,7 +835,7 @@ asc_startcmd(asc, target)
if(!(state->flags & CHECK_SENSE)) {
bcopy(scsicmd->cmd, &state->cmd, scsicmd->cmdlen);
state->cmdlen = scsicmd->cmdlen;
state->buf = (vm_offset_t)scsicmd->data;
state->buf = (vaddr_t)scsicmd->data;
state->buflen = scsicmd->datalen;
}
len = state->cmdlen;
@ -872,7 +870,7 @@ asc_startcmd(asc, target)
state->flags |= TRY_SYNC;
} else
asc->script = &asc_scripts[SCRIPT_SIMPLE];
state->buf = (vm_offset_t)0;
state->buf = (vaddr_t)0;
}
#ifdef DEBUG
@ -1433,7 +1431,7 @@ asc_end(asc, status, ss, ir)
ss->byte2 = sc_link->scsipi_scsi.lun << 5;
ss->length = sizeof(struct scsipi_sense_data);
state->cmdlen = sizeof(*ss);
state->buf = (vm_offset_t)&scsicmd->sense.scsi_sense;
state->buf = (vaddr_t)&scsicmd->sense.scsi_sense;
state->buflen = sizeof(struct scsipi_sense_data);
state->flags |= CHECK_SENSE;
mips3_HitFlushDCache(state->buf, state->buflen);
@ -2110,5 +2108,3 @@ asc_DumpLog(str)
} while (lp != asc_logp);
}
#endif /* DEBUG */
#endif /* NASC > 0 */

View File

@ -1,4 +1,5 @@
/* $OpenBSD: com_lbus.c,v 1.4 1997/05/01 15:18:13 pefo Exp $ */
/* $NetBSD: com_lbus.c,v 1.10 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: com_lbus.c,v 1.7 1998/03/16 09:38:41 pefo Exp $ */
/* NetBSD: com_isa.c,v 1.12 1998/08/15 17:47:17 mycroft Exp */
/*-
@ -151,7 +152,7 @@ com_localbus_attach(parent, self, aux)
}
sc->sc_frequency = com_freq;
SET(sc->sc_hwflags, COM_HW_TXFIFO_DISABLE);
SET(sc->sc_hwflags, COM_HW_TXFIFO_DISABLE); /* XXX - NEC M403 */
BUS_INTR_ESTABLISH(ca, comintr, sc);
com_attach_subr(sc);

View File

@ -1,5 +1,5 @@
/* $NetBSD: dma.c,v 1.11 2000/01/23 21:01:53 soda Exp $ */
/* $OpenBSD: dma.c,v 1.4 1997/04/19 17:19:51 pefo Exp $ */
/* $NetBSD: dma.c,v 1.12 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: dma.c,v 1.5 1998/03/01 16:49:57 niklas Exp $ */
/*
* Copyright (c) 1992, 1993
@ -71,7 +71,6 @@ void picaDmaReset __P((dma_softc_t *sc));
void picaDmaEnd __P((dma_softc_t *sc));
void picaDmaNull __P((dma_softc_t *sc));
extern vm_map_t phys_map;
#define dma_pte_to_pa(x) (((x) - first_dma_pte) * R4030_DMA_PAGE_SIZE)
@ -79,7 +78,6 @@ extern vm_map_t phys_map;
dma_pte_t *free_dma_pte; /* Pointer to free dma pte list */
dma_pte_t *first_dma_pte; /* Pointer to first dma pte */
/*
* Initialize the dma mapping register area and pool.
*/
@ -88,7 +86,7 @@ picaDmaInit()
{
int map = PICA_TL_BASE;
mips3_FlushCache(); /* Make shure no map entries are cached */
mips3_FlushCache(); /* Make sure no map entries are cached */
bzero((char *)map, PICA_TL_SIZE);
free_dma_pte = (dma_pte_t *)map;
@ -194,8 +192,8 @@ picaDmaTLBFree(dma_softc_t *dma)
void
picaDmaTLBMap(dma_softc_t *sc)
{
vm_offset_t pa;
vm_offset_t va;
paddr_t pa;
vaddr_t va;
dma_pte_t *dma_pte;
int nbytes;
@ -278,7 +276,7 @@ picaDmaMap(sc, addr, size, offset)
{
/* Remap request space va into dma space va */
sc->req_va = (int)addr;
sc->req_va = (vaddr_t)addr;
sc->next_va = sc->dma_va + dma_page_offs(addr) + offset;
sc->next_size = size;

View File

@ -1,4 +1,4 @@
/* $NetBSD: dma.h,v 1.5 2000/01/23 21:01:53 soda Exp $ */
/* $NetBSD: dma.h,v 1.6 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: dma.h,v 1.3 1997/04/19 17:19:51 pefo Exp $ */
/*
@ -48,14 +48,14 @@
* Hardware dma registers.
*/
typedef volatile struct {
int dma_mode;
int pad1;
int dma_enab;
int pad2;
int dma_count;
int pad3;
vm_offset_t dma_addr;
int pad4;
int32_t dma_mode;
int32_t pad1;
int32_t dma_enab;
int32_t pad2;
int32_t dma_count;
int32_t pad3;
int32_t dma_addr;
int32_t pad4;
} DmaReg, *pDmaReg;
#define R4030_DMA_MODE_40NS 0x00 /* Device dma timing */
@ -95,8 +95,8 @@ typedef volatile struct {
typedef union dma_pte {
struct {
vm_offset_t lo_addr; /* Low part of translation addr */
vm_offset_t hi_addr; /* High part of translation addr */
paddr_t lo_addr; /* Low part of translation addr */
paddr_t hi_addr; /* High part of translation addr */
} entry;
struct bbb {
union dma_pte *next; /* Next free translation entry */
@ -111,9 +111,9 @@ typedef union dma_pte {
typedef struct dma_softc {
struct device sc_dev; /* use as a device */
struct esp_softc *sc_esp;
vm_offset_t dma_va; /* Viritual address for transfer */
int req_va; /* Original request va */
vm_offset_t next_va; /* Value to program into dma regs */
bus_addr_t dma_va; /* Viritual address for transfer */
vaddr_t req_va; /* Original request va */
bus_addr_t next_va; /* Value to program into dma regs */
int next_size; /* Value to program into dma regs */
int mode; /* Mode register value and direction */
dma_pte_t *pte_base; /* Pointer to dma tlb array */

View File

@ -1,5 +1,5 @@
/* $NetBSD: fd.c,v 1.16 2000/02/07 20:16:49 thorpej Exp $ */
/* $OpenBSD: fd.c,v 1.5 1997/04/19 17:19:52 pefo Exp $ */
/* $NetBSD: fd.c,v 1.17 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: fd.c,v 1.6 1998/10/03 21:18:57 millert Exp $ */
/* NetBSD: fd.c,v 1.78 1995/07/04 07:23:09 mycroft Exp */
/*-
@ -92,6 +92,7 @@
#include <sys/queue.h>
#include <vm/vm.h>
#include <machine/bus.h>
#include <machine/cpu.h>
#include <machine/pio.h>
#include <machine/autoconf.h>
@ -922,8 +923,8 @@ loop:
#endif
}}
#endif
mips3_FlushDCache((vm_offset_t) (bp->b_data + fd->sc_skip),
(vm_offset_t) fd->sc_nbytes);
mips3_FlushDCache((vaddr_t) (bp->b_data + fd->sc_skip),
(vsize_t) fd->sc_nbytes);
read = bp->b_flags & B_READ ? DMA_FROM_DEV : DMA_TO_DEV;
DMA_START(fdc->dma, bp->b_data + fd->sc_skip, fd->sc_nbytes, read);
outb(iobase + fdctl, type->rate);

View File

@ -1,5 +1,5 @@
/* $NetBSD: if_sn.c,v 1.15 2000/01/23 21:01:54 soda Exp $ */
/* $OpenBSD: if_sn.c,v 1.9 1997/04/19 17:19:52 pefo Exp $ */
/* $NetBSD: if_sn.c,v 1.16 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: if_sn.c,v 1.12 1999/05/13 15:44:48 jason Exp $ */
/*
* National Semiconductor SONIC Driver
@ -11,7 +11,6 @@
* it.
*/
#include "sn.h"
#include "opt_inet.h"
#include "opt_ns.h"
#include "bpfilter.h"
@ -33,7 +32,6 @@
#include <machine/autoconf.h>
#include <arc/arc/arctype.h> /* XXX - cputype */
extern int cputype;
#include <net/if.h>
#include <net/if_dl.h>
@ -48,6 +46,11 @@ extern int cputype;
#include <netinet/if_inarp.h>
#endif
#ifdef NS
#include <netns/ns.h>
#include <netns/ns_if.h>
#endif
#include <vm/vm.h>
#if NBPFILTER > 0
@ -59,19 +62,20 @@ extern int cputype;
#include <sys/rnd.h>
#endif
#include <arc/dev/dma.h>
#define SONICDW 32
typedef unsigned char uchar;
#include <mips/cpuregs.h> /* XXX */
#include <arc/dev/if_snreg.h>
#define SWR(a, x) (a) = (x)
#define SRD(a) ((a) & 0xffff)
#include <machine/cpu.h>
#include <machine/bus.h>
#include <mips/locore.h> /* for mips3_HitFlushDCache() */
#include <mips/cpuregs.h> /* XXX */
#include <arc/dev/dma.h>
#define SONICDW 32
#include <arc/dev/if_snreg.h>
#define SWR(a, x) (a) = (x)
#define SRD(a) ((a) & 0xffff)
/*
* Statistics collected over time
@ -232,7 +236,7 @@ struct mtd *mtdnext; /* next descriptor to give to chip */
void mtd_free __P((struct mtd *));
struct mtd *mtd_alloc __P((void));
int sngetaddr __P((struct sn_softc *sc, uchar *ap));
int sngetaddr __P((struct sn_softc *sc, u_int8_t *ap));
int sninit __P((struct sn_softc *sc));
int snstop __P((struct sn_softc *sc));
int sonicput __P((struct sn_softc *sc, struct mbuf *m0));
@ -269,7 +273,7 @@ snattach(parent, self, aux)
struct confargs *ca = aux;
struct ifnet *ifp = &sc->sc_if;
int p, pp;
uchar myaddr[ETHER_ADDR_LEN];
u_int8_t myaddr[ETHER_ADDR_LEN];
sc->sc_csr = (struct sonic_reg *)BUS_CVTADDR(ca);
@ -372,6 +376,22 @@ snioctl(ifp, cmd, data)
arp_ifinit(&sc->sc_ec.ec_if, ifa);
break;
#endif
#ifdef NS
case AF_NS:
{
struct ns_addr *ina = &IA_SNS(ifa)->sns_addr;
if (ns_nullhost(*ina))
ina->x_host = *(union ns_host *)
LLADDR(ifp->if_sadl);
else
bcopy(ina->x_host.c_host, LLADDR(ifp->if_sadl),
ifp->if_addrlen);
/* Set new address. */
(void)sninit(sc);
break;
}
#endif /* NS */
default:
(void)sninit(sc);
break;
@ -393,7 +413,6 @@ snioctl(ifp, cmd, data)
if (((ifp->if_flags ^ sc->sc_iflags) & IFF_PROMISC) &&
(ifp->if_flags & IFF_RUNNING)) {
sc->sc_iflags = ifp->if_flags;
printf("change in flags\n");
temp = sc->sc_if.if_flags & IFF_UP;
snreset(sc);
sc->sc_if.if_flags |= temp;
@ -639,7 +658,7 @@ sonicput(sc, m0)
* keeping the fragments in order. (read lazy programmer).
*/
for (m = m0; m; m = m->m_next) {
vm_offset_t va = (unsigned) mtod(m, caddr_t);
vaddr_t va = (vaddr_t) mtod(m, caddr_t);
int resid = m->m_len;
if(resid != 0) {
@ -735,7 +754,7 @@ sonicput(sc, m0)
int
sngetaddr(sc, ap)
struct sn_softc *sc;
uchar *ap;
u_int8_t *ap;
{
#if 0
int i;
@ -845,7 +864,7 @@ camprogram(sc)
continue;
if (timeout == 0) {
/* XXX */
panic("sonic: CAM initialisation failed\n");
panic("sonic: CAM initialisation failed");
}
timeout = 10000;
while ((csr->s_isr & ISR_LCD) == 0 && timeout--)
@ -970,7 +989,7 @@ snintr(sc)
struct sonic_reg *csr = sc->sc_csr;
int isr;
#if NRND > 0
it isr_save = 0;
int isr_save = 0;
#endif
while ((isr = (csr->s_isr & ISR_ALL))) {
@ -1063,10 +1082,7 @@ sonictxint(sc)
mtd_free(mtd);
if ((SRD(txp->status) & TCR_PTX) == 0) {
printf("sonic: Tx packet status=0x%lx\n", txp->status);
if (mtdhead != mtdnext) {
printf("resubmitting remaining packets\n");
csr->s_ctda = LOWER(v_tda + (mtdhead->mtd_txp - p_tda));
csr->s_cr = CR_TXP;
wbflush();

View File

@ -1,3 +1,4 @@
/* $NetBSD: lpt_lbus.c,v 1.9 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: lpt_lbus.c,v 1.3 1997/04/10 16:29:17 pefo Exp $ */
/*

View File

@ -1,5 +1,5 @@
/* $NetBSD: pccons.c,v 1.13 2000/01/23 21:01:54 soda Exp $ */
/* $OpenBSD: pccons.c,v 1.15 1997/05/19 16:01:07 pefo Exp $ */
/* $NetBSD: pccons.c,v 1.14 2000/02/22 11:26:00 soda Exp $ */
/* $OpenBSD: pccons.c,v 1.22 1999/01/30 22:39:37 imp Exp $ */
/* NetBSD: pccons.c,v 1.89 1995/05/04 19:35:20 cgd Exp */
/* NetBSD: pms.c,v 1.21 1995/04/18 02:25:18 mycroft Exp */
@ -49,6 +49,8 @@
* code to work keyboard & display for PC-style console
*/
#include "opt_ddb.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/ioctl.h>
@ -86,8 +88,6 @@
#include <dev/cons.h>
extern int cputype;
#define XFREE86_BUG_COMPAT
#ifndef BEEP_FREQ
@ -214,8 +214,6 @@ void pcstart __P((struct tty *));
int pcparam __P((struct tty *, struct termios *));
static __inline void wcopy __P((void *, void *, u_int));
char partab[];
extern void fillw __P((int, u_int16_t *, int));
#define KBD_DELAY \
@ -867,14 +865,15 @@ pccnattach()
break;
case DESKSTATION_TYNE:
mono_base += TYNE_V_ISA_IO;
mono_buf += TYNE_V_ISA_MEM;
cga_base += TYNE_V_ISA_IO;
cga_buf += TYNE_V_ISA_MEM;
kbd_cmdp = TYNE_V_ISA_IO + 0x64;
kbd_datap = TYNE_V_ISA_IO + 0x60;
outb(TYNE_V_ISA_IO + 0x3ce, 6); /* Correct video mode */
outb(TYNE_V_ISA_IO + 0x3cf, inb(TYNE_V_ISA_IO + 0x3cf) | 0xc);
mono_base += arc_bus_io.bus_base;
mono_buf += arc_bus_mem.bus_base;
cga_base += arc_bus_io.bus_base;
cga_buf += arc_bus_mem.bus_base;
kbd_cmdp = arc_bus_io.bus_base + 0x64;
kbd_datap = arc_bus_io.bus_base + 0x60;
outb(arc_bus_io.bus_base + 0x3ce, 6); /* Correct video mode */
outb(arc_bus_io.bus_base + 0x3cf,
inb(arc_bus_io.bus_base + 0x3cf) | 0xc);
kbc_put8042cmd(CMDBYTE); /* Want XT codes.. */
break;
@ -887,6 +886,15 @@ pccnattach()
kbd_datap = arc_bus_io.bus_base + 0x60;
kbc_put8042cmd(CMDBYTE); /* Want XT codes.. */
break;
case SNI_RM200:
mono_base += arc_bus_io.bus_base;
mono_buf += arc_bus_mem.bus_base;
cga_base += arc_bus_io.bus_base;
cga_buf += arc_bus_mem.bus_base;
kbd_cmdp = arc_bus_io.bus_base + 0x64;
kbd_datap = arc_bus_io.bus_base + 0x60;
break;
}
/* locate the major number */
@ -1895,6 +1903,15 @@ pcmmap(dev, offset, nprot)
return mips_btop(PICA_P_LOCAL_VIDEO + offset - 0x40000000);
return -1;
case DESKSTATION_RPC44:
if (offset >= 0xa0000 && offset < 0xc0000)
return mips_btop(RPC44_P_ISA_MEM + offset);
if (offset >= 0x0000 && offset < 0x10000)
return mips_btop(RPC44_P_ISA_IO + offset);
if (offset >= 0x40000000 && offset < 0x40800000)
return mips_btop(RPC44_P_ISA_MEM + offset - 0x40000000);
return -1;
case DESKSTATION_TYNE:
/* Addresses returned are a fake to be able to handle >32 bit
* physical addresses used by the tyne. The real physical adr

View File

@ -1,4 +1,4 @@
/* $NetBSD: btl.c,v 1.2 2000/01/23 21:01:55 soda Exp $ */
/* $NetBSD: btl.c,v 1.3 2000/02/22 11:26:01 soda Exp $ */
#undef BTDIAG
#define integrate
@ -103,8 +103,6 @@ struct bt_mbx {
struct bt_mbx_in *tmbi; /* Target Mail Box in */
};
extern int cputype; /* XXX */
#define KVTOPHYS(x) ((cputype == DESKSTATION_TYNE) ? \
(((int)(x) & 0x7fffff) | 0x800000) : ((int)(x)))
#define PHYSTOKV(x) ((cputype == DESKSTATION_TYNE) ? \

View File

@ -1,3 +1,5 @@
/* $NetBSD: btlreg.h,v 1.3 2000/02/22 11:26:01 soda Exp $ */
typedef u_int8_t physaddr[4];
typedef u_int8_t physlen[4];
#define ltophys _lto4l

View File

@ -1,5 +1,5 @@
/* $NetBSD: desktech.h,v 1.2 2000/01/23 21:01:55 soda Exp $ */
/* $OpenBSD: desktech.h,v 1.4 1996/10/01 20:50:12 pefo Exp $ */
/* $NetBSD: desktech.h,v 1.3 2000/02/22 11:26:01 soda Exp $ */
/* $OpenBSD: desktech.h,v 1.6 1999/01/30 22:39:38 imp Exp $ */
/*
* Copyright (c) 1996 Per Fogelstrom
@ -66,4 +66,17 @@
#define TYNE_V_BOUNCE 0xe2000000
#define TYNE_S_BOUNCE 0x00020000
/*
* Deskstation rPC44 I/O map. We map these into one TLB of size 16M.
* Note: We really have EISA here, but no one has EISA cards yet to
* justify implmeneting EISA.
*/
#define RPC44_P_ISA_IO (0x10000000LL) /* ISA I/O control */
#define RPC44_V_ISA_IO (0xb0000000)
#define RPC44_S_ISA_IO (0x00010000)
#define RPC44_P_ISA_MEM (0x00000000LL) /* ISA Memory control */
#define RPC44_V_ISA_MEM (0xa0000000)
#define RPC44_S_ISA_MEM (0x01000000)
#endif /* _DESKTECH_H_ */

View File

@ -1,5 +1,5 @@
/* $NetBSD: ansi.h,v 1.5 2000/01/23 21:01:55 soda Exp $ */
/* $OpenBSD: ansi.h,v 1.2 1997/04/20 20:46:40 tholo Exp $ */
/* $NetBSD: ansi.h,v 1.6 2000/02/22 11:26:01 soda Exp $ */
/* $OpenBSD: ansi.h,v 1.5 1998/01/28 13:46:08 pefo Exp $ */
/* NetBSD: ansi.h,v 1.5 1994/10/26 21:09:33 cgd Exp */
#include <mips/ansi.h>

View File

@ -1,5 +1,5 @@
/* $NetBSD: bus.h,v 1.5 2000/01/23 21:01:56 soda Exp $ */
/* $OpenBSD: bus.h,v 1.13 1997/04/19 17:19:56 pefo Exp $ */
/* $NetBSD: bus.h,v 1.6 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: bus.h,v 1.15 1999/08/11 23:15:21 niklas Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom. All rights reserved.
@ -53,10 +53,6 @@ typedef u_int32_t bus_addr_t;
typedef u_int32_t bus_size_t;
typedef u_int32_t bus_space_handle_t;
typedef struct arc_bus_space *bus_space_tag_t;
#if 1 /* XXX - <dev/isa/isavar.h> requires these types, not actually defined */
typedef int bus_dma_tag_t;
typedef int bus_dmamap_t;
#endif
struct arc_bus_space {
u_int32_t bus_base;
@ -80,6 +76,9 @@ extern struct arc_bus_space arc_bus_io, arc_bus_mem;
#define bus_space_unmap(t, bsh, size)
#define bus_space_subregion(t, bsh, offset, size, nbshp) \
((*(nbshp) = (bsh) + (offset)), 0)
#define bus_space_read(n,m) \
static __inline CAT3(u_int,m,_t) \
CAT(bus_space_read_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \
@ -108,6 +107,21 @@ bus_space_read(4,32)
#define bus_space_read_multi_8 !!! bus_space_read_multi_8 not implemented !!!
#define bus_space_read_region(n,m) \
static __inline void \
CAT(bus_space_read_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \
bus_addr_t ba, CAT3(u_int,m,_t) *x, size_t cnt) \
{ \
while (cnt--) \
*x++ = CAT(bus_space_read_,n)(bst, bsh, ba++); \
}
bus_space_read_region(1,8)
bus_space_read_region(2,16)
bus_space_read_region(4,32)
#define bus_space_read_region_8 !!! bus_space_read_region_8 not implemented !!!
#define bus_space_write(n,m) \
static __inline void \
CAT(bus_space_write_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \
@ -137,6 +151,38 @@ bus_space_write(4,32)
#define bus_space_write_multi_8 !!! bus_space_write_multi_8 not implemented !!!
#define bus_space_write_region(n,m) \
static __inline void \
CAT(bus_space_write_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \
bus_addr_t ba, const CAT3(u_int,m,_t) *x, size_t cnt) \
{ \
while (cnt--) \
CAT(bus_space_write_,n)(bst, bsh, ba++, *x++); \
}
bus_space_write_region(1,8)
bus_space_write_region(2,16)
bus_space_write_region(4,32)
#define bus_space_write_region_8 \
!!! bus_space_write_region_8 not implemented !!!
#define bus_space_set_region(n,m) \
static __inline void \
CAT(bus_space_set_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \
bus_addr_t ba, CAT3(u_int,m,_t) x, size_t cnt) \
{ \
while (cnt--) \
CAT(bus_space_write_,n)(bst, bsh, ba++, x); \
}
bus_space_set_region(1,8)
bus_space_set_region(2,16)
bus_space_set_region(4,32)
#define bus_space_write_8 !!! bus_space_write_8 unimplemented !!!
/* These are OpenBSD extensions to the general NetBSD bus interface. */
#define bus_space_read_raw_multi(n,m,l) \
static __inline void \
@ -183,4 +229,8 @@ bus_space_write_raw_multi(4,32,2)
#define BUS_SPACE_BARRIER_READ 0x01 /* force read barrier */
#define BUS_SPACE_BARRIER_WRITE 0x02 /* force write barrier */
/* XXX - <dev/isa/isavar.h> requires these types, not actually defined */
typedef void *bus_dma_tag_t;
typedef void *bus_dmamap_t;
#endif /* _ARC_BUS_H_ */

View File

@ -1,5 +1,5 @@
/* $NetBSD: cdefs.h,v 1.4 2000/01/23 21:01:56 soda Exp $ */
/* $OpenBSD: cdefs.h,v 1.1.1.1 1996/06/24 09:07:17 pefo Exp $ */
/* $NetBSD: cdefs.h,v 1.5 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: cdefs.h,v 1.2 1998/01/28 13:46:10 pefo Exp $ */
/* NetBSD: cdefs.h,v 1.3 1995/05/03 06:04:54 mellon Exp */
#include <mips/cdefs.h>

View File

@ -1,5 +1,5 @@
/* $NetBSD: cpu.h,v 1.7 2000/01/23 21:01:56 soda Exp $ */
/* $OpenBSD: cpu.h,v 1.8 1997/04/19 17:19:56 pefo Exp $ */
/* $NetBSD: cpu.h,v 1.8 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: cpu.h,v 1.9 1998/01/28 13:46:10 pefo Exp $ */
#ifndef _ARC_CPU_H_
#define _ARC_CPU_H_

View File

@ -1,5 +1,7 @@
/* $NetBSD: db_machdep.h,v 1.2 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: db_machdep.h,v 1.1 1998/03/16 09:38:44 pefo Exp $ */
/* Use Mips generic include file */
#define DB_ELF_SYMBOLS
#define DB_ELFSIZE 32
#include <mips/db_machdep.h>

View File

@ -1,5 +1,5 @@
/* $NetBSD: disklabel.h,v 1.4 2000/01/23 21:01:56 soda Exp $ */
/* $OpenBSD: disklabel.h,v 1.6 1997/04/10 13:06:25 deraadt Exp $ */
/* $NetBSD: disklabel.h,v 1.5 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: disklabel.h,v 1.14 1999/03/23 16:36:17 millert Exp $ */
/* NetBSD: disklabel.h,v 1.3 1996/03/09 20:52:54 ghudson Exp */
/*

View File

@ -1,5 +1,6 @@
/* $NetBSD: joystick.h,v 1.2 2000/02/22 11:26:02 soda Exp $ */
/* $OpenBSD: joystick.h,v 1.1 1998/05/05 05:44:43 imp Exp $ */
/* $NetBSD: joystick.h,v 1.1.1.1 2000/02/22 11:05:21 soda Exp $ */
/* NetBSD: joystick.h,v 1.1 1996/03/27 19:18:56 perry Exp */
#ifndef _JOY_IOCTL_H_
#define _JOY_IOCTL_H_

View File

@ -1,3 +0,0 @@
/* $OpenBSD: spinlock.h,v 1.2 1999/01/26 20:33:06 imp Exp $ */
#include <mips/spinlock.h>

View File

@ -1,5 +1,5 @@
/* $NetBSD: isabus.c,v 1.5 2000/01/23 21:01:59 soda Exp $ */
/* $OpenBSD: isabus.c,v 1.11 1997/04/19 17:20:01 pefo Exp $ */
/* $NetBSD: isabus.c,v 1.6 2000/02/22 11:26:03 soda Exp $ */
/* $OpenBSD: isabus.c,v 1.15 1998/03/16 09:38:46 pefo Exp $ */
/* NetBSD: isa.c,v 1.33 1995/06/28 04:30:51 cgd Exp */
/*-
@ -141,9 +141,6 @@ void isabr_initicu __P((void));
void intr_calculatemasks __P((void));
int fakeintr __P((void *a));
extern int cputype;
int
isabrmatch(parent, match, aux)
struct device *parent;

View File

@ -1,4 +1,4 @@
/* $NetBSD: isadma.c,v 1.2 2000/01/23 21:01:59 soda Exp $ */
/* $NetBSD: isadma.c,v 1.3 2000/02/22 11:26:03 soda Exp $ */
/* $OpenBSD: isadma.c,v 1.2 1996/11/23 21:45:34 kstailey Exp $ */
/* NetBSD: isadma.c,v 1.19 1996/04/29 20:03:26 christos Exp */
@ -24,7 +24,7 @@ struct dma_info {
int flags;
int active;
caddr_t addr;
vm_size_t nbytes;
bus_size_t nbytes;
struct isadma_seg phys[1];
};
@ -133,14 +133,13 @@ isadma_cascade(chan)
void
isadma_start(addr, nbytes, chan, flags)
caddr_t addr;
vm_size_t nbytes;
bus_size_t nbytes;
int chan;
int flags;
{
struct dma_info *di;
int waport;
int mflags;
vm_size_t size;
struct isadma_softc *sc = isadma_sc;
bus_space_tag_t iot = sc->sc_iot;
bus_space_handle_t ioh;

View File

@ -1,5 +1,6 @@
/* $NetBSD: isapnp_machdep.c,v 1.2 2000/02/22 11:26:03 soda Exp $ */
/* $OpenBSD: isapnp_machdep.c,v 1.1 1997/12/27 12:13:11 niklas Exp $ */
/* $NetBSD: isapnp_machdep.c,v 1.1.1.1 2000/02/22 11:05:23 soda Exp $ */
/* NetBSD: isapnp_machdep.c,v 1.5 1997/10/04 17:32:30 thorpej Exp */
/*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.

View File

@ -1,4 +1,5 @@
/* $NetBSD: joy.c,v 1.1.1.1 2000/02/22 11:05:24 soda Exp $ */
/* $NetBSD: joy.c,v 1.2 2000/02/22 11:26:03 soda Exp $ */
/* NetBSD: joy.c,v 1.3 1996/05/05 19:46:15 christos Exp */
/*-
* Copyright (c) 1995 Jean-Marc Zucconi

View File

@ -1,4 +1,4 @@
/* $NetBSD: pbcpcibus.c,v 1.2 2000/01/23 21:01:59 soda Exp $ */
/* $OpenBSD: pbcpcibus.c,v 1.7 1998/03/25 11:52:48 pefo Exp $ */
/* $OpenBSD: pbcpcibus.c,v 1.4 1997/04/19 17:20:02 pefo Exp $ */
/*
@ -15,7 +15,7 @@
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed under OpenBSD by
* Per Fogelstrom.
* Per Fogelstrom, Opsycon AB.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
@ -57,7 +57,6 @@
#include <arc/pci/v962pcbreg.h>
extern vm_map_t phys_map;
extern int cputype;
extern char eth_hw_addr[]; /* Hardware ethernet address stored elsewhere */
int pbcpcibrmatch __P((struct device *, struct cfdata *, void *));
@ -89,6 +88,27 @@ struct cfdriver pbcpcibr_cd = {
static int pbcpcibrprint __P((void *, const char *pnp));
struct pcibr_config pbc_config;
static int pbc_version;
/*
* Code from "pci/if_de.c" used to calculate crc32 of ether rom data.
* Another example can be found in document EC-QPQWA-TE from DEC.
*/
#define TULIP_CRC32_POLY 0xEDB88320UL
static __inline__ unsigned
srom_crc32(const unsigned char *databuf, size_t datalen)
{
u_int idx, bit, data, crc = 0xFFFFFFFFUL;
for (idx = 0; idx < datalen; idx++) {
for (data = *databuf++, bit = 0; bit < 8; bit++, data >>= 1) {
crc = (crc >> 1) ^
(((crc ^ data) & 1) ? TULIP_CRC32_POLY : 0);
}
}
return (crc);
}
int
pbcpcibrmatch(parent, match, aux)
@ -116,6 +136,7 @@ pbcpcibrattach(parent, self, aux)
switch(cputype) {
case ALGOR_P4032:
case ALGOR_P5064:
V96X_PCI_BASE0 = V96X_PCI_BASE0 & 0xffff0000;
lcp = sc->sc_pcibr = &pbc_config;
@ -134,6 +155,7 @@ pbcpcibrattach(parent, self, aux)
lcp->lc_pc.pc_conf_read = pbc_conf_read;
lcp->lc_pc.pc_conf_write = pbc_conf_write;
lcp->lc_pc.pc_ether_hw_addr = pbc_ether_hw_addr;
lcp->lc_pc.pc_sync_cache = mips3_HitFlushDCache;
lcp->lc_pc.pc_intr_v = lcp;
lcp->lc_pc.pc_intr_map = pbc_intr_map;
@ -141,7 +163,8 @@ pbcpcibrattach(parent, self, aux)
lcp->lc_pc.pc_intr_establish = pbc_intr_establish;
lcp->lc_pc.pc_intr_disestablish = pbc_intr_disestablish;
printf(": V3 V962, Revision %x.\n", V96X_PCI_CC_REV);
pbc_version = V96X_PCI_CC_REV;
printf(": V3 V962, Revision %x.\n", pbc_version);
break;
}
@ -171,22 +194,25 @@ pbcpcibrprint(aux, pnp)
* Get PCI physical address from given viritual address.
*/
vm_offset_t
vtophys(p)
void *p;
paddr_t
vtophysaddr(dp, va)
struct device *dp;
vaddr_t va;
{
vm_offset_t pa;
vm_offset_t va;
paddr_t pa;
va = (vm_offset_t)p;
if(va >= UADDR) { /* Stupid driver have buf on stack!! */
va = (vm_offset_t)curproc->p_addr + (va & ~UADDR);
va = (vaddr_t)curproc->p_addr + (va & ~UADDR);
}
if((vm_offset_t)va < VM_MIN_KERNEL_ADDRESS) {
if(va < VM_MIN_KERNEL_ADDRESS) {
pa = MIPS_CACHED_TO_PHYS(va);
}
else {
pa = pmap_extract(vm_map_pmap(phys_map), va);
else if (!pmap_extract(vm_map_pmap(phys_map), va, &pa)) {
panic("pbcpcibus.c:vtophysaddr(): pmap_extract %p", va);
}
if(dp->dv_class == DV_IFNET && pbc_version < V96X_VREV_C0) {
/* BUG in early V962PBC's */
pa |= 0xc0000000; /* Use aparture II */
}
return(pa);
}
@ -221,7 +247,7 @@ pbc_decompose_tag(cpv, tag, busp, devp, fncp)
int *busp, *devp, *fncp;
{
if (busp != NULL)
*busp = (tag >> 16) & 0xff;
*busp = (tag >> 16) & 0x7;
if (devp != NULL)
*devp = (tag >> 11) & 0x1f;
if (fncp != NULL)
@ -236,21 +262,50 @@ pbc_conf_read(cpv, tag, offset)
{
pcireg_t data;
u_int32_t addr;
int device;
int bus, device, func, ad_low;
int s;
if((tag >> 16) != 0)
return(~0);
if(offset & 3 || offset < 0 || offset >= 0x100) {
printf ("pci_conf_read: bad reg %x\n", offset);
return(~0);
}
pbc_decompose_tag(cpv, tag, &bus, &device, &func);
ad_low = 0;
device = (tag >> 11) & 0x1f;
addr = (0x800 << device) | (tag & 0x380) | offset;
switch (cputype) {
case ALGOR_P4032:
if(bus != 0 || device > 5 || func > 7) {
return(~0);
}
addr = (0x800 << device) | (func << 8) | offset;
ad_low = 0;
break;
case ALGOR_P5064:
if(bus == 0) {
if(device > 5 || func > 7) {
return(~0);
}
addr = (1L << (device + 24)) | (func << 8) | offset;
ad_low = 0;
}
else if(pbc_version >= V96X_VREV_C0) {
if(bus > 255 || device > 15 || func > 7) {
return(~0);
}
addr = (bus << 16) | (device << 11) | (func << 8);
ad_low = V96X_LB_MAPx_AD_LOW_EN;
}
else {
return(~0);
}
break;
}
s = splhigh();
/* high 12 bits of address go in map register, and set for conf space */
V96X_LB_MAP0 = ((addr >> 16) & V96X_LB_MAPx_MAP_ADR) | ad_low | V96X_LB_TYPE_CONF;
/* clear aborts */
V96X_PCI_STAT |= V96X_PCI_STAT_M_ABORT | V96X_PCI_STAT_T_ABORT;
@ -263,14 +318,13 @@ pbc_conf_read(cpv, tag, offset)
if (V96X_PCI_STAT & V96X_PCI_STAT_M_ABORT) {
V96X_PCI_STAT |= V96X_PCI_STAT_M_ABORT;
printf ("device %d: master abort\n", device);
return(~0);
return(~0); /* Nothing there */
}
if (V96X_PCI_STAT & V96X_PCI_STAT_T_ABORT) {
V96X_PCI_STAT |= V96X_PCI_STAT_T_ABORT;
printf ("PCI slot %d: target abort!\n", device);
return(~0);
return(~0); /* Ooops! */
}
splx(s);
@ -285,14 +339,46 @@ pbc_conf_write(cpv, tag, offset, data)
pcireg_t data;
{
u_int32_t addr;
int device;
int bus, device, func, ad_low;
int s;
device = (tag >> 11) & 0x1f;
addr = (0x800 << device) | (tag & 0x380) | offset;
pbc_decompose_tag(cpv, tag, &bus, &device, &func);
ad_low = 0;
switch (cputype) {
case ALGOR_P4032:
if(bus != 0 || device > 5 || func > 7) {
return;
}
addr = (0x800 << device) | (func << 8) | offset;
ad_low = 0;
break;
case ALGOR_P5064:
if(bus == 0) {
if(device > 5 || func > 7) {
return;
}
addr = (1L << (device + 24)) | (func << 8) | offset;
ad_low = 0;
}
else if(pbc_version >= V96X_VREV_C0) {
if(bus > 255 || device > 15 || func > 7) {
return;
}
addr = (bus << 16) | (device << 11) | (func << 8);
ad_low = V96X_LB_MAPx_AD_LOW_EN;
}
else {
return;
}
break;
}
s = splhigh();
/* high 12 bits of address go in map register, and set for conf space */
V96X_LB_MAP0 = ((addr >> 16) & V96X_LB_MAPx_MAP_ADR) | ad_low | V96X_LB_TYPE_CONF;
/* clear aborts */
V96X_PCI_STAT |= V96X_PCI_STAT_M_ABORT | V96X_PCI_STAT_T_ABORT;
@ -321,17 +407,63 @@ pbc_conf_write(cpv, tag, offset, data)
}
/*
* Hook to get ethernet hardware address when not in dev rom
* Build the serial rom info normaly stored in an EEROM on
* PCI DEC21x4x boards. Cheapo designs skips the rom so
* we do the job here. The setup is not 100% correct but
* close enough to make the driver happy!
*/
int
pbc_ether_hw_addr(cp)
u_int8_t *cp;
pbc_ether_hw_addr(p)
u_int8_t *p;
{
if(cputype == ALGOR_P4032) {
bcopy(eth_hw_addr, cp, 6);
return(0);
int i;
for(i = 0; i < 128; i++)
p[i] = 0x00;
p[18] = 0x03; /* Srom version. */
p[19] = 0x01; /* One chip. */
/* Next six, ethernet address. */
bcopy(eth_hw_addr, &p[20], 6);
p[26] = 0x00; /* Chip 0 device number */
p[27] = 30; /* Descriptor offset */
p[28] = 00;
p[29] = 00; /* MBZ */
/* Descriptor */
p[30] = 0x00; /* Autosense. */
p[31] = 0x08;
switch (cputype) {
case ALGOR_P4032:
case ALGOR_P5064:
p[32] = 0x01; /* Block cnt */
p[33] = 0x02; /* Medium type is AUI */
break;
default:
p[32] = 0xff; /* GP cntrl */
p[33] = 0x01; /* Block cnt */
#define GPR_LEN 0
#define RES_LEN 0
p[34] = 0x80 + 12 + GPR_LEN + RES_LEN;
p[35] = 0x01; /* MII PHY type */
p[36] = 0x00; /* PHY number 0 */
p[37] = 0x00; /* GPR Length */
p[38] = 0x00; /* Reset Length */
p[39] = 0x00; /* Media capabilities */
p[40] = 0x78; /* Media capabilities */
p[41] = 0x00; /* Autoneg advertisment */
p[42] = 0x78; /* Autoneg advertisment */
p[43] = 0x00; /* Full duplex map */
p[44] = 0x50; /* Full duplex map */
p[45] = 0x00; /* Treshold map */
p[46] = 0x18; /* Treshold map */
break;
}
return(-1);
i = (srom_crc32(p, 126) & 0xFFFF) ^ 0xFFFF;
p[126] = i;
p[127] = i >> 8;
return(1); /* Got it! */
}
int
@ -360,11 +492,11 @@ pbc_intr_map(lcv, bustag, buspin, line, ihp)
pirq = buspin - 1;
switch(device) {
case 5: /* DC21041 */
pirq = 1;
case 0: /* DC21041 */
pirq = 9;
break;
case 8: /* NCR SCSI */
pirq = 0;
case 1: /* NCR SCSI */
pirq = 10;
break;
default:
switch (buspin) {

View File

@ -1,5 +1,5 @@
/* $NetBSD: pci_machdep.h,v 1.2 2000/01/23 21:01:59 soda Exp $ */
/* $OpenBSD: pci_machdep.h,v 1.2 1997/04/19 17:20:02 pefo Exp $ */
/* $NetBSD: pci_machdep.h,v 1.3 2000/02/22 11:26:04 soda Exp $ */
/* $OpenBSD: pci_machdep.h,v 1.4 1998/03/18 12:06:18 pefo Exp $ */
/*
* Copyright (c) 1996 Carnegie-Mellon University.
@ -62,6 +62,7 @@ struct arc_pci_chipset {
int, int (*)(void *), void *, char *));
void (*pc_intr_disestablish) __P((void *, void *));
int (*pc_ether_hw_addr) __P((u_int8_t *));
void (*pc_sync_cache) __P((vaddr_t, int));
};
/*
@ -89,6 +90,10 @@ struct arc_pci_chipset {
(*(c)->pc_intr_disestablish)((c)->pc_intr_v, (iv))
#define pci_ether_hw_addr(c, p) \
(*(c)->pc_ether_hw_addr)((p))
#define pci_sync_cache(c, p, s) \
(*(c)->pc_sync_cache)((p), (s))
vm_offset_t vtophys __P((void *));
paddr_t vtophysaddr __P((struct device *, vaddr_t));
#define TULIP_KVATOPHYS(sc, va) vtophysaddr(&sc->tulip_dev, (vaddr_t)va)
#define NCR_KVATOPHYS(sc, va) vtophysaddr(&sc->sc_dev, (vaddr_t)va)

View File

@ -1,4 +1,4 @@
/* $NetBSD: v962pcbreg.h,v 1.2 2000/01/23 21:02:00 soda Exp $ */
/* $NetBSD: v962pcbreg.h,v 1.3 2000/02/22 11:26:04 soda Exp $ */
/*
* v96xpbc.h: i960 to PCI bridge controller
*/
@ -12,7 +12,7 @@
/* offsets from base pointer, this construct allows optimisation */
static char * const _v96xp = (char *)P4032_V96x;
#if #endian(little)
#if BYTE_ORDER == LITTLE_ENDIAN
#define V96XW(x) *(volatile unsigned long *)(_v96xp + (x))
#define V96XH(x) *(volatile unsigned short *)(_v96xp + (x))
#define V96XB(x) *(volatile unsigned char *)(_v96xp + (x))
@ -27,10 +27,11 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_PCI_CMD V96XH(0x04)
#define V96X_PCI_STAT V96XH(0x06)
#define V96X_PCI_CC_REV V96XW(0x08)
#define V96X_PCI_I20_BASE V96XW(0x10) /* B.2 only */
#define V96X_PCI_HDR_CFG V96XW(0x0c)
#define V96X_PCI_IO_BASE V96XW(0x10)
#define V96X_PCI_BASE0 V96XW(0x14)
#define V96X_PCI_BASE1 V96XW(0x1c)
#define V96X_PCI_BASE1 V96XW(0x18)
#define V96X_PCI_BPARAM V96XW(0x3c)
#define V96X_PCI_MAP0 V96XW(0x40)
#define V96X_PCI_MAP1 V96XW(0x44)
@ -40,6 +41,9 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_LB_BASE1 V96XW(0x58)
#define V96X_LB_MAP0 V96XH(0x5e)
#define V96X_LB_MAP1 V96XH(0x62)
#define V96X_LB_BASE2 V96XH(0x64) /* B.2 only */
#define V96X_LB_MAP2 V96XH(0x66) /* B.2 only */
#define V96X_LB_SIZE V96XW(0x68) /* B.2 only */
#define V96X_LB_IO_BASE V96XW(0x6c)
#define V96X_FIFO_CFG V96XH(0x70)
#define V96X_FIFO_PRIORITY V96XH(0x72)
@ -47,7 +51,9 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_LB_ISTAT V96XB(0x76)
#define V96X_LB_IMASK V96XB(0x77)
#define V96X_SYSTEM V96XH(0x78)
#define V96X_LB_CFGL V96XB(0x7a)
#define V96X_LB_CFG V96XB(0x7b)
#define V96X_PCI_CFG V96XB(0x7c) /* B.2 only */
#define V96X_DMA_PCI_ADDR0 V96XW(0x80)
#define V96X_DMA_LOCAL_ADDR0 V96XW(0x84)
#define V96X_DMA_LENGTH0 V96XW(0x88)
@ -88,7 +94,8 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_VREV_A 0x0
#define V96X_VREV_B0 0x1
#define V96X_VREV_B1 0x2
#define V96X_VREV_C0 0x3
#define V96X_VREV_B2 0x3
#define V96X_VREV_C0 0x4
#define V96X_PCI_HDR_CFG_LT 0x0000ff00
#define V96X_PCI_HDR_CFG_LT_SHIFT 8
@ -144,8 +151,9 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_SWAP_NONE (0x0<<8)
#define V96X_SWAP_16BIT (0x1<<8)
#define V96X_SWAP_8BIT (0x2<<8)
#define V96X_SWAP_AUTO (0x3<<8)
/* pci interruprt status register */
/* pci interrupt status register */
#define V96X_PCI_INT_STAT_MAILBOX 0x80000000
#define V96X_PCI_INT_STAT_LOCAL 0x40000000
#define V96X_PCI_INT_STAT_DMA1 0x02000000
@ -211,6 +219,7 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_LB_TYPE_IO (0x1<<1)
#define V96X_LB_TYPE_MEM (0x3<<1)
#define V96X_LB_TYPE_CONF (0x5<<1)
#define V96X_LB_MAPx_AD_LOW_EN 0x0001 /* C.0 only */
/* local bus interrupt control, status and masks */
#define V96X_LB_INTR_MAILBOX 0x80
@ -227,6 +236,16 @@ static char * const _v96xp = (char *)P4032_V96x;
#define V96X_LB_CFG_ERR_EN 0x02
#define V96X_LB_CFG_RDY_EN 0x01
/* PCI bus configuration */
#define V96X_PCI_CFG_I2O_EN 0x8000
#define V96X_PCI_CFG_IO_REG_DIS 0x4000
#define V96X_PCI_CFG_IO_DIS 0x2000
#define V96X_PCI_CFG_EN3V 0x1000
#define V96X_PCI_CFG_AD_LOW 0x0300
#define V96X_PCI_CFG_AD_LOW_SHIFT 8
#define V96X_PCI_CFG_DMA_RTYPE 0x00e0
#define V96X_PCI_CFG_DMA_WTYPE 0x000e
/* fifo configuration register */
#define V96X_FIFO_CFG_PBRST_MAX 0xc000
#define V96X_FIFO_CFG_PBRST_MAX_SHIFT 14

View File

@ -1,5 +1,5 @@
/* $NetBSD: picabus.c,v 1.9 2000/01/23 21:02:00 soda Exp $ */
/* $OpenBSD: picabus.c,v 1.7 1997/05/24 18:36:26 pefo Exp $ */
/* $NetBSD: picabus.c,v 1.10 2000/02/22 11:26:04 soda Exp $ */
/* $OpenBSD: picabus.c,v 1.11 1999/01/11 05:11:10 millert Exp $ */
/* NetBSD: tc.c,v 1.2 1995/03/08 00:39:05 cgd Exp */
/*
@ -37,6 +37,7 @@
#include <sys/device.h>
#include <vm/vm.h>
#include <machine/bus.h>
#include <machine/intr.h>
#include <machine/cpu.h>
#include <machine/pio.h>
@ -69,7 +70,6 @@ int pica_matchname __P((struct confargs *, char *));
int pica_iointr __P((unsigned int, struct clockframe *));
int pica_clkintr __P((unsigned int, struct clockframe *));
extern int cputype;
intr_handler_t pica_clock_handler;
/*
@ -311,7 +311,7 @@ int
pica_intrnull(val)
void *val;
{
panic("uncaught PICA intr for slot %p\n", val);
panic("uncaught PICA intr for slot %p", val);
}
/*

View File

@ -1,16 +1,14 @@
# $OpenBSD: Makefile,v 1.1 1997/05/19 09:37:05 pefo Exp $
NOOBJ= noobj
# $OpenBSD: Makefile,v 1.2 1997/08/01 12:32:10 pefo Exp $
CLEANFILES= mbr msdos5mb.gz
realall: mbr msdos5mb.gz
mbr: mbr.uu
uudecode mbr.uu
uudecode ${.CURDIR}/mbr.uu
msdos5mb.gz: msdos5mb.gz.uu
uudecode msdos5mb.gz.uu
uudecode ${.CURDIR}/msdos5mb.gz.uu
realinstall:
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 mbr msdos5mb.gz \