PERFORCE change 65588 for review

Marcel Moolenaar marcel at FreeBSD.org
Sat Nov 20 16:02:51 PST 2004


http://perforce.freebsd.org/chv.cgi?CH=65588

Change 65588 by marcel at marcel_nfs on 2004/11/21 00:01:57

	IFC @65587

Affected files ...

.. //depot/projects/uart/arm/arm/exception.S#2 integrate
.. //depot/projects/uart/arm/arm/undefined.c#2 integrate
.. //depot/projects/uart/arm/arm/vm_machdep.c#4 integrate
.. //depot/projects/uart/arm/include/cpufunc.h#3 integrate
.. //depot/projects/uart/arm/include/db_machdep.h#2 integrate
.. //depot/projects/uart/arm/include/param.h#5 integrate
.. //depot/projects/uart/arm/sa11x0/assabet_machdep.c#3 integrate
.. //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#5 integrate
.. //depot/projects/uart/dev/ic/ns16550.h#4 integrate
.. //depot/projects/uart/dev/ic/sab82532.h#1 branch
.. //depot/projects/uart/dev/ic/z8530.h#1 branch
.. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#33 integrate
.. //depot/projects/uart/geom/uzip/g_uzip.c#2 integrate
.. //depot/projects/uart/kern/kern_fork.c#9 integrate
.. //depot/projects/uart/kern/kern_kse.c#2 integrate
.. //depot/projects/uart/kern/kern_proc.c#9 integrate
.. //depot/projects/uart/kern/kern_switch.c#5 integrate
.. //depot/projects/uart/kern/kern_thr.c#5 integrate
.. //depot/projects/uart/kern/kern_thread.c#13 integrate
.. //depot/projects/uart/modules/sio/Makefile#2 integrate
.. //depot/projects/uart/modules/uart/Makefile#12 integrate

Differences ...

==== //depot/projects/uart/arm/arm/exception.S#2 (text+ko) ====

@@ -51,7 +51,7 @@
 #include <machine/asm.h>
 #include <machine/armreg.h>
 #include <machine/asmacros.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/exception.S,v 1.3 2004/09/23 22:05:39 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/exception.S,v 1.4 2004/11/20 16:52:30 cognet Exp $");
 
 	.text	
 	.align	0
@@ -206,122 +206,6 @@
  *	look like direct entry from the vector.
  */
 ASENTRY_NP(undefined_entry)
