PERFORCE change 65540 for review
Marcel Moolenaar
marcel at FreeBSD.org
Fri Nov 19 22:25:24 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=65540
Change 65540 by marcel at marcel_nfs on 2004/11/20 06:24:49
IFC @65539
Affected files ...
.. //depot/projects/uart/alpha/alpha/genassym.c#4 integrate
.. //depot/projects/uart/alpha/alpha/machdep.c#11 integrate
.. //depot/projects/uart/alpha/alpha/mp_machdep.c#10 integrate
.. //depot/projects/uart/alpha/include/param.h#4 integrate
.. //depot/projects/uart/amd64/amd64/busdma_machdep.c#8 integrate
.. //depot/projects/uart/amd64/amd64/genassym.c#5 integrate
.. //depot/projects/uart/amd64/amd64/machdep.c#10 integrate
.. //depot/projects/uart/amd64/include/param.h#4 integrate
.. //depot/projects/uart/arm/arm/genassym.c#3 integrate
.. //depot/projects/uart/arm/arm/trap.c#3 integrate
.. //depot/projects/uart/arm/arm/vm_machdep.c#3 integrate
.. //depot/projects/uart/arm/include/param.h#4 integrate
.. //depot/projects/uart/arm/sa11x0/assabet_machdep.c#2 integrate
.. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#4 integrate
.. //depot/projects/uart/compat/pecoff/imgact_pecoff.c#4 integrate
.. //depot/projects/uart/conf/NOTES#21 integrate
.. //depot/projects/uart/conf/kmod.mk#9 integrate
.. //depot/projects/uart/ddb/db_ps.c#7 integrate
.. //depot/projects/uart/i386/i386/busdma_machdep.c#11 integrate
.. //depot/projects/uart/i386/i386/genassym.c#4 integrate
.. //depot/projects/uart/i386/i386/locore.s#7 integrate
.. //depot/projects/uart/i386/i386/machdep.c#11 integrate
.. //depot/projects/uart/i386/include/param.h#3 integrate
.. //depot/projects/uart/i386/linux/linux_sysvec.c#4 integrate
.. //depot/projects/uart/ia64/ia64/genassym.c#7 integrate
.. //depot/projects/uart/ia64/ia64/machdep.c#17 integrate
.. //depot/projects/uart/ia64/include/param.h#5 integrate
.. //depot/projects/uart/kern/imgact_aout.c#4 integrate
.. //depot/projects/uart/kern/init_main.c#8 integrate
.. //depot/projects/uart/kern/kern_fork.c#8 integrate
.. //depot/projects/uart/kern/kern_proc.c#8 integrate
.. //depot/projects/uart/netgraph/atm/sscop/ng_sscop_cust.h#3 integrate
.. //depot/projects/uart/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#3 integrate
.. //depot/projects/uart/netgraph/ng_one2many.c#3 integrate
.. //depot/projects/uart/pc98/i386/machdep.c#9 integrate
.. //depot/projects/uart/powerpc/include/param.h#5 integrate
.. //depot/projects/uart/powerpc/powerpc/genassym.c#3 integrate
.. //depot/projects/uart/powerpc/powerpc/machdep.c#6 integrate
.. //depot/projects/uart/sparc64/include/param.h#4 integrate
.. //depot/projects/uart/sparc64/sparc64/genassym.c#6 integrate
.. //depot/projects/uart/sparc64/sparc64/machdep.c#8 integrate
.. //depot/projects/uart/sys/proc.h#10 integrate
.. //depot/projects/uart/sys/systm.h#8 integrate
.. //depot/projects/uart/sys/user.h#3 integrate
.. //depot/projects/uart/vm/swap_pager.c#14 integrate
.. //depot/projects/uart/vm/vm_extern.h#5 integrate
.. //depot/projects/uart/vm/vm_glue.c#9 integrate
.. //depot/projects/uart/vm/vm_pageout.h#5 integrate
Differences ...
==== //depot/projects/uart/alpha/alpha/genassym.c#4 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/genassym.c,v 1.44 2004/04/05 21:00:49 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/genassym.c,v 1.45 2004/11/20 02:28:14 das Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -52,12 +52,12 @@
#include <sys/ktr.h>
#include <machine/frame.h>
#include <machine/chipset.h>
+#include <machine/pcb.h>
#include <sys/vmmeter.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
-#include <sys/user.h>
#include <net/if.h>
#include <netinet/in.h>
#include <nfs/nfsproto.h>
==== //depot/projects/uart/alpha/alpha/machdep.c#11 (text+ko) ====
@@ -88,7 +88,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.224 2004/11/05 19:16:43 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.225 2004/11/20 02:29:36 das Exp $");
#include "opt_compat.h"
#include "opt_ddb.h"
@@ -160,7 +160,6 @@
struct mtx icu_lock;
-struct user *proc0uarea;
vm_offset_t proc0kstack;
char machine[] = "alpha";
@@ -848,11 +847,9 @@
proc_linkup(&proc0, &ksegrp0, &thread0);
/*
- * Init mapping for u page(s) for proc 0
+ * Init mapping for kernel stack for proc 0
*/
- proc0uarea = (struct user *)pmap_steal_memory(UAREA_PAGES * PAGE_SIZE);
proc0kstack = pmap_steal_memory(KSTACK_PAGES * PAGE_SIZE);
- proc0.p_uarea = proc0uarea;
thread0.td_kstack = proc0kstack;
thread0.td_pcb = (struct pcb *)
(thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
@@ -861,7 +858,6 @@
* Setup the per-CPU data for the bootstrap cpu.
*/
{
- /* This is not a 'struct user' */
size_t sz = round_page(KSTACK_PAGES * PAGE_SIZE);
pcpup = (struct pcpu *) pmap_steal_memory(sz);
pcpu_init(pcpup, 0, sz);
==== //depot/projects/uart/alpha/alpha/mp_machdep.c#10 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.53 2004/11/05 19:16:43 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.54 2004/11/20 02:29:36 das Exp $");
#include "opt_kstack_pages.h"
@@ -233,7 +233,7 @@
if (bootverbose)
printf("smp_start_secondary: starting cpu %d\n", pal_id);
- sz = round_page((UAREA_PAGES + KSTACK_PAGES) * PAGE_SIZE);
+ sz = KSTACK_PAGES * PAGE_SIZE;
pcpu = malloc(sz, M_TEMP, M_NOWAIT);
if (!pcpu) {
printf("smp_start_secondary: can't allocate memory\n");
==== //depot/projects/uart/alpha/include/param.h#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/param.h,v 1.36 2004/09/02 18:59:14 scottl Exp $ */
+/* $FreeBSD: src/sys/alpha/include/param.h,v 1.37 2004/11/20 02:29:49 das Exp $ */
/* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */
/*
@@ -117,7 +117,6 @@
#define KSTACK_PAGES 2 /* pages of kstack (with pcb) */
#endif
#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */
-#define UAREA_PAGES 1 /* pages of u-area */
/*
==== //depot/projects/uart/amd64/amd64/busdma_machdep.c#8 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.60 2004/11/10 03:49:24 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.61 2004/11/19 17:51:29 scottl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -135,8 +135,7 @@
static bus_addr_t add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map,
vm_offset_t vaddr, bus_size_t size);
static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
-static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr,
- bus_size_t len);
+static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr);
/*
* Return true if a match is made.
@@ -147,18 +146,15 @@
* to check for a match, if there is no filter callback then assume a match.
*/
static __inline int
-run_filter(bus_dma_tag_t dmat, bus_addr_t paddr, bus_size_t len)
+run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
{
- bus_size_t bndy;
int retval;
retval = 0;
- bndy = dmat->boundary;
do {
if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr)
- || ((paddr & (dmat->alignment - 1)) != 0)
- || ((paddr & bndy) != ((paddr + len) & bndy)))
+ || ((paddr & (dmat->alignment - 1)) != 0))
&& (dmat->filter == NULL
|| (*dmat->filter)(dmat->filterarg, paddr) != 0))
retval = 1;
@@ -586,7 +582,7 @@
while (vaddr < vendaddr) {
paddr = pmap_kextract(vaddr);
- if (run_filter(dmat, paddr, 0) != 0) {
+ if (run_filter(dmat, paddr) != 0) {
needbounce = 1;
map->pagesneeded++;
}
@@ -647,7 +643,7 @@
sgsize = (baddr - curaddr);
}
- if (map->pagesneeded != 0 && run_filter(dmat, curaddr, sgsize))
+ if (map->pagesneeded != 0 && run_filter(dmat, curaddr))
curaddr = add_bounce_page(dmat, map, vaddr, sgsize);
/*
==== //depot/projects/uart/amd64/amd64/genassym.c#5 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.154 2004/05/16 22:43:57 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.155 2004/11/20 02:30:59 das Exp $");
#include "opt_compat.h"
#include "opt_kstack_pages.h"
@@ -50,14 +50,12 @@
#include <sys/socket.h>
#include <sys/resourcevar.h>
#include <sys/ucontext.h>
-#include <sys/user.h>
#include <machine/tss.h>
#include <sys/vmmeter.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
-#include <sys/user.h>
#include <sys/proc.h>
#include <net/if.h>
#include <netinet/in.h>
@@ -67,6 +65,7 @@
#include <nfsclient/nfsdiskless.h>
#include <machine/apicreg.h>
#include <machine/cpu.h>
+#include <machine/pcb.h>
#include <machine/sigframe.h>
#include <machine/proc.h>
#include <machine/specialreg.h>
@@ -76,7 +75,6 @@
ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap));
ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active));
ASSYM(P_SFLAG, offsetof(struct proc, p_sflag));
-ASSYM(P_UAREA, offsetof(struct proc, p_uarea));
ASSYM(TD_FLAGS, offsetof(struct thread, td_flags));
ASSYM(TD_PCB, offsetof(struct thread, td_pcb));
@@ -88,7 +86,6 @@
ASSYM(V_TRAP, offsetof(struct vmmeter, v_trap));
ASSYM(V_SYSCALL, offsetof(struct vmmeter, v_syscall));
ASSYM(V_INTR, offsetof(struct vmmeter, v_intr));
-ASSYM(UAREA_PAGES, UAREA_PAGES);
ASSYM(KSTACK_PAGES, KSTACK_PAGES);
ASSYM(PAGE_SIZE, PAGE_SIZE);
ASSYM(NPTEPG, NPTEPG);
==== //depot/projects/uart/amd64/amd64/machdep.c#10 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.622 2004/10/28 12:16:03 simokawa Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.623 2004/11/20 02:29:23 das Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -1114,9 +1114,6 @@
#error "have you forgotten the isa device?";
#endif
- proc0.p_uarea = (struct user *)(physfree + KERNBASE);
- bzero(proc0.p_uarea, UAREA_PAGES * PAGE_SIZE);
- physfree += UAREA_PAGES * PAGE_SIZE;
thread0.td_kstack = physfree + KERNBASE;
bzero((void *)thread0.td_kstack, KSTACK_PAGES * PAGE_SIZE);
physfree += KSTACK_PAGES * PAGE_SIZE;
==== //depot/projects/uart/amd64/include/param.h#4 (text+ko) ====
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)param.h 8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/amd64/include/param.h,v 1.14 2004/09/02 18:59:14 scottl Exp $
+ * $FreeBSD: src/sys/amd64/include/param.h,v 1.15 2004/11/20 02:29:49 das Exp $
*/
/*
@@ -125,7 +125,6 @@
#define KSTACK_PAGES 4 /* pages of kstack (with pcb) */
#endif
#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */
-#define UAREA_PAGES 1 /* holds struct user WITHOUT PCB (see def.) */
/*
==== //depot/projects/uart/arm/arm/genassym.c#3 (text+ko) ====
@@ -26,12 +26,11 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.3 2004/11/12 21:49:05 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.4 2004/11/20 02:30:59 das Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/assym.h>
#include <sys/proc.h>
-#include <sys/user.h>
#include <sys/mbuf.h>
#include <sys/vmmeter.h>
#include <vm/vm.h>
@@ -42,6 +41,7 @@
#include <machine/cpu.h>
#include <machine/proc.h>
#include <machine/cpufunc.h>
+#include <machine/pcb.h>
#include <machine/pte.h>
#include <machine/intr.h>
#include <netinet/in.h>
@@ -94,7 +94,6 @@
ASSYM(TF_R0, offsetof(struct trapframe, tf_r0));
ASSYM(TF_R1, offsetof(struct trapframe, tf_r1));
ASSYM(TF_PC, offsetof(struct trapframe, tf_pc));
-ASSYM(P_UAREA, offsetof(struct proc, p_uarea));
ASSYM(P_PID, offsetof(struct proc, p_pid));
ASSYM(P_FLAG, offsetof(struct proc, p_flag));
@@ -105,7 +104,6 @@
#endif
ASSYM(TDF_ASTPENDING, TDF_ASTPENDING);
ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED);
-ASSYM(USER_SIZE, sizeof(struct user));
ASSYM(P_TRACED, P_TRACED);
ASSYM(P_SIGEVENT, P_SIGEVENT);
ASSYM(P_PROFIL, P_PROFIL);
==== //depot/projects/uart/arm/arm/trap.c#3 (text+ko) ====
@@ -82,7 +82,7 @@
#include "opt_ktrace.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.3 2004/11/05 19:57:10 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.4 2004/11/20 00:55:57 cognet Exp $");
#include <sys/types.h>
@@ -247,6 +247,7 @@
td = curthread;
p = td->td_proc;
+ atomic_add_int(&cnt.v_trap, 1);
/* Data abort came from user mode? */
user = TRAP_USERMODE(tf);
@@ -711,6 +712,7 @@
td = curthread;
p = td->td_proc;
+ atomic_add_int(&cnt.v_trap, 1);
if (TRAP_USERMODE(tf)) {
td->td_frame = tf;
@@ -861,6 +863,7 @@
int locked = 0;
u_int sticks = 0;
+ atomic_add_int(&cnt.v_syscall, 1);
sticks = td->td_sticks;
if (td->td_ucred != td->td_proc->p_ucred)
cred_update_thread(td);
==== //depot/projects/uart/arm/arm/vm_machdep.c#3 (text+ko) ====
@@ -81,7 +81,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.6 2004/11/08 00:43:46 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.7 2004/11/20 02:31:23 das Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -145,8 +145,7 @@
struct trapframe *tf;
struct switchframe *sf;
struct mdproc *mdp2;
- vm_offset_t uarea = td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE
- - USPACE;
+ vm_offset_t uarea = td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE;
pcb1 = td1->td_pcb;
pcb2 = (struct pcb *)(td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE) - 1;
@@ -305,7 +304,7 @@
tf->tf_r0 = 0;
td->td_pcb->un_32.pcb32_sp = (u_int)sf;
td->td_pcb->un_32.pcb32_und_sp = td->td_kstack + td->td_kstack_pages
- * PAGE_SIZE - USPACE + USPACE_UNDEF_STACK_TOP;
+ * PAGE_SIZE + USPACE_UNDEF_STACK_TOP;
}
/*
@@ -336,7 +335,7 @@
td->td_pcb = (struct pcb *)(td->td_kstack + td->td_kstack_pages *
PAGE_SIZE) - 1;
td->td_frame = (struct trapframe *)
- ((u_int)td->td_kstack + td->td_kstack_pages * PAGE_SIZE - USPACE +
+ ((u_int)td->td_kstack + td->td_kstack_pages * PAGE_SIZE +
USPACE_SVC_STACK_TOP - sizeof(struct pcb)) - 1;
#ifdef __XSCALE__
pmap_use_minicache(td->td_kstack, td->td_kstack_pages * PAGE_SIZE);
==== //depot/projects/uart/arm/include/param.h#4 (text+ko) ====
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)param.h 5.8 (Berkeley) 6/28/91
- * $FreeBSD: src/sys/arm/include/param.h,v 1.7 2004/11/04 19:19:21 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/param.h,v 1.8 2004/11/20 02:31:37 das Exp $
*/
/*
@@ -98,14 +98,6 @@
#define KSTACK_PAGES 2
#endif /* !KSTACK_PAGES */
-#ifndef UAREA_PAGES
-#define UAREA_PAGES 1
-#endif /* !UAREA_PAGES */
-
-#ifndef USPACE
-#define USPACE (UAREA_PAGES * PAGE_SIZE) /* total size of u-area */
-#endif
-
#ifndef FPCONTEXTSIZE
#define FPCONTEXTSIZE (0x100)
#endif
@@ -114,7 +106,7 @@
#define KSTACK_GUARD_PAGES 1
#endif /* !KSTACK_GUARD_PAGES */
-#define USPACE_SVC_STACK_TOP (USPACE)
+#define USPACE_SVC_STACK_TOP 0
#define USPACE_SVC_STACK_BOTTOM (USPACE_SVC_STACK_TOP - 0x1000)
#define USPACE_UNDEF_STACK_TOP (USPACE_SVC_STACK_BOTTOM - 0x10)
#define USPACE_UNDEF_STACK_BOTTOM (FPCONTEXTSIZE + 10)
==== //depot/projects/uart/arm/sa11x0/assabet_machdep.c#2 (text+ko) ====
@@ -47,7 +47,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.5 2004/10/11 14:41:38 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.6 2004/11/20 02:29:24 das Exp $");
#include "opt_md.h"
@@ -180,7 +180,6 @@
{
struct pcpu *pc;
struct pv_addr kernel_l1pt;
- struct pv_addr proc0_uarea;
struct pv_addr md_addr;
struct pv_addr md_bla;
int loop;
@@ -275,8 +274,8 @@
valloc_pages(abtstack, ABT_STACK_SIZE);
valloc_pages(undstack, UND_STACK_SIZE);
valloc_pages(kernelstack, KSTACK_PAGES);
+ lastalloced = kernelstack.pv_va;
-
/*
* Allocate memory for the l1 and l2 page tables. The scheme to avoid
* wasting memory by allocating the l1pt on the first 16k memory was
@@ -284,10 +283,6 @@
* this to work (which is supposed to be the case).
*/
- /* Allocate pages for process 0 kernel stack and uarea */
- valloc_pages(proc0_uarea, UAREA_PAGES);
- lastalloced = proc0_uarea.pv_va;
-
/*
* Now we start construction of the L1 page table
* We start by mapping the L2 page tables into the L1.
@@ -324,9 +319,6 @@
UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa,
KSTACK_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, proc0_uarea.pv_va, proc0_uarea.pv_pa,
- UAREA_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
-
pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa,
L1_TABLE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE);
@@ -393,7 +385,6 @@
/* Set stack for exception handlers */
proc_linkup(&proc0, &ksegrp0, &thread0);
- proc0.p_uarea = (struct user *) proc0_uarea.pv_va;
thread0.td_kstack = kernelstack.pv_va;
thread0.td_pcb = (struct pcb *)
(thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#4 (text+ko) ====
@@ -48,7 +48,7 @@
#include "opt_msgbuf.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.3 2004/11/10 22:09:39 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.4 2004/11/20 02:29:24 das Exp $");
#define _ARM32_BUS_DMA_PRIVATE
#include <sys/param.h>
@@ -198,7 +198,6 @@
initarm(void *arg, void *arg2)
{
struct pv_addr kernel_l1pt;
- struct pv_addr proc0_uarea;
int loop;
u_int kerneldatasize, symbolsize;
u_int l1pagetable;
@@ -298,9 +297,6 @@
* this to work (which is supposed to be the case).
*/
- /* Allocate pages for process 0 kernel stack and uarea */
- valloc_pages(proc0_uarea, UAREA_PAGES);
-
/*
* Now we start construction of the L1 page table
* We start by mapping the L2 page tables into the L1.
@@ -333,8 +329,6 @@
UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa,
KSTACK_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, proc0_uarea.pv_va, proc0_uarea.pv_pa,
- UAREA_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
pmap_map_chunk(l1pagetable, msgbufpv.pv_va, msgbufpv.pv_pa,
MSGBUF_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
@@ -405,7 +399,6 @@
undefined_init();
proc_linkup(&proc0, &ksegrp0, &thread0);
- proc0.p_uarea = (struct user *) proc0_uarea.pv_va;
thread0.td_kstack = kernelstack.pv_va;
thread0.td_pcb = (struct pcb *)
(thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
==== //depot/projects/uart/compat/pecoff/imgact_pecoff.c#4 (text+ko) ====
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.33 2004/06/05 02:18:27 tjr Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.34 2004/11/20 02:32:04 das Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -79,6 +79,8 @@
#include "opt_pecoff.h"
+#define uarea_pages 1
+
#define PECOFF_PE_SIGNATURE "PE\0\0"
static int pecoff_fixup(register_t **, struct image_params *);
static int
@@ -189,9 +191,8 @@
if (tempuser == NULL)
return (ENOMEM);
PROC_LOCK(p);
- fill_kinfo_proc(p, &p->p_uarea->u_kproc);
+ fill_user(p, (struct user *)tempuser);
PROC_UNLOCK(p);
- bcopy(p->p_uarea, tempuser, sizeof(struct user));
bcopy(td->td_frame,
tempuser + ctob(uarea_pages) +
((caddr_t)td->td_frame - (caddr_t)td->td_kstack),
==== //depot/projects/uart/conf/NOTES#21 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1288 2004/11/12 19:44:30 peter Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1289 2004/11/20 02:32:15 das Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -2185,7 +2185,7 @@
options SW_WATCHDOG
#
-# Disable swapping of upages and stack pages. This option removes all
+# Disable swapping of stack pages. This option removes all
# code which actually performs swapping, so it's not possible to turn
# it back on at run-time.
#
==== //depot/projects/uart/conf/kmod.mk#9 (text+ko) ====
@@ -1,5 +1,5 @@
# From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.172 2004/10/24 08:26:48 ru Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.173 2004/11/20 06:09:11 marcel Exp $
#
# The include file <bsd.kmod.mk> handles building and installing loadable
# kernel modules.
@@ -288,17 +288,15 @@
.endfor
.endif
-MFILES?= kern/bus_if.m kern/device_if.m dev/iicbus/iicbb_if.m \
- dev/iicbus/iicbus_if.m isa/isa_if.m \
- libkern/iconv_converter_if.m \
- dev/acpica/acpi_if.m dev/eisa/eisa_if.m dev/mii/miibus_if.m \
- dev/ofw/ofw_bus_if.m \
- dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \
- dev/pci/pcib_if.m dev/ppbus/ppbus_if.m dev/smbus/smbus_if.m \
- dev/usb/usb_if.m dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \
- dev/sound/pcm/feeder_if.m dev/sound/pcm/mixer_if.m pci/agp_if.m \
- opencrypto/crypto_if.m pc98/pc98/canbus_if.m dev/uart/uart_if.m \
- sparc64/pci/ofw_pci_if.m
+MFILES?= dev/acpica/acpi_if.m dev/eisa/eisa_if.m dev/iicbus/iicbb_if.m \
+ dev/iicbus/iicbus_if.m dev/mii/miibus_if.m dev/ofw/ofw_bus_if.m \
+ dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \
+ dev/pci/pcib_if.m dev/ppbus/ppbus_if.m dev/smbus/smbus_if.m \
+ dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \
+ dev/sound/pcm/feeder_if.m dev/sound/pcm/mixer_if.m dev/uart/uart_if.m \
+ dev/usb/usb_if.m isa/isa_if.m kern/bus_if.m kern/device_if.m \
+ libkern/iconv_converter_if.m opencrypto/crypto_if.m \
+ pc98/pc98/canbus_if.m pci/agp_if.m sparc64/pci/ofw_pci_if.m
.for _srcsrc in ${MFILES}
.for _ext in c h
==== //depot/projects/uart/ddb/db_ps.c#7 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.54 2004/11/01 22:15:14 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.55 2004/11/20 02:32:42 das Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -66,7 +66,7 @@
p = &proc0;
db_setup_paging(db_simple_pager, &quit, db_lines_per_page);
- db_printf(" pid proc uarea uid ppid pgrp flag stat wmesg wchan cmd\n");
+ db_printf(" pid proc uid ppid pgrp flag stat wmesg wchan cmd\n");
while (--np >= 0 && !quit) {
if (p == NULL) {
printf("oops, ran out of processes early!\n");
@@ -95,8 +95,8 @@
state = "Unkn";
break;
}
- db_printf("%5d %8p %8p %4d %5d %5d %07x %s",
- p->p_pid, (volatile void *)p, (void *)p->p_uarea,
+ db_printf("%5d %8p %4d %5d %5d %07x %s",
+ p->p_pid, (volatile void *)p,
p->p_ucred != NULL ? p->p_ucred->cr_ruid : 0, pp->p_pid,
p->p_pgrp != NULL ? p->p_pgrp->pg_id : 0, p->p_flag,
state);
==== //depot/projects/uart/i386/i386/busdma_machdep.c#11 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.64 2004/11/09 16:03:27 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.65 2004/11/19 17:56:22 scottl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -135,8 +135,7 @@
static bus_addr_t add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map,
vm_offset_t vaddr, bus_size_t size);
static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
-static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr,
- bus_size_t len);
+static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr);
/*
* Return true if a match is made.
@@ -147,18 +146,15 @@
* to check for a match, if there is no filter callback then assume a match.
*/
static __inline int
-run_filter(bus_dma_tag_t dmat, bus_addr_t paddr, bus_size_t len)
+run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
{
- bus_size_t bndy;
int retval;
retval = 0;
- bndy = dmat->boundary;
do {
if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr)
- || ((paddr & (dmat->alignment - 1)) != 0)
- || ((paddr & bndy) != ((paddr + len) & bndy)))
+ || ((paddr & (dmat->alignment - 1)) != 0))
&& (dmat->filter == NULL
|| (*dmat->filter)(dmat->filterarg, paddr) != 0))
retval = 1;
@@ -586,7 +582,7 @@
while (vaddr < vendaddr) {
paddr = pmap_kextract(vaddr);
- if (run_filter(dmat, paddr, 0) != 0) {
+ if (run_filter(dmat, paddr) != 0) {
needbounce = 1;
map->pagesneeded++;
}
@@ -647,7 +643,7 @@
sgsize = (baddr - curaddr);
}
- if (map->pagesneeded != 0 && run_filter(dmat, curaddr, sgsize))
+ if (map->pagesneeded != 0 && run_filter(dmat, curaddr))
curaddr = add_bounce_page(dmat, map, vaddr, sgsize);
/*
==== //depot/projects/uart/i386/i386/genassym.c#4 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.148 2004/05/23 16:50:55 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.149 2004/11/20 02:30:59 das Exp $");
#include "opt_apic.h"
#include "opt_compat.h"
@@ -50,8 +50,8 @@
#include <sys/mutex.h>
#include <sys/socket.h>
#include <sys/resourcevar.h>
+#include <sys/signalvar.h>
#include <sys/ucontext.h>
-#include <sys/user.h>
#include <machine/bootinfo.h>
#include <machine/tss.h>
#include <sys/vmmeter.h>
@@ -59,7 +59,6 @@
#include <vm/vm_param.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
-#include <sys/user.h>
#include <sys/proc.h>
#include <net/if.h>
#include <netinet/in.h>
@@ -71,6 +70,7 @@
#include <machine/apicreg.h>
#endif
#include <machine/cpu.h>
+#include <machine/pcb.h>
#include <machine/sigframe.h>
#include <machine/vm86.h>
#include <machine/proc.h>
@@ -79,7 +79,6 @@
ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap));
ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active));
ASSYM(P_SFLAG, offsetof(struct proc, p_sflag));
-ASSYM(P_UAREA, offsetof(struct proc, p_uarea));
ASSYM(TD_FLAGS, offsetof(struct thread, td_flags));
ASSYM(TD_PCB, offsetof(struct thread, td_pcb));
@@ -96,7 +95,6 @@
ASSYM(V_SYSCALL, offsetof(struct vmmeter, v_syscall));
ASSYM(V_INTR, offsetof(struct vmmeter, v_intr));
/* ASSYM(UPAGES, UPAGES);*/
-ASSYM(UAREA_PAGES, UAREA_PAGES);
ASSYM(KSTACK_PAGES, KSTACK_PAGES);
ASSYM(PAGE_SIZE, PAGE_SIZE);
ASSYM(NPTEPG, NPTEPG);
==== //depot/projects/uart/i386/i386/locore.s#7 (text+ko) ====
@@ -30,7 +30,7 @@
* SUCH DAMAGE.
*
* from: @(#)locore.s 7.3 (Berkeley) 5/13/91
- * $FreeBSD: src/sys/i386/i386/locore.s,v 1.184 2004/07/08 22:35:34 brian Exp $
+ * $FreeBSD: src/sys/i386/i386/locore.s,v 1.185 2004/11/20 02:29:24 das Exp $
*
* originally from: locore.s, by William F. Jolitz
*
@@ -129,10 +129,10 @@
#endif
KPTphys: .long 0 /* phys addr of kernel page tables */
- .globl proc0uarea, proc0kstack
-proc0uarea: .long 0 /* address of proc 0 uarea space */
+ .globl proc0kstack
+proc0uarea: .long 0 /* address of proc 0 uarea (unused)*/
proc0kstack: .long 0 /* address of proc 0 kstack space */
-p0upa: .long 0 /* phys addr of proc0's UAREA */
+p0upa: .long 0 /* phys addr of proc0 UAREA (unused) */
p0kpa: .long 0 /* phys addr of proc0's STACK */
vm86phystk: .long 0 /* PA of vm86/bios stack */
@@ -748,12 +748,7 @@
ALLOCPAGES(NPGPTD)
movl %esi,R(IdlePTD)
-/* Allocate UPAGES */
- ALLOCPAGES(UAREA_PAGES)
- movl %esi,R(p0upa)
- addl $KERNBASE, %esi
- movl %esi, R(proc0uarea)
-
+/* Allocate KSTACK */
ALLOCPAGES(KSTACK_PAGES)
movl %esi,R(p0kpa)
addl $KERNBASE, %esi
@@ -847,11 +842,6 @@
movl $NPGPTD, %ecx
fillkptphys($PG_RW)
-/* Map proc0's UPAGES in the physical way ... */
- movl R(p0upa), %eax
- movl $(UAREA_PAGES), %ecx
- fillkptphys($PG_RW)
-
/* Map proc0's KSTACK in the physical way ... */
movl R(p0kpa), %eax
movl $(KSTACK_PAGES), %ecx
==== //depot/projects/uart/i386/i386/machdep.c#11 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.601 2004/11/16 20:42:31 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.602 2004/11/20 02:29:24 das Exp $");
#include "opt_apic.h"
#include "opt_atalk.h"
@@ -1233,7 +1233,6 @@
static struct i386tss dblfault_tss;
static char dblfault_stack[PAGE_SIZE];
-extern struct user *proc0uarea;
extern vm_offset_t proc0kstack;
@@ -1956,7 +1955,6 @@
int gsel_tss, metadata_missing, off, x;
struct pcpu *pc;
- proc0.p_uarea = proc0uarea;
thread0.td_kstack = proc0kstack;
thread0.td_pcb = (struct pcb *)
(thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
==== //depot/projects/uart/i386/include/param.h#3 (text+ko) ====
@@ -30,7 +30,7 @@
* SUCH DAMAGE.
*
* from: @(#)param.h 5.8 (Berkeley) 6/28/91
- * $FreeBSD: src/sys/i386/include/param.h,v 1.78 2004/09/02 18:59:15 scottl Exp $
+ * $FreeBSD: src/sys/i386/include/param.h,v 1.79 2004/11/20 02:29:49 das Exp $
*/
/*
@@ -103,7 +103,6 @@
#define KSTACK_PAGES 2 /* Includes pcb! */
#endif
#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */
-#define UAREA_PAGES 1 /* holds struct user WITHOUT PCB (see def.) */
/*
* Ceiling on amount of swblock kva space, can be changed via
==== //depot/projects/uart/i386/linux/linux_sysvec.c#4 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.132 2004/07/15 08:26:05 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.133 2004/11/20 02:32:04 das Exp $");
/* XXX we use functions that might not exist. */
#include "opt_compat.h"
@@ -94,6 +94,8 @@
#define LINUX_SYS_linux_rt_sendsig 0
#define LINUX_SYS_linux_sendsig 0
+#define uarea_pages 1
+
extern char linux_sigcode[];
extern int linux_szsigcode;
@@ -746,9 +748,8 @@
if (tempuser == NULL)
return (ENOMEM);
PROC_LOCK(p);
- fill_kinfo_proc(p, &p->p_uarea->u_kproc);
+ fill_user(p, (struct user *)tempuser);
PROC_UNLOCK(p);
- bcopy(p->p_uarea, tempuser, sizeof(struct user));
bcopy(td->td_frame,
tempuser + ctob(uarea_pages) +
((caddr_t)td->td_frame - (caddr_t)td->td_kstack),
==== //depot/projects/uart/ia64/ia64/genassym.c#7 (text+ko) ====
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.40 2004/09/25 04:27:44 marcel Exp $
+ * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.41 2004/11/20 02:28:14 das Exp $
*/
#include "opt_compat.h"
@@ -52,12 +52,12 @@
#include <machine/mutex.h>
#include <machine/elf.h>
#include <machine/pal.h>
+#include <machine/pcb.h>
#include <sys/vmmeter.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
-#include <sys/user.h>
#include <net/if.h>
#include <netinet/in.h>
==== //depot/projects/uart/ia64/ia64/machdep.c#17 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.190 2004/10/06 02:43:28 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.191 2004/11/20 02:29:24 das Exp $");
#include "opt_compat.h"
#include "opt_ddb.h"
@@ -102,7 +102,6 @@
struct pcpu early_pcpu;
extern char kstack[];
-struct user *proc0uarea;
vm_offset_t proc0kstack;
extern u_int64_t kernel_text[], _end[];
@@ -716,11 +715,9 @@
proc_linkup(&proc0, &ksegrp0, &thread0);
/*
- * Init mapping for u page(s) for proc 0
+ * Init mapping for kernel stack for proc 0
*/
- proc0uarea = (struct user *)pmap_steal_memory(UAREA_PAGES * PAGE_SIZE);
proc0kstack = (vm_offset_t)kstack;
- proc0.p_uarea = proc0uarea;
thread0.td_kstack = proc0kstack;
thread0.td_pcb = (struct pcb *)
(thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list