bugs fixed and cleanup
This commit is contained in:
parent
f7f69f9b04
commit
115ee66204
|
@ -28,7 +28,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/autoconf.c,v 1.6 1994/02/23 08:29:31 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/autoconf.c,v 1.7 1994/03/01 08:22:59 glass Exp $
|
||||
*/
|
||||
/*
|
||||
* Setup the system to run on the current machine.
|
||||
|
@ -38,21 +38,21 @@
|
|||
* and the drivers are initialized.
|
||||
*/
|
||||
|
||||
#include "sys/param.h"
|
||||
#include "sys/systm.h"
|
||||
#include "sys/map.h"
|
||||
#include "sys/buf.h"
|
||||
#include "sys/dkstat.h"
|
||||
#include "sys/conf.h"
|
||||
#include "sys/dmap.h"
|
||||
#include "sys/reboot.h"
|
||||
#include "sys/device.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/map.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/dkstat.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/dmap.h>
|
||||
#include <sys/reboot.h>
|
||||
#include <sys/device.h>
|
||||
|
||||
#include "machine/autoconf.h"
|
||||
#include "machine/vmparam.h"
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/pte.h"
|
||||
#include "machine/isr.h"
|
||||
#include <machine/autoconf.h>
|
||||
#include <machine/vmparam.h>
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/pte.h>
|
||||
#include <machine/isr.h>
|
||||
|
||||
extern void mainbusattach __P((struct device *, struct device *, void *));
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/clock.c,v 1.12 1994/02/04 08:20:52 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/clock.c,v 1.13 1994/03/01 08:23:00 glass Exp $
|
||||
*/
|
||||
/*
|
||||
* machine-dependent clock routines; intersil7170
|
||||
|
@ -39,10 +39,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "systm.h"
|
||||
#include "param.h"
|
||||
#include "kernel.h"
|
||||
#include "device.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/device.h>
|
||||
|
||||
#include <machine/autoconf.h>
|
||||
#include <machine/psl.h>
|
||||
|
|
|
@ -1 +1 @@
|
|||
revision 1.8 intentionally removed
|
||||
revision 1.9 intentionally removed
|
||||
|
|
|
@ -42,15 +42,15 @@
|
|||
* cons.c,v 1.2 1993/05/22 07:57:18 cgd Exp
|
||||
*/
|
||||
|
||||
#include "systm.h"
|
||||
#include "sys/param.h"
|
||||
#include "sys/proc.h"
|
||||
#include "sys/systm.h"
|
||||
#include "sys/buf.h"
|
||||
#include "sys/ioctl.h"
|
||||
#include "sys/tty.h"
|
||||
#include "sys/file.h"
|
||||
#include "sys/conf.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/tty.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/conf.h>
|
||||
|
||||
#include "cons.h"
|
||||
|
||||
|
|
|
@ -28,13 +28,13 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/control.c,v 1.5 1994/02/04 08:20:53 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/control.c,v 1.6 1994/03/01 08:23:04 glass Exp $
|
||||
*/
|
||||
#include "sys/systm.h"
|
||||
#include "sys/types.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "../include/pte.h"
|
||||
#include "../include/control.h"
|
||||
#include <machine/pte.h>
|
||||
#include <machine/control.h>
|
||||
|
||||
#define CONTROL_ALIGN(x) (x & CONTROL_ADDR_MASK)
|
||||
#define CONTROL_ADDR_BUILD(space, va) (CONTROL_ALIGN(va)|space)
|
||||
|
@ -61,7 +61,7 @@ vm_offset_t get_pte(va)
|
|||
get_control_word((char *) CONTROL_ADDR_BUILD(PGMAP_BASE, va));
|
||||
}
|
||||
void set_pte(va, pte)
|
||||
vm_offset_t va,pte;
|
||||
vm_offset_t va, pte;
|
||||
{
|
||||
set_control_word((char *) CONTROL_ADDR_BUILD(PGMAP_BASE, va),
|
||||
(unsigned int) pte);
|
||||
|
|
|
@ -35,12 +35,12 @@
|
|||
* disksubr.c,v 1.2 1993/05/22 07:59:47 cgd Exp
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "systm.h"
|
||||
#include "buf.h"
|
||||
#include "dkbad.h"
|
||||
#include "disklabel.h"
|
||||
#include "syslog.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/dkbad.h>
|
||||
#include <sys/disklabel.h>
|
||||
#include <sys/syslog.h>
|
||||
|
||||
/* encoding of disk minor numbers, should be elsewhere... */
|
||||
#define dkunit(dev) (minor(dev) >> 3)
|
||||
|
|
|
@ -37,13 +37,13 @@
|
|||
|
||||
#define KERNEL
|
||||
|
||||
#include <cdefs.h>
|
||||
#include <types.h>
|
||||
#include <param.h>
|
||||
#include <cdefs.h>
|
||||
#include <errno.h>
|
||||
#include <proc.h>
|
||||
#include <vmmeter.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/vmmeter.h>
|
||||
|
||||
#include <vm/vm.h>
|
||||
|
||||
|
|
|
@ -28,15 +28,15 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/isr.c,v 1.5 1994/02/23 08:29:40 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/isr.c,v 1.6 1994/03/01 08:23:08 glass Exp $
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "systm.h"
|
||||
#include "malloc.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include "net/netisr.h"
|
||||
#include "machine/isr.h"
|
||||
#include <net/netisr.h>
|
||||
#include <machine/isr.h>
|
||||
|
||||
#include "vector.h"
|
||||
#include "interreg.h"
|
||||
|
|
|
@ -28,11 +28,11 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/locore.s,v 1.15 1994/02/23 08:29:42 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/locore.s,v 1.16 1994/03/01 08:23:09 glass Exp $
|
||||
*/
|
||||
#include "assym.s"
|
||||
#include "../include/asm.h"
|
||||
#include "syscall.h"
|
||||
#include <machine/asm.h>
|
||||
#include <sys/syscall.h>
|
||||
| remember this is a fun project :)
|
||||
|
||||
|
||||
|
@ -142,8 +142,12 @@ post_main:
|
|||
.text
|
||||
_icode:
|
||||
clrl sp@-
|
||||
pea pc@((argv-.)+2)
|
||||
pea pc@((init-.)+2)
|
||||
| pea pc@((argv-.)+2)
|
||||
.word 0x487a | pea <short>
|
||||
.word argv-.
|
||||
| pea pc@((init-.)+2)
|
||||
.word 0x487a | pea <short>
|
||||
.word init-.
|
||||
clrl sp@-
|
||||
moveq #SYS_execve,d0
|
||||
trap #0
|
||||
|
|
|
@ -28,25 +28,25 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/locore2.c,v 1.16 1994/02/23 08:29:50 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/locore2.c,v 1.17 1994/03/01 08:23:15 glass Exp $
|
||||
*/
|
||||
|
||||
#include "systm.h"
|
||||
#include "param.h"
|
||||
#include "proc.h"
|
||||
#include "user.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/user.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include <vm/vm.h>
|
||||
|
||||
#include "machine/control.h"
|
||||
#include "machine/cpufunc.h"
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/mon.h"
|
||||
#include "machine/control.h"
|
||||
#include "machine/pte.h"
|
||||
#include "machine/pmap.h"
|
||||
#include "machine/idprom.h"
|
||||
#include "machine/obio.h"
|
||||
#include <machine/control.h>
|
||||
#include <machine/cpufunc.h>
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/mon.h>
|
||||
#include <machine/control.h>
|
||||
#include <machine/pte.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/idprom.h>
|
||||
#include <machine/obio.h>
|
||||
|
||||
#include "vector.h"
|
||||
#include "interreg.h"
|
||||
|
|
|
@ -41,44 +41,44 @@
|
|||
* machdep.c,v 1.3 1993/07/07 07:20:03 cgd Exp
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "systm.h"
|
||||
#include "signalvar.h"
|
||||
#include "kernel.h"
|
||||
#include "map.h"
|
||||
#include "proc.h"
|
||||
#include "buf.h"
|
||||
#include "reboot.h"
|
||||
#include "conf.h"
|
||||
#include "file.h"
|
||||
#include "clist.h"
|
||||
#include "callout.h"
|
||||
#include "malloc.h"
|
||||
#include "mbuf.h"
|
||||
#include "msgbuf.h"
|
||||
#include "user.h"
|
||||
#include "exec.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/signalvar.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/map.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/reboot.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/clist.h>
|
||||
#include <sys/callout.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/mbuf.h>
|
||||
#include <sys/msgbuf.h>
|
||||
#include <sys/user.h>
|
||||
#include <sys/exec.h>
|
||||
#ifdef SYSVSHM
|
||||
#include "shm.h"
|
||||
#include <sys/shm.h>
|
||||
#endif
|
||||
#ifdef HPUXCOMPAT
|
||||
#include "../hpux/hpux.h"
|
||||
#include <../hpux/hpux.h>
|
||||
#endif
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include "vm/vm_map.h"
|
||||
#include "vm/vm_kern.h"
|
||||
#include "vm/vm_page.h"
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_map.h>
|
||||
#include <vm/vm_kern.h>
|
||||
#include <vm/vm_page.h>
|
||||
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/reg.h"
|
||||
#include "machine/psl.h"
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/reg.h>
|
||||
#include <machine/psl.h>
|
||||
|
||||
#include "machine/pte.h"
|
||||
#include <machine/pte.h>
|
||||
|
||||
#include "machine/mon.h"
|
||||
#include "machine/isr.h"
|
||||
#include "net/netisr.h"
|
||||
#include <machine/mon.h>
|
||||
#include <machine/isr.h>
|
||||
#include <net/netisr.h>
|
||||
|
||||
#ifdef COMPAT_SUNOS
|
||||
void sun_sendsig();
|
||||
|
|
|
@ -46,8 +46,8 @@
|
|||
* Memory special file
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "conf.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/conf.h>
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
* Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
|
||||
|
@ -94,18 +94,18 @@
|
|||
/*
|
||||
* Memory special file
|
||||
*/
|
||||
#include "buf.h"
|
||||
#include "systm.h"
|
||||
#include "malloc.h"
|
||||
#include <sys/buf.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include "vm/vm_param.h"
|
||||
#include "vm/lock.h"
|
||||
#include "vm/vm_statistics.h"
|
||||
#include "vm/pmap.h"
|
||||
#include "vm/vm_prot.h"
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_param.h>
|
||||
#include <vm/lock.h>
|
||||
#include <vm/vm_statistics.h>
|
||||
#include <vm/pmap.h>
|
||||
#include <vm/vm_prot.h>
|
||||
|
||||
#include "machine/cpu.h"
|
||||
#include <machine/cpu.h>
|
||||
|
||||
extern caddr_t vmmap;
|
||||
|
||||
|
|
|
@ -28,26 +28,26 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/pmap.c,v 1.18 1994/02/23 08:29:48 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/pmap.c,v 1.19 1994/03/01 08:23:13 glass Exp $
|
||||
*/
|
||||
#include "systm.h"
|
||||
#include "param.h"
|
||||
#include "proc.h"
|
||||
#include "malloc.h"
|
||||
#include "user.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/user.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include "vm/vm_kern.h"
|
||||
#include "vm/vm_page.h"
|
||||
#include "vm/vm_statistics.h"
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_kern.h>
|
||||
#include <vm/vm_page.h>
|
||||
#include <vm/vm_statistics.h>
|
||||
|
||||
#include "machine/pte.h"
|
||||
#include "machine/control.h"
|
||||
#include <machine/pte.h>
|
||||
#include <machine/control.h>
|
||||
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/mon.h"
|
||||
#include "machine/vmparam.h"
|
||||
#include "machine/pmap.h"
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/mon.h>
|
||||
#include <machine/vmparam.h>
|
||||
#include <machine/pmap.h>
|
||||
|
||||
/*
|
||||
* globals needed by the vm system
|
||||
|
@ -355,14 +355,13 @@ void context_allocate(pmap)
|
|||
if (queue_empty(&context_free_queue)) { /* steal one from active*/
|
||||
if (queue_empty(&context_active_queue))
|
||||
panic("pmap: no contexts to be found");
|
||||
dequeue_first(context, context_t, &context_active_queue);
|
||||
context_free(context->context_upmap);
|
||||
context_free(((context_t) queue_first(&context_active_queue))->context_upmap);
|
||||
#ifdef CONTEXT_DEBUG
|
||||
printf("context_allocate: pmap %x, stealing context %x num %d\n",
|
||||
pmap, context, context->context_num);
|
||||
#endif
|
||||
} else
|
||||
dequeue_first(context, context_t, &context_free_queue);
|
||||
}
|
||||
dequeue_first(context, context_t, &context_free_queue);
|
||||
enqueue_tail(&context_active_queue,context);
|
||||
if (context->context_upmap != NULL)
|
||||
panic("pmap: context in use???");
|
||||
|
@ -401,7 +400,8 @@ void context_free(pmap) /* :) */
|
|||
}
|
||||
set_context(saved_context);
|
||||
context->context_upmap = NULL;
|
||||
enqueue_tail(&context_free_queue, context);
|
||||
remqueue(&context_active_queue, context);
|
||||
enqueue_tail(&context_free_queue, context); /* active? XXX */
|
||||
pmap->pm_context = NULL;
|
||||
#ifdef CONTEXT_DEBUG
|
||||
printf("context_free: pmap %x context removed\n", pmap);
|
||||
|
@ -616,6 +616,27 @@ void pmeg_init()
|
|||
}
|
||||
}
|
||||
|
||||
void pv_print(pa)
|
||||
{
|
||||
pv_entry_t head;
|
||||
|
||||
printf("pv_list for pa %x\n", pa);
|
||||
|
||||
if (!pv_initialized) return;
|
||||
head = pa_to_pvp(pa);
|
||||
if (!head->pv_pmap) {
|
||||
printf("empty pv_list\n");
|
||||
return;
|
||||
}
|
||||
for (; head != NULL; head = head->pv_next) {
|
||||
printf("pv_entry %x pmap %x va %x flags %x next %x\n",
|
||||
head, head->pv_pmap,
|
||||
head->pv_va,
|
||||
head->pv_flags,
|
||||
head->pv_next);
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char pv_compute_cache(head)
|
||||
pv_entry_t head;
|
||||
{
|
||||
|
@ -670,11 +691,18 @@ void pv_remove_all(pa)
|
|||
{
|
||||
pv_entry_t npv,head,last;
|
||||
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_remove_all(%x)\n", pa);
|
||||
#endif
|
||||
if (!pv_initialized) return;
|
||||
head = pa_to_pvp(pa);
|
||||
for (npv = head ; npv != NULL; last= npv, npv = npv->pv_next ) {
|
||||
if (npv->pv_pmap == NULL) continue; /* empty */
|
||||
pmap_remove_range(npv->pv_pmap, npv->pv_va, npv->pv_va+NBPG);
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_remove_all: removing pmap %x, va %x mapping\n",
|
||||
npv->pv_pmap, npv->pv_va);
|
||||
#endif
|
||||
pmap_remove(npv->pv_pmap, npv->pv_va, npv->pv_va+NBPG);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -687,10 +715,13 @@ unsigned char pv_link(pmap, pa, va, flags)
|
|||
pv_entry_t last,pv,head,npv;
|
||||
int s;
|
||||
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_link(%x, %x, %x, %x)\n", pmap, pa, va, flags);
|
||||
pv_print(pa);
|
||||
#endif
|
||||
if (!pv_initialized) return 0;
|
||||
head = pv = pa_to_pvp(pa);
|
||||
PMAP_LOCK();
|
||||
|
||||
if (pv->pv_pmap == NULL) { /* not currently "managed" */
|
||||
pv->pv_va = va;
|
||||
pv->pv_pmap = pmap,
|
||||
|
@ -772,10 +803,13 @@ void pv_unlink(pmap, pa, va)
|
|||
unsigned char saved_flags,nflags;
|
||||
|
||||
if (!pv_initialized) return;
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_unlink(%x, %x, %x)\n", pmap, pa, va);
|
||||
#endif
|
||||
pv_list = pa_to_pvp(pa);
|
||||
if (pv_list->pv_pmap == NULL) {
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_unlinking too many times\n");
|
||||
panic("pv_unlinking too many times");
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
@ -818,7 +852,7 @@ void pv_unlink(pmap, pa, va)
|
|||
return;
|
||||
}
|
||||
#ifdef PMAP_DEBUG
|
||||
printf("pv_unlink: couldn't find entry");
|
||||
panic("pv_unlink: couldn't find entry");
|
||||
#endif
|
||||
}
|
||||
void pv_init()
|
||||
|
@ -1709,7 +1743,7 @@ void pmap_protect_range_mmu(pmap, sva, eva,pte_proto)
|
|||
if (sme == SEGINV) {
|
||||
if (pmap == kernel_pmap) return;
|
||||
pmegp = pmeg_cache(pmap, VA_SEGNUM(sva), PM_UPDATE_CACHE);
|
||||
if (!pmegp) return;
|
||||
if (!pmegp) goto out;
|
||||
set_segmap(sva, pmegp->pmeg_index);
|
||||
}
|
||||
else
|
||||
|
@ -1722,7 +1756,8 @@ void pmap_protect_range_mmu(pmap, sva, eva,pte_proto)
|
|||
if (pte & PG_VALID) {
|
||||
if (pv_initialized)
|
||||
save_modified_bits(pte);
|
||||
pte_proto |= (PG_MOD|PG_SYSTEM|PG_TYPE|PG_ACCESS|PG_FRAME) & pte;
|
||||
pte_proto = (pte_proto & (PG_VALID|PG_WRITE)) |
|
||||
((PG_MOD|PG_SYSTEM|PG_TYPE|PG_ACCESS|PG_FRAME) & pte);
|
||||
nflags = pv_link(pmap, PG_PA(pte), va, PG_TO_PV_FLAGS(pte_proto));
|
||||
if (nflags & PV_NC)
|
||||
set_pte(va, pte_proto | PG_NC);
|
||||
|
@ -1731,6 +1766,7 @@ void pmap_protect_range_mmu(pmap, sva, eva,pte_proto)
|
|||
}
|
||||
va+= NBPG;
|
||||
}
|
||||
out:
|
||||
set_context(saved_context);
|
||||
}
|
||||
/* within one pmeg */
|
||||
|
|
|
@ -28,25 +28,25 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/sun3_startup.c,v 1.16 1994/02/23 08:29:50 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/sun3_startup.c,v 1.17 1994/03/01 08:23:15 glass Exp $
|
||||
*/
|
||||
|
||||
#include "systm.h"
|
||||
#include "param.h"
|
||||
#include "proc.h"
|
||||
#include "user.h"
|
||||
#include <sys/systm.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/user.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include <vm/vm.h>
|
||||
|
||||
#include "machine/control.h"
|
||||
#include "machine/cpufunc.h"
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/mon.h"
|
||||
#include "machine/control.h"
|
||||
#include "machine/pte.h"
|
||||
#include "machine/pmap.h"
|
||||
#include "machine/idprom.h"
|
||||
#include "machine/obio.h"
|
||||
#include <machine/control.h>
|
||||
#include <machine/cpufunc.h>
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/mon.h>
|
||||
#include <machine/control.h>
|
||||
#include <machine/pte.h>
|
||||
#include <machine/pmap.h>
|
||||
#include <machine/idprom.h>
|
||||
#include <machine/obio.h>
|
||||
|
||||
#include "vector.h"
|
||||
#include "interreg.h"
|
||||
|
|
|
@ -35,13 +35,13 @@
|
|||
* swapgeneric.c,v 1.2 1993/05/22 07:57:44 cgd Exp
|
||||
*/
|
||||
|
||||
#include "sys/param.h"
|
||||
#include "sys/conf.h"
|
||||
#include "sys/buf.h"
|
||||
#include "sys/systm.h"
|
||||
#include "sys/reboot.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/reboot.h>
|
||||
|
||||
/*#include "../dev/device.h"*/
|
||||
/*#include <../dev/device.h>*/
|
||||
|
||||
/*#include "sd.h" XXX */
|
||||
#define NSD 0
|
||||
|
|
|
@ -42,35 +42,35 @@
|
|||
* trap.c,v 1.3 1993/07/07 07:08:47 cgd Exp
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "systm.h"
|
||||
#include "proc.h"
|
||||
#include "acct.h"
|
||||
#include "kernel.h"
|
||||
#include "signalvar.h"
|
||||
#include "resourcevar.h"
|
||||
#include "syslog.h"
|
||||
#include "user.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/acct.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/signalvar.h>
|
||||
#include <sys/resourcevar.h>
|
||||
#include <sys/syslog.h>
|
||||
#include <sys/user.h>
|
||||
#ifdef KTRACE
|
||||
#include "ktrace.h"
|
||||
#include <sys/ktrace.h>
|
||||
#endif
|
||||
|
||||
#include "machine/psl.h"
|
||||
#include "machine/trap.h"
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/reg.h"
|
||||
#include "machine/mtpr.h"
|
||||
#include <machine/psl.h>
|
||||
#include <machine/trap.h>
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/reg.h>
|
||||
#include <machine/mtpr.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include "vm/pmap.h"
|
||||
#include "vmmeter.h"
|
||||
#include <vm/vm.h>
|
||||
#include <vm/pmap.h>
|
||||
#include <sys/vmmeter.h>
|
||||
|
||||
#ifdef HPUXCOMPAT
|
||||
#include "../hpux/hpux.h"
|
||||
#include <../hpux/hpux.h>
|
||||
#endif
|
||||
|
||||
#ifdef COMPAT_SUNOS
|
||||
#include "compat/sunos/sun_syscall.h"
|
||||
#include <compat/sunos/sun_syscall.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -523,8 +523,6 @@ syscall(code, frame)
|
|||
int rval[2];
|
||||
struct timeval syst;
|
||||
struct sysent *systab;
|
||||
extern char *syscallnames[];
|
||||
char **sysnames;
|
||||
#ifdef HPUXCOMPAT
|
||||
extern struct sysent hpuxsysent[];
|
||||
extern int hpuxnsysent, notimp();
|
||||
|
@ -543,7 +541,6 @@ syscall(code, frame)
|
|||
|
||||
systab = sun_sysent;
|
||||
numsys = nsun_sysent;
|
||||
sysnames = sun_syscallnames;
|
||||
/* SunOS passes the syscall-number on the stack, whereas
|
||||
BSD passes it in D0. So, we have to get the real "code"
|
||||
from the stack, and clean up the stack, as SunOS glue
|
||||
|
@ -567,15 +564,15 @@ syscall(code, frame)
|
|||
case EMUL_HPUX:
|
||||
systab = hpuxsysent;
|
||||
numsys = hpuxnsysent;
|
||||
sysnames = hpuxnsyscallnames;
|
||||
break;
|
||||
|
||||
#endif
|
||||
case EMUL_NETBSD:
|
||||
default:
|
||||
systab = sysent;
|
||||
numsys = nsysent;
|
||||
sysnames = syscallnames;
|
||||
break;
|
||||
default:
|
||||
panic("syscall: bad syscall emulation type");
|
||||
}
|
||||
params = (caddr_t)frame.f_regs[SP] + sizeof(int);
|
||||
if (code == 0) { /* indir */
|
||||
|
@ -594,12 +591,20 @@ syscall(code, frame)
|
|||
#endif
|
||||
frame.f_regs[D0] = error;
|
||||
frame.f_sr |= PSL_C; /* carry bit */
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD) /* XXX */
|
||||
scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
goto done;
|
||||
}
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD) /* XXX */
|
||||
scdebug_call(p, code, callp->sy_narg, args.i);
|
||||
#endif
|
||||
#ifdef KTRACE
|
||||
if (KTRPOINT(p, KTR_SYSCALL))
|
||||
ktrsyscall(p->p_tracep, code, callp->sy_narg, args.i);
|
||||
|
@ -638,6 +643,11 @@ done:
|
|||
* if this is a child returning from fork syscall.
|
||||
*/
|
||||
p = curproc;
|
||||
#ifdef SYSCALL_DEBUG
|
||||
if (p->p_emul == EMUL_NETBSD) /* XXX */
|
||||
scdebug_ret(p, code, error, rval[0]);
|
||||
#endif
|
||||
|
||||
#ifdef COMPAT_SUNOS
|
||||
/* need new p-value for this */
|
||||
if (error == ERESTART && (p->p_md.md_flags & MDP_STACKADJ))
|
||||
|
|
|
@ -120,9 +120,13 @@ Lbe10:
|
|||
sun3_mmu_specific:
|
||||
clrl d0 | make sure top bits are cleard too
|
||||
movl d1, sp@- | save d1
|
||||
movl d2, sp@- | save d2
|
||||
movc sfc, d2 | save sfc to d2
|
||||
moveq #FC_CONTROL, d1 | need to set source to control space
|
||||
movc d1, sfc | control space source established
|
||||
movsb BUSERR_REG, d0 | get value of bus error register
|
||||
movc d2, sfc | stop using control space (potential)
|
||||
movl sp@+, d2 | restore d2
|
||||
movl sp@+, d1 | restore d1
|
||||
btst #5, d0 | test to timeout bit
|
||||
jne Lisberr | if bus error, do it
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/vector.c,v 1.6 1994/02/04 08:21:11 glass Exp $
|
||||
* $Header: /cvsroot/src/sys/arch/sun3/sun3/Attic/vector.c,v 1.7 1994/03/01 08:23:20 glass Exp $
|
||||
*/
|
||||
|
||||
#include "sys/systm.h"
|
||||
#include <sys/systm.h>
|
||||
#include "vector.h"
|
||||
|
||||
#define COPY_ENTRY16 COPY_ENTRY, COPY_ENTRY, COPY_ENTRY, COPY_ENTRY, \
|
||||
|
|
|
@ -42,19 +42,19 @@
|
|||
* vm_machdep.c,v 1.3 1993/07/07 07:09:32 cgd Exp
|
||||
*/
|
||||
|
||||
#include "param.h"
|
||||
#include "systm.h"
|
||||
#include "proc.h"
|
||||
#include "malloc.h"
|
||||
#include "buf.h"
|
||||
#include "user.h"
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/buf.h>
|
||||
#include <sys/user.h>
|
||||
|
||||
#include "vm/vm.h"
|
||||
#include "vm/vm_kern.h"
|
||||
#include "vm/vm_map.h"
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_kern.h>
|
||||
#include <vm/vm_map.h>
|
||||
|
||||
#include "machine/cpu.h"
|
||||
#include "machine/pte.h"
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/pte.h>
|
||||
|
||||
/*
|
||||
* Finish a fork operation, with process p2 nearly set up.
|
||||
|
|
Loading…
Reference in New Issue