-#ifdef IPKDB
-/*
- * IPKDB must be hooked in at the earliest possible entry point.
- *
- */
-/*
- * Make room for all registers saving real r0-r7 and r15.
- * The remaining registers are updated later.
- */
-	stmfd	sp!, {r0,r1}		/* psr & spsr */
-	stmfd	sp!, {lr}		/* pc */
-	stmfd	sp!, {r0-r14}		/* r0-r7, r8-r14 */
-/*
- * Get previous psr.
- */
-	mrs	r7, cpsr_all
-	mrs	r0, spsr_all
-	str	r0, [sp, #(16*4)]
-/*
- * Test for user mode.
- */
-	tst	r0, #0xf
-	bne	.Lprenotuser_push
-	add	r1, sp, #(8*4)
-	stmia	r1,{r8-r14}^		/* store user mode r8-r14*/
-	b	.Lgoipkdb
-/*
- * Switch to previous mode to get r8-r13.
- */
-.Lprenotuser_push:
-	orr	r0, r0, #(I32_bit) /* disable interrupts */
-	msr	cpsr_all, r0
-	mov	r1, r8
-	mov	r2, r9
-	mov	r3, r10
-	mov	r4, r11
-	mov	r5, r12
-	mov	r6, r13
-	msr	cpsr_all, r7		/* back to undefined mode */
-	add	r8, sp, #(8*4)
-	stmia	r8, {r1-r6}		/* r8-r13 */
-/*
- * Now back to previous mode to get r14 and spsr.
- */
-	msr	cpsr_all, r0
-	mov	r1, r14
-	mrs	r2, spsr
-	msr	cpsr_all, r7		/* back to undefined mode */
-	str	r1, [sp, #(14*4)]	/* r14 */
-	str	r2, [sp, #(17*4)]	/* spsr */
-/*
- * Now to IPKDB.
- */
-.Lgoipkdb:
-	mov	r0, sp
-	bl	_C_LABEL(ipkdb_trap_glue)
-	ldr	r1, .Lipkdb_trap_return
-	str	r0,[r1]
-
-/*
- * Have to load all registers from the stack.
- *
- * Start with spsr and pc.
- */
-	ldr	r0, [sp, #(16*4)]	/* spsr */
-	ldr	r1, [sp, #(15*4)]	/* r15 */
-	msr	spsr_all, r0
-	mov	r14, r1
-/*
- * Test for user mode.
- */
-	tst	r0, #0xf
-	bne	.Lprenotuser_pull
-	add	r1, sp, #(8*4)
-	ldmia	r1, {r8-r14}^		/* load user mode r8-r14 */
-	b	.Lpull_r0r7
-.Lprenotuser_pull:
-/*
- * Now previous mode spsr and r14.
- */
-	ldr	r1, [sp, #(17*4)]		/* spsr */
-	ldr	r2, [sp, #(14*4)]		/* r14 */
-	orr	r0, r0, #(I32_bit)
-	msr	cpsr_all, r0			/* switch to previous mode */
-	msr	spsr_all, r1
-	mov	r14, r2
-	msr	cpsr_all, r7			/* back to undefined mode */
-/*
- * Now r8-r13.
- */
-	add	r8, sp, #(8*4)
-	ldmia	r8, {r1-r6}		/* r8-r13 */
-	msr	cpsr_all, r0
-	mov	r8, r1
-	mov	r9, r2
-	mov	r10, r3
-	mov	r11, r4
-	mov	r12, r5
-	mov	r13, r6
-	msr	cpsr_all, r7
-.Lpull_r0r7:
-/*
- * Now the rest of the registers.
- */
-	ldr	r1,Lipkdb_trap_return
-	ldr	r0,[r1]
-	tst	r0,r0
-	ldmfd	sp!, {r0-r7}		/* r0-r7 */
-	add	sp, sp, #(10*4)		/* adjust sp */
-
-/*
- * Did IPKDB handle it?
- */
-	movnes	pc, lr			/* return */
-
-#endif
 	stmfd	sp!, {r0, r1}
 	ldr	r0, Lundefined_handler_indirection
 	ldr	r1, [sp], #0x0004
@@ -330,10 +214,6 @@
 	str	r1, [r0, #0x0004]
 	ldmia	r0, {r0, r1, pc}
 
-#ifdef IPKDB
-Lipkdb_trap_return:
-	.word	Lipkdb_trap_return_data
-#endif
 
 Lundefined_handler_indirection:
 	.word	Lundefined_handler_indirection_data

==== //depot/projects/uart/arm/arm/undefined.c#2 (text+ko) ====

@@ -46,7 +46,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.1 2004/05/14 11:46:42 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.2 2004/11/20 16:52:10 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -60,6 +60,9 @@
 #include <sys/types.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#ifdef KDB
+#include <sys/kdb.h>
+#endif
 #ifdef FAST_FPE
 #include <sys/acct.h>
 #endif
@@ -188,6 +191,7 @@
 		enable_interrupts(I32_bit);
 
 	frame->tf_pc -= INSN_SIZE;
+	atomic_add_int(&cnt.v_trap, 1);
 
 	fault_pc = frame->tf_pc;
 
@@ -251,13 +255,30 @@
 			       fault_code) == 0)
 		    break;
 
-	if (uh == NULL) {
+	if (uh == NULL && (fault_code & FAULT_USER)) {
 		/* Fault has not been handled */
 		trapsignal(td, SIGILL, 0);
 	}
 
-	if ((fault_code & FAULT_USER) == 0)
+	if ((fault_code & FAULT_USER) == 0) {
+		if (fault_instruction == KERNEL_BREAKPOINT) {
+#ifdef KDB
+		kdb_trap(0, 0, frame);
+#else
+		printf("No debugger in kernel.\n");
+#endif
+		frame->tf_pc += 4;
 		return;
+		} else {
+#ifdef KDB
+			printf("Undefined instruction in kernel.\n");
+			kdb_trap(0, 0, frame);
+#else
+			panic("Undefined instruction in kernel.\n");
+#endif
+		}
+		
+	}		
 
 #ifdef FAST_FPE
 	/* Optimised exit code */

==== //depot/projects/uart/arm/arm/vm_machdep.c#4 (text+ko) ====

@@ -81,7 +81,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.7 2004/11/20 02:31:23 das Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.8 2004/11/20 16:51:32 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -145,7 +145,6 @@
 	struct trapframe *tf;
 	struct switchframe *sf;
 	struct mdproc *mdp2;
-	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;
@@ -156,8 +155,8 @@
 	bcopy(td1->td_pcb, pcb2, sizeof(*pcb2));
 	mdp2 = &p2->p_md;
 	bcopy(&td1->td_proc->p_md, mdp2, sizeof(*mdp2));
-	pcb2->un_32.pcb32_und_sp = uarea + USPACE_UNDEF_STACK_TOP;
-	pcb2->un_32.pcb32_sp = uarea +
+	pcb2->un_32.pcb32_und_sp = td2->td_kstack + USPACE_UNDEF_STACK_TOP;
+	pcb2->un_32.pcb32_sp = td2->td_kstack +
 	    USPACE_SVC_STACK_TOP - sizeof(*pcb2);
 	pmap_activate(td2);
 	td2->td_frame = tf =

==== //depot/projects/uart/arm/include/cpufunc.h#3 (text+ko) ====

@@ -38,7 +38,7 @@
  *
  * Prototypes for cpu, mmu and tlb related functions.
  *
- * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.4 2004/11/04 19:18:50 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.5 2004/11/20 16:52:09 cognet Exp $
  */
 
 #ifndef _MACHINE_CPUFUNC_H_
@@ -53,6 +53,7 @@
 static __inline void
 breakpoint(void)
 {
+	__asm(".word      0xe7ffffff");
 }
 
 struct cpu_functions {

==== //depot/projects/uart/arm/include/db_machdep.h#2 (text+ko) ====

@@ -24,7 +24,7 @@
  * the rights to redistribute these changes.
  *
  *	from: FreeBSD: src/sys/i386/include/db_machdep.h,v 1.16 1999/10/04
- * $FreeBSD: src/sys/arm/include/db_machdep.h,v 1.2 2004/07/12 21:25:01 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/db_machdep.h,v 1.3 2004/11/20 16:52:09 cognet Exp $
  */
 
 #ifndef	_MACHINE_DB_MACHDEP_H_
@@ -47,7 +47,7 @@
 #define	BKPT_SET(inst)	(BKPT_INST)
 
 #define	BKPT_SKIP do {							\
-	kdb_frame->tf_pc -= BKPT_SIZE; \
+	kdb_frame->tf_pc += BKPT_SIZE; \
 } while (0)
 
 #define	db_clear_single_step(regs)
@@ -56,9 +56,25 @@
 #define	IS_BREAKPOINT_TRAP(type, code)	(type == T_BREAKPOINT)
 #define	IS_WATCHPOINT_TRAP(type, code)	(0)
 
+
 #define	inst_trap_return(ins)	(0)
-#define	inst_return(ins)	(0)
-#define	inst_call(ins)		(0)
+/* ldmxx reg, {..., pc}
+					    01800000  stack mode
+					    000f0000  register
+					    0000ffff  register list */
+/* mov pc, reg
+					    0000000f  register */
+#define	inst_return(ins)	(((ins) & 0x0e108000) == 0x08108000 || \
+				 ((ins) & 0x0ff0fff0) == 0x01a0f000)
+/* bl ...
+					    00ffffff  offset>>2 */
+#define	inst_call(ins)		(((ins) & 0x0f000000) == 0x0b000000)
+/* b ...
+					    00ffffff  offset>>2 */
+/* ldr pc, [pc, reg, lsl #2]
+					    0000000f  register */
+
+
 #define	inst_load(ins)		(0)
 #define	inst_store(ins)		(0)
 

==== //depot/projects/uart/arm/include/param.h#5 (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.8 2004/11/20 02:31:37 das Exp $
+ * $FreeBSD: src/sys/arm/include/param.h,v 1.9 2004/11/20 16:51:32 cognet Exp $
  */
 
 /*
@@ -106,7 +106,7 @@
 #define KSTACK_GUARD_PAGES	1
 #endif /* !KSTACK_GUARD_PAGES */
 
-#define USPACE_SVC_STACK_TOP		0
+#define USPACE_SVC_STACK_TOP		KSTACK_PAGES * PAGE_SIZE
 #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#3 (text+ko) ====

@@ -47,7 +47,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.6 2004/11/20 02:29:24 das Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.7 2004/11/20 16:51:32 cognet Exp $");
 
 #include "opt_md.h"
 
@@ -417,5 +417,6 @@
 	init_param2(physmem);
 	kdb_init();
 	avail_end = 0xc0000000 + 0x02000000 - 1;
-	return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP));
+	return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
+	    sizeof(struct pcb)));
 }

==== //depot/projects/uart/arm/xscale/i80321/iq31244_machdep.c#5 (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.4 2004/11/20 02:29:24 das Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.5 2004/11/20 16:51:32 cognet Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -432,5 +432,6 @@
 	init_param2(physmem);
 	avail_end = 0xa0000000 + memsize - 1;
 	kdb_init();
-	return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP));
+	return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
+	    sizeof(struct pcb)));
 }

==== //depot/projects/uart/dev/ic/ns16550.h#4 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)ns16550.h	7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/dev/ic/ns16550.h,v 1.15 2004/04/07 20:45:57 imp Exp $
+ * $FreeBSD: src/sys/dev/ic/ns16550.h,v 1.16 2004/11/20 23:19:42 marcel Exp $
  */
 
 /*
@@ -37,17 +37,17 @@
 /* 8250 registers #[0-6]. */
 
 #define	com_data	0	/* data register (R/W) */
-#define	com_thr		com_data /* transmitter holding register (W) */
-#define	com_rhr		com_data /* receiver holding register (R) */
+#define	REG_DATA	com_data
 
 #define	com_ier		1	/* interrupt enable register (W) */
+#define	REG_IER		com_ier
 #define	IER_ERXRDY	0x1
 #define	IER_ETXRDY	0x2
 #define	IER_ERLS	0x4
 #define	IER_EMSC	0x8
 
 #define	com_iir		2	/* interrupt identification register (R) */
-#define	com_isr		com_iir	/* interrupt status register (R) */
+#define	REG_IIR		com_iir
 #define	IIR_IMASK	0xf
 #define	IIR_RXTOUT	0xc
 #define	IIR_RLS		0x6
@@ -58,36 +58,52 @@
 #define	IIR_FIFO_MASK	0xc0	/* set if FIFOs are enabled */
 
 #define	com_lcr		3	/* line control register (R/W) */
-#define	com_lctl	com_lcr
 #define	com_cfcr	com_lcr	/* character format control register (R/W) */
+#define	REG_LCR		com_lcr
 #define	LCR_DLAB	0x80
 #define	CFCR_DLAB	LCR_DLAB
 #define	LCR_EFR_ENABLE	0xbf	/* magic to enable EFR on 16650 up */
 #define	CFCR_EFR_ENABLE	LCR_EFR_ENABLE
-#define	CFCR_SBREAK	0x40
-#define	CFCR_PZERO	0x30
-#define	CFCR_PONE	0x20
-#define	CFCR_PEVEN	0x10
-#define	CFCR_PODD	0x00
-#define	CFCR_PENAB	0x08
-#define	CFCR_STOPB	0x04
-#define	CFCR_8BITS	0x03
-#define	CFCR_7BITS	0x02
-#define	CFCR_6BITS	0x01
-#define	CFCR_5BITS	0x00
+#define	LCR_SBREAK	0x40
+#define	CFCR_SBREAK	LCR_SBREAK
+#define	LCR_PZERO	0x30
+#define	CFCR_PZERO	LCR_PZERO
+#define	LCR_PONE	0x20
+#define	CFCR_PONE	LCR_PONE
+#define	LCR_PEVEN	0x10
+#define	CFCR_PEVEN	LCR_PEVEN
+#define	LCR_PODD	0x00
+#define	CFCR_PODD	LCR_PODD
+#define	LCR_PENAB	0x08
+#define	CFCR_PENAB	LCR_PENAB
+#define	LCR_STOPB	0x04
+#define	CFCR_STOPB	LCR_STOPB
+#define	LCR_8BITS	0x03
+#define	CFCR_8BITS	LCR_8BITS
+#define	LCR_7BITS	0x02
+#define	CFCR_7BITS	LCR_7BITS
+#define	LCR_6BITS	0x01
+#define	CFCR_6BITS	LCR_6BITS
+#define	LCR_5BITS	0x00
+#define	CFCR_5BITS	LCR_5BITS
 
 #define	com_mcr		4	/* modem control register (R/W) */
+#define	REG_MCR		com_mcr
 #define	MCR_PRESCALE	0x80	/* only available on 16650 up */
 #define	MCR_LOOPBACK	0x10
-#define	MCR_IENABLE	0x08
+#define	MCR_IE		0x08
+#define	MCR_IENABLE	MCR_IE
 #define	MCR_DRS		0x04
 #define	MCR_RTS		0x02
 #define	MCR_DTR		0x01
 
 #define	com_lsr		5	/* line status register (R/W) */
+#define	REG_LSR		com_lsr
 #define	LSR_RCV_FIFO	0x80
-#define	LSR_TSRE	0x40
-#define	LSR_TXRDY	0x20
+#define	LSR_TEMT	0x40
+#define	LSR_TSRE	LSR_TEMT
+#define	LSR_THRE	0x20
+#define	LSR_TXRDY	LSR_THRE
 #define	LSR_BI		0x10
 #define	LSR_FE		0x08
 #define	LSR_PE		0x04
@@ -96,6 +112,7 @@
 #define	LSR_RCV_MASK	0x1f
 
 #define	com_msr		6	/* modem status register (R/W) */
+#define	REG_MSR		com_msr
 #define	MSR_DCD		0x80
 #define	MSR_RI		0x40
 #define	MSR_DSR		0x20
@@ -110,6 +127,7 @@
 #define	com_dlbl	com_dll
 #define	com_dlm		1	/* divisor latch high (R/W) */
 #define	com_dlbh	com_dlm
+#define	REG_DL		com_dll
 
 /* 16450 register #7.  Not multiplexed. */
 #define	com_scr		7	/* scratch register (R/W) */
@@ -117,20 +135,32 @@
 /* 16550 register #2.  Not multiplexed. */
 #define	com_fcr		2	/* FIFO control register (W) */
 #define	com_fifo	com_fcr
-#define	FIFO_ENABLE	0x01
-#define	FIFO_RCV_RST	0x02
-#define	FIFO_XMT_RST	0x04
-#define	FIFO_DMA_MODE	0x08
-#define	FIFO_RX_LOW	0x00
-#define	FIFO_RX_MEDL	0x40
-#define	FIFO_RX_MEDH	0x80
-#define	FIFO_RX_HIGH	0xc0
+#define	REG_FCR		com_fcr
+#define	FCR_ENABLE	0x01
+#define	FIFO_ENABLE	FCR_ENABLE
+#define	FCR_RCV_RST	0x02
+#define	FIFO_RCV_RST	FCR_RCV_RST
+#define	FCR_XMT_RST	0x04
+#define	FIFO_XMT_RST	FCR_XMT_RST
+#define	FCR_DMA		0x08
+#define	FIFO_DMA_MODE	FCR_DMA
+#define	FCR_RX_LOW	0x00
+#define	FIFO_RX_LOW	FCR_RX_LOW
+#define	FCR_RX_MEDL	0x40
+#define	FIFO_RX_MEDL	FCR_RX_MEDL
+#define	FCR_RX_MEDH	0x80
+#define	FIFO_RX_MEDH	FCR_RX_MEDH
+#define	FCR_RX_HIGH	0xc0
+#define	FIFO_RX_HIGH	FCR_RX_HIGH
 
 /* 16650 registers #2,[4-7].  Access enabled by LCR_EFR_ENABLE. */
 
 #define	com_efr		2	/* enhanced features register (R/W) */
-#define	EFR_AUTOCTS	0x80
-#define	EFR_AUTORTS	0x40
+#define	REG_EFR		com_efr
+#define	EFR_CTS		0x80
+#define	EFR_AUTOCTS	EFR_CTS
+#define	EFR_RTS		0x40
+#define	EFR_AUTORTS	EFR_RTS
 #define	EFR_EFE		0x10	/* enhanced functions enable */
 
 #define	com_xon1	4	/* XON 1 character (R/W) */
@@ -162,6 +192,7 @@
  * index into the Indexed Control register set.
  */
 #define	com_spr		com_scr	/* scratch pad (and index) register (R/W) */
+#define	REG_SPR		com_scr
 
 /*
  * 16950 indexed control registers #[0-0x13].  Access is via index in SPR,

==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#33 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.12 2004/11/15 00:00:24 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.13 2004/11/20 23:22:04 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -36,7 +36,8 @@
 #include <dev/uart/uart.h>
 #include <dev/uart/uart_cpu.h>
 #include <dev/uart/uart_bus.h>
-#include <dev/uart/uart_dev_ns8250.h>
+
+#include <dev/ic/ns16550.h>
 
 #include "uart_if.h"
 

==== //depot/projects/uart/geom/uzip/g_uzip.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/uzip/g_uzip.c,v 1.3 2004/09/19 10:27:46 fjoe Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/uzip/g_uzip.c,v 1.4 2004/11/20 13:10:04 fjoe Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -393,7 +393,7 @@
 	/*
 	 * Initialize softc and read offsets.
 	 */
-	sc = malloc(sizeof(*sc), M_GEOM_UZIP, M_WAITOK);
+	sc = malloc(sizeof(*sc), M_GEOM_UZIP, M_WAITOK | M_ZERO);
 	gp->softc = sc;
 	sc->blksz = ntohl(header->blksz);
 	sc->nblocks = ntohl(header->nblocks);

==== //depot/projects/uart/kern/kern_fork.c#9 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.245 2004/11/20 02:28:48 das Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.246 2004/11/20 23:00:59 das Exp $");
 
 #include "opt_ktrace.h"
 #include "opt_mac.h"
@@ -467,22 +467,19 @@
 	PROC_LOCK(p2);
 	PROC_LOCK(p1);
 
-#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
-
 	bzero(&p2->p_startzero,
-	    (unsigned) RANGEOF(struct proc, p_startzero, p_endzero));
+	    __rangeof(struct proc, p_startzero, p_endzero));
 	bzero(&td2->td_startzero,
-	    (unsigned) RANGEOF(struct thread, td_startzero, td_endzero));
+	    __rangeof(struct thread, td_startzero, td_endzero));
 	bzero(&kg2->kg_startzero,
-	    (unsigned) RANGEOF(struct ksegrp, kg_startzero, kg_endzero));
+	    __rangeof(struct ksegrp, kg_startzero, kg_endzero));
 
 	bcopy(&p1->p_startcopy, &p2->p_startcopy,
-	    (unsigned) RANGEOF(struct proc, p_startcopy, p_endcopy));
+	    __rangeof(struct proc, p_startcopy, p_endcopy));
 	bcopy(&td->td_startcopy, &td2->td_startcopy,
-	    (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy));
+	    __rangeof(struct thread, td_startcopy, td_endcopy));
 	bcopy(&td->td_ksegrp->kg_startcopy, &kg2->kg_startcopy,
-	    (unsigned) RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy));
-#undef RANGEOF
+	    __rangeof(struct ksegrp, kg_startcopy, kg_endcopy));
 
 	td2->td_sigstk = td->td_sigstk;
 

==== //depot/projects/uart/kern/kern_kse.c#2 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.206 2004/10/07 13:50:10 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.207 2004/11/20 23:00:59 das Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -61,8 +61,6 @@
 extern struct mtx kse_zombie_lock;
 
 
-#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
-
 TAILQ_HEAD(, kse_upcall) zombie_upcalls =
 	TAILQ_HEAD_INITIALIZER(zombie_upcalls);
 
@@ -600,10 +598,10 @@
 
 	if (uap->newgroup) {
 		newkg = ksegrp_alloc();
-		bzero(&newkg->kg_startzero, RANGEOF(struct ksegrp,
-		      kg_startzero, kg_endzero));
+		bzero(&newkg->kg_startzero,
+		    __rangeof(struct ksegrp, kg_startzero, kg_endzero));
 		bcopy(&kg->kg_startcopy, &newkg->kg_startcopy,
-		      RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy));
+		    __rangeof(struct ksegrp, kg_startcopy, kg_endcopy));
 		sched_init_concurrency(newkg);
 		PROC_LOCK(p);
 		if (p->p_numksegrps >= max_groups_per_proc) {
@@ -1033,7 +1031,7 @@
 	spare = thread_alloc();
 	td->td_standin = spare;
 	bzero(&spare->td_startzero,
-	    (unsigned) RANGEOF(struct thread, td_startzero, td_endzero));
+	    __rangeof(struct thread, td_startzero, td_endzero));
 	spare->td_proc = td->td_proc;
 	spare->td_ucred = crhold(td->td_ucred);
 }
@@ -1068,7 +1066,7 @@
 	 * do the crhold here because we are in schedlock already.
 	 */
 	bcopy(&td->td_startcopy, &td2->td_startcopy,
-	    (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy));
+	    __rangeof(struct thread, td_startcopy, td_endcopy));
 	thread_link(td2, ku->ku_ksegrp);
 	/* inherit parts of blocked thread's context as a good template */
 	cpu_set_upcall(td2, td);

==== //depot/projects/uart/kern/kern_proc.c#9 (text+ko) ====

@@ -27,11 +27,11 @@
  * SUCH DAMAGE.
  *
  *	@(#)kern_proc.c	8.7 (Berkeley) 2/14/95
- * $FreeBSD: src/sys/kern/kern_proc.c,v 1.220 2004/11/20 02:28:48 das Exp $
+ * $FreeBSD: src/sys/kern/kern_proc.c,v 1.221 2004/11/20 23:00:59 das Exp $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.220 2004/11/20 02:28:48 das Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.221 2004/11/20 23:00:59 das Exp $");
 
 #include "opt_ktrace.h"
 #include "opt_kstack_pages.h"
@@ -827,13 +827,10 @@
 pstats_fork(struct pstats *src, struct pstats *dst)
 {
 
-#define	RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
-
 	bzero(&dst->pstat_startzero,
-	    (unsigned)RANGEOF(struct pstats, pstat_startzero, pstat_endzero));
+	    __rangeof(struct pstats, pstat_startzero, pstat_endzero));
 	bcopy(&src->pstat_startcopy, &dst->pstat_startcopy,
-	    (unsigned)RANGEOF(struct pstats, pstat_startcopy, pstat_endcopy));
-#undef RANGEOF
+	    __rangeof(struct pstats, pstat_startcopy, pstat_endcopy));
 }
 
 void

==== //depot/projects/uart/kern/kern_switch.c#5 (text+ko) ====

@@ -86,7 +86,7 @@
 ***/
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.103 2004/11/07 23:11:32 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.104 2004/11/20 23:00:59 das Exp $");
 
 #include "opt_sched.h"
 
@@ -910,7 +910,6 @@
 
 /****** functions that are temporarily here ***********/
 #include <vm/uma.h>
-#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
 extern struct mtx kse_zombie_lock;
 
 /*
@@ -929,7 +928,6 @@
 	sched_init_concurrency(kg);
 }
 
-#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
 /*
  * thread is being either created or recycled.
  * Fix up the per-scheduler resources associated with it.

==== //depot/projects/uart/kern/kern_thr.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.29 2004/10/06 14:20:57 mtm Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.30 2004/11/20 23:00:59 das Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -58,12 +58,6 @@
 	&thr_concurrency, 0, "a concurrency value if not default");
 
 /*
- * Back end support functions.
- */
-
-#define	RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
-
-/*
  * System call interface.
  */
 int
@@ -109,15 +103,15 @@
 	}
 
 	bzero(&newtd->td_startzero,
-	    (unsigned) RANGEOF(struct thread, td_startzero, td_endzero));
+	    __rangeof(struct thread, td_startzero, td_endzero));
 	bcopy(&td->td_startcopy, &newtd->td_startcopy,
-	    (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy));
+	    __rangeof(struct thread, td_startcopy, td_endcopy));
 
 	if (scope_sys) {
 		bzero(&newkg->kg_startzero,
-		    (unsigned)RANGEOF(struct ksegrp, kg_startzero, kg_endzero));
+		    __rangeof(struct ksegrp, kg_startzero, kg_endzero));
 		bcopy(&kg->kg_startcopy, &newkg->kg_startcopy,
-		    (unsigned)RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy));
+		    __rangeof(struct ksegrp, kg_startcopy, kg_endcopy));
 	}
 
 	newtd->td_proc = td->td_proc;

==== //depot/projects/uart/kern/kern_thread.c#13 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.207 2004/11/05 22:40:33 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.208 2004/11/20 23:00:59 das Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -72,8 +72,6 @@
 
 int virtual_cpu;
 
-#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start))
-
 TAILQ_HEAD(, thread) zombie_threads = TAILQ_HEAD_INITIALIZER(zombie_threads);
 TAILQ_HEAD(, ksegrp) zombie_ksegrps = TAILQ_HEAD_INITIALIZER(zombie_ksegrps);
 struct mtx kse_zombie_lock;

==== //depot/projects/uart/modules/sio/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/modules/sio/Makefile,v 1.6 2004/05/26 00:53:08 imp Exp $
+# $FreeBSD: src/sys/modules/sio/Makefile,v 1.7 2004/11/20 23:04:32 marcel Exp $
 
 .if ${MACHINE} == "pc98"
 .PATH: ${.CURDIR}/../../pc98/pc98
@@ -7,7 +7,7 @@
 
 KMOD=	sio
 SRCS=	bus_if.h card_if.h device_if.h isa_if.h pci_if.h \
-	opt_comconsole.h opt_compat.h opt_ddb.h opt_sio.h \
+	opt_comconsole.h opt_compat.h opt_gdb.h opt_kdb.h opt_sio.h \
 	sio.c sio_pccard.c sio_pci.c sio_puc.c pccarddevs.h
 .if ${MACHINE} == "pc98"
 SRCS+=	sio_cbus.c

==== //depot/projects/uart/modules/uart/Makefile#12 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/modules/uart/Makefile,v 1.12 2004/11/17 14:44:10 marius Exp $
+# $FreeBSD: src/sys/modules/uart/Makefile,v 1.13 2004/11/20 23:38:48 marcel Exp $
 
 .PATH: ${.CURDIR}/../../dev/uart
 
@@ -10,8 +10,8 @@
 KMOD=	uart
 SRCS=	uart_bus_acpi.c ${uart_bus_ebus} uart_bus_isa.c uart_bus_pccard.c \
 	uart_bus_pci.c uart_bus_puc.c uart_core.c uart_cpu_${MACHINE}.c \
-	uart_dbg.c uart_dev_i8251.c uart_dev_ns8250.c uart_dev_sab82532.c \
-	uart_dev_z8530.c uart_if.c uart_subr.c uart_tty.c
+	uart_dbg.c uart_dev_ns8250.c uart_dev_sab82532.c uart_dev_z8530.c \
+	uart_if.c uart_subr.c uart_tty.c
 SRCS+=	bus_if.h card_if.h device_if.h isa_if.h ${ofw_bus_if} pci_if.h \
 	power_if.h uart_if.h pccarddevs.h
 


More information about the p4-projects mailing list