PERFORCE change 53150 for review
Warner Losh
imp at FreeBSD.org
Thu May 20 23:23:57 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=53150
Change 53150 by imp at imp_pacopaco on 2004/05/20 23:23:32
IFC @53147
Affected files ...
.. //depot/projects/power/sys/alpha/include/profile.h#2 integrate
.. //depot/projects/power/sys/amd64/amd64/machdep.c#9 integrate
.. //depot/projects/power/sys/amd64/amd64/pmap.c#11 integrate
.. //depot/projects/power/sys/amd64/include/profile.h#4 integrate
.. //depot/projects/power/sys/arm/include/profile.h#2 integrate
.. //depot/projects/power/sys/boot/pc98/boot2/serial_16550.S#4 integrate
.. //depot/projects/power/sys/boot/pc98/boot2/serial_8251.S#4 integrate
.. //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#4 integrate
.. //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#4 integrate
.. //depot/projects/power/sys/conf/NOTES#18 integrate
.. //depot/projects/power/sys/conf/files#15 integrate
.. //depot/projects/power/sys/conf/options#18 integrate
.. //depot/projects/power/sys/dev/ata/ata-all.c#9 integrate
.. //depot/projects/power/sys/dev/em/if_em.c#7 integrate
.. //depot/projects/power/sys/dev/iir/iir.c#3 integrate
.. //depot/projects/power/sys/dev/iir/iir.h#4 integrate
.. //depot/projects/power/sys/dev/iir/iir_ctrl.c#4 integrate
.. //depot/projects/power/sys/dev/pccbb/pccbb.c#13 integrate
.. //depot/projects/power/sys/dev/pccbb/pccbbvar.h#3 integrate
.. //depot/projects/power/sys/dev/pci/pci.c#17 integrate
.. //depot/projects/power/sys/dev/usb/umodem.c#3 integrate
.. //depot/projects/power/sys/dev/usb/usbdevs#13 integrate
.. //depot/projects/power/sys/dev/usb/usbdevs.h#13 integrate
.. //depot/projects/power/sys/dev/usb/usbdevs_data.h#13 integrate
.. //depot/projects/power/sys/geom/concat/g_concat.c#4 integrate
.. //depot/projects/power/sys/geom/concat/g_concat.h#2 integrate
.. //depot/projects/power/sys/geom/nop/g_nop.c#1 branch
.. //depot/projects/power/sys/geom/nop/g_nop.h#1 branch
.. //depot/projects/power/sys/geom/stripe/g_stripe.c#1 branch
.. //depot/projects/power/sys/geom/stripe/g_stripe.h#1 branch
.. //depot/projects/power/sys/i386/include/profile.h#5 integrate
.. //depot/projects/power/sys/ia64/include/profile.h#2 integrate
.. //depot/projects/power/sys/kern/kern_jail.c#4 integrate
.. //depot/projects/power/sys/kern/kern_sig.c#12 integrate
.. //depot/projects/power/sys/kern/link_elf.c#3 integrate
.. //depot/projects/power/sys/kern/subr_prof.c#4 integrate
.. //depot/projects/power/sys/kern/uipc_socket2.c#7 integrate
.. //depot/projects/power/sys/modules/geom/Makefile#4 integrate
.. //depot/projects/power/sys/modules/geom/geom_nop/Makefile#1 branch
.. //depot/projects/power/sys/modules/geom/geom_stripe/Makefile#1 branch
.. //depot/projects/power/sys/netgraph/ng_hole.c#2 integrate
.. //depot/projects/power/sys/netgraph/ng_hole.h#3 integrate
.. //depot/projects/power/sys/netinet/in_pcb.c#10 integrate
.. //depot/projects/power/sys/pci/agp_sis.c#4 integrate
.. //depot/projects/power/sys/pci/if_sk.c#10 integrate
.. //depot/projects/power/sys/powerpc/include/profile.h#2 integrate
.. //depot/projects/power/sys/powerpc/powerpc/trap.c#2 integrate
.. //depot/projects/power/sys/sparc64/include/profile.h#2 integrate
.. //depot/projects/power/sys/sparc64/sparc64/vm_machdep.c#6 integrate
.. //depot/projects/power/sys/sys/ata.h#3 integrate
.. //depot/projects/power/sys/sys/gmon.h#3 integrate
.. //depot/projects/power/sys/ufs/ffs/ffs_alloc.c#6 integrate
Differences ...
==== //depot/projects/power/sys/alpha/include/profile.h#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.5 2002/03/20 18:58:45 obrien Exp $ */
+/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.6 2004/05/19 15:41:25 bde Exp $ */
/* From: NetBSD: profile.h,v 1.9 1997/04/06 08:47:37 cgd Exp */
/*
@@ -220,18 +220,6 @@
#define MCOUNT_EXIT(s) \
(void)_alpha_pal_swpipl(s);
#define MCOUNT_DECL(s) u_long s;
-#ifdef GUPROF
-struct gmonparam;
-
-void nullfunc_loop_profiled(void);
-void nullfunc_profiled(void);
-void startguprof(struct gmonparam *p);
-void stopguprof(struct gmonparam *p);
-#else
-#define startguprof(p)
-#define stopguprof(p)
-#endif /* GUPROF */
-
#else /* !_KERNEL */
typedef u_long uintfptr_t;
#endif
==== //depot/projects/power/sys/amd64/amd64/machdep.c#9 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.606 2004/05/18 05:30:06 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.607 2004/05/19 01:23:48 peter Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -1138,8 +1138,10 @@
kmdp = preload_search_by_type("elf64 kernel");
boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int);
kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE;
+#ifdef DDB
ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, void *);
ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, void *);
+#endif
/* Init basic tunables, hz etc */
init_param1();
==== //depot/projects/power/sys/amd64/amd64/pmap.c#11 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.459 2004/05/16 22:11:50 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.460 2004/05/19 21:55:37 peter Exp $");
/*
* Manages physical address maps.
@@ -1296,11 +1296,16 @@
LIST_REMOVE(pmap, pm_list);
mtx_unlock_spin(&allpmaps_lock);
+ m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]);
+
+ pmap->pm_pml4[KPML4I] = 0; /* KVA */
+ pmap->pm_pml4[DMPML4I] = 0; /* Direct Map */
+ pmap->pm_pml4[PML4PML4I] = 0; /* Recursive Mapping */
+
vm_page_lock_queues();
- m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]);
m->wire_count--;
atomic_subtract_int(&cnt.v_wire_count, 1);
- vm_page_free(m);
+ vm_page_free_zero(m);
vm_page_unlock_queues();
}
==== //depot/projects/power/sys/amd64/include/profile.h#4 (text+ko) ====
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*
* @(#)profile.h 8.1 (Berkeley) 6/11/93
- * $FreeBSD: src/sys/amd64/include/profile.h,v 1.34 2004/04/05 21:25:51 imp Exp $
+ * $FreeBSD: src/sys/amd64/include/profile.h,v 1.39 2004/05/20 16:22:57 bde Exp $
*/
#ifndef _MACHINE_PROFILE_H_
@@ -50,14 +50,29 @@
#define MCOUNT
#ifdef GUPROF
-#define CALIB_SCALE 1000
-#define KCOUNT(p,index) ((p)->kcount[(index) \
- / (HISTFRACTION * sizeof(HISTCOUNTER))])
#define MCOUNT_DECL(s)
#define MCOUNT_ENTER(s)
#define MCOUNT_EXIT(s)
-#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc)
+#ifdef __GNUC__
+#define MCOUNT_OVERHEAD(label) \
+ __asm __volatile("pushq %0; call __mcount; popq %%rcx" \
+ : \
+ : "i" (profil) \
+ : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory")
+#define MEXITCOUNT_OVERHEAD() \
+ __asm __volatile("call .mexitcount; 1:" \
+ : : \
+ : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory")
+#define MEXITCOUNT_OVERHEAD_GETLABEL(labelp) \
+ __asm __volatile("movq $1b,%0" : "=rm" (labelp))
+#elif defined(lint)
+#define MCOUNT_OVERHEAD(label)
+#define MEXITCOUNT_OVERHEAD()
+#define MEXITCOUNT_OVERHEAD_GETLABEL()
#else
+#error
+#endif /* __GNUC */
+#else /* !GUPROF */
#define MCOUNT_DECL(s) u_long s;
#ifdef SMP
extern int mcount_lock;
@@ -76,9 +91,43 @@
#define FUNCTION_ALIGNMENT 4
-#define _MCOUNT_DECL static __inline void _mcount
+#define _MCOUNT_DECL \
+static void _mcount(uintfptr_t frompc, uintfptr_t selfpc) __unused; \
+static void _mcount
#ifdef __GNUC__
+#define MCOUNT __asm(" \n\
+ .globl .mcount \n\
+ .type .mcount @function \n\
+.mcount: \n\
+ pushq %rbp \n\
+ movq %rsp,%rbp \n\
+ pushq %rdi \n\
+ pushq %rsi \n\
+ pushq %rdx \n\
+ pushq %rcx \n\
+ pushq %r8 \n\
+ pushq %r9 \n\
+ movq 8(%rbp),%rsi \n\
+ movq (%rbp),%rdi \n\
+ movq 8(%rdi),%rdi \n\
+ call _mcount \n\
+ popq %r9 \n\
+ popq %r8 \n\
+ popq %rcx \n\
+ popq %rdx \n\
+ popq %rsi \n\
+ popq %rdi \n\
+ leave \n\
+ ret \n\
+ .size .mcount, . - .mcount");
+#if 0
+/*
+ * We could use this, except it doesn't preserve the registers that were
+ * being passed with arguments to the function that we were inserted
+ * into. I've left it here as documentation of what the code above is
+ * supposed to do.
+ */
#define MCOUNT \
void \
mcount() \
@@ -93,23 +142,24 @@
__asm("movq 8(%%rbp),%0" : "=r" (selfpc)); \
/* \
* frompc = pc pushed by call to mcount's caller. \
- * The caller's stack frame has already been built, so %ebp is \
+ * The caller's stack frame has already been built, so %rbp is \
* the caller's frame pointer. The caller's raddr is in the \
* caller's frame following the caller's caller's frame pointer.\
*/ \
- __asm("movq (%%rbp),%0" : "=r" (frompc)); \
+ __asm("movq (%%rbp),%0" : "=r" (frompc)); \
frompc = ((uintfptr_t *)frompc)[1]; \
_mcount(frompc, selfpc); \
}
-#else /* __GNUC__ */
-#define MCOUNT \
-void \
-mcount() \
-{ \
+#endif
+#else /* !__GNUC__ */
+#define MCOUNT \
+void \
+mcount() \
+{ \
}
-#endif /* __GNUC__ */
+#endif /* __GNUC__ */
-typedef unsigned long uintfptr_t;
+typedef u_long uintfptr_t;
#endif /* _KERNEL */
@@ -117,24 +167,11 @@
* An unsigned integral type that can hold non-negative difference between
* function pointers.
*/
-typedef u_int fptrdiff_t;
+typedef u_long fptrdiff_t;
#ifdef _KERNEL
void mcount(uintfptr_t frompc, uintfptr_t selfpc);
-void kmupetext(uintfptr_t nhighpc);
-
-#ifdef GUPROF
-struct gmonparam;
-
-void nullfunc_loop_profiled(void);
-void nullfunc_profiled(void);
-void startguprof(struct gmonparam *p);
-void stopguprof(struct gmonparam *p);
-#else
-#define startguprof(p)
-#define stopguprof(p)
-#endif /* GUPROF */
#else /* !_KERNEL */
@@ -148,17 +185,4 @@
#endif /* _KERNEL */
-#ifdef GUPROF
-/* XXX doesn't quite work outside kernel yet. */
-extern int cputime_bias;
-
-__BEGIN_DECLS
-int cputime(void);
-void empty_loop(void);
-void mexitcount(uintfptr_t selfpc);
-void nullfunc(void);
-void nullfunc_loop(void);
-__END_DECLS
-#endif
-
#endif /* !_MACHINE_PROFILE_H_ */
==== //depot/projects/power/sys/arm/include/profile.h#2 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)profile.h 8.1 (Berkeley) 6/11/93
- * $FreeBSD: src/sys/arm/include/profile.h,v 1.1 2004/05/14 11:46:44 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/profile.h,v 1.2 2004/05/19 15:41:25 bde Exp $
*/
#ifndef _MACHINE_PROFILE_H_
@@ -54,13 +54,9 @@
#define MCOUNT
#ifdef GUPROF
-#define CALIB_SCALE 1000
-#define KCOUNT(p,index) ((p)->kcount[(index) \
- / (HISTFRACTION * sizeof(HISTCOUNTER))])
#define MCOUNT_DECL(s)
#define MCOUNT_ENTER(s)
#define MCOUNT_EXIT(s)
-#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc)
#else
#define MCOUNT_DECL(s) u_long s;
#ifdef SMP
@@ -97,19 +93,6 @@
#ifdef _KERNEL
void mcount(uintfptr_t frompc, uintfptr_t selfpc);
-void kmupetext(uintfptr_t nhighpc);
-
-#ifdef GUPROF
-struct gmonparam;
-
-void nullfunc_loop_profiled(void);
-void nullfunc_profiled(void);
-void startguprof(struct gmonparam *p);
-void stopguprof(struct gmonparam *p);
-#else
-#define startguprof(p)
-#define stopguprof(p)
-#endif /* GUPROF */
#else /* !_KERNEL */
@@ -123,17 +106,4 @@
#endif /* _KERNEL */
-#ifdef GUPROF
-/* XXX doesn't quite work outside kernel yet. */
-extern int cputime_bias;
-
-__BEGIN_DECLS
-int cputime(void);
-void empty_loop(void);
-void mexitcount(uintfptr_t selfpc);
-void nullfunc(void);
-void nullfunc_loop(void);
-__END_DECLS
-#endif
-
#endif /* !_MACHINE_PROFILE_H_ */
==== //depot/projects/power/sys/boot/pc98/boot2/serial_16550.S#4 (text+ko) ====
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:34:26 rpd
- * $FreeBSD: src/sys/boot/pc98/boot2/serial_16550.S,v 1.6 2004/05/14 20:29:30 ru Exp $
+ * $FreeBSD: src/sys/boot/pc98/boot2/serial_16550.S,v 1.7 2004/05/20 20:48:29 markm Exp $
*/
/*
==== //depot/projects/power/sys/boot/pc98/boot2/serial_8251.S#4 (text+ko) ====
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:34:26 rpd
- * $FreeBSD: src/sys/boot/pc98/boot2/serial_8251.S,v 1.3 2004/05/14 20:29:30 ru Exp $
+ * $FreeBSD: src/sys/boot/pc98/boot2/serial_8251.S,v 1.4 2004/05/20 20:52:04 markm Exp $
*/
/*
==== //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#4 (text+ko) ====
@@ -12,7 +12,7 @@
* warranties of merchantability and fitness for a particular
* purpose.
*
- * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.18 2004/05/14 20:29:31 ru Exp $
+ * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.19 2004/05/20 20:30:59 markm Exp $
*/
/*
==== //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#4 (text+ko) ====
@@ -12,7 +12,7 @@
* warranties of merchantability and fitness for a particular
* purpose.
*
- * $FreeBSD: src/sys/boot/pc98/btx/btxldr/btxldr.S,v 1.10 2004/05/14 20:29:31 ru Exp $
+ * $FreeBSD: src/sys/boot/pc98/btx/btxldr/btxldr.S,v 1.11 2004/05/20 20:24:18 markm Exp $
*/
/*
==== //depot/projects/power/sys/conf/NOTES#18 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1225 2004/05/03 22:35:27 ambrisko Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1226 2004/05/20 10:37:10 pjd Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -126,7 +126,9 @@
options GEOM_GATE # Userland services.
options GEOM_GPT # GPT partitioning
options GEOM_MBR # DOS/MBR partitioning
+options GEOM_NOP # Test class.
options GEOM_PC98 # NEC PC9800 partitioning
+options GEOM_STRIPE # Disk striping.
options GEOM_SUNLABEL # Sun/Solaris partitioning
options GEOM_VOL # Volume names from UFS superblock
==== //depot/projects/power/sys/conf/files#15 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.893 2004/05/03 21:18:56 pjd Exp $
+# $FreeBSD: src/sys/conf/files,v 1.894 2004/05/20 10:37:11 pjd Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -919,6 +919,8 @@
crypto/sha2/sha2.c optional geom_bde
geom/concat/g_concat.c optional geom_concat
geom/gate/g_gate.c optional geom_gate
+geom/nop/g_nop.c optional geom_nop
+geom/stripe/g_stripe.c optional geom_stripe
geom/geom_aes.c optional geom_aes
geom/geom_apple.c optional geom_apple
geom/geom_bsd.c optional geom_bsd
==== //depot/projects/power/sys/conf/options#18 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.450 2004/05/13 03:15:04 imp Exp $
+# $FreeBSD: src/sys/conf/options,v 1.451 2004/05/20 10:37:11 pjd Exp $
#
# On the handling of kernel options
#
@@ -74,7 +74,9 @@
GEOM_GPT opt_geom.h
GEOM_MBR opt_geom.h
GEOM_MIRROR opt_geom.h
+GEOM_NOP opt_geom.h
GEOM_PC98 opt_geom.h
+GEOM_STRIPE opt_geom.h
GEOM_SUNLABEL opt_geom.h
GEOM_VOL opt_geom.h
HW_WDOG
==== //depot/projects/power/sys/dev/ata/ata-all.c#9 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.209 2004/04/30 16:21:34 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.210 2004/05/20 14:49:12 des Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -58,7 +58,7 @@
/* device structures */
static d_ioctl_t ata_ioctl;
-static struct cdevsw ata_cdevsw = {
+static struct cdevsw ata_cdevsw = {
.d_version = D_VERSION,
.d_flags = D_NEEDGIANT,
.d_ioctl = ata_ioctl,
@@ -80,7 +80,7 @@
struct intr_config_hook *ata_delayed_attach = NULL;
devclass_t ata_devclass;
uma_zone_t ata_zone;
-int ata_wc = 1;
+int ata_wc = 1;
/* local vars */
static int ata_dma = 1;
@@ -179,7 +179,7 @@
ata_detach(device_t dev)
{
struct ata_channel *ch;
-
+
if (!dev || !(ch = device_get_softc(dev)) || !ch->r_irq)
return ENXIO;
@@ -229,7 +229,7 @@
{
struct ata_request *request = ch->running;
int devices, misdev, newdev;
-
+
if (!ch->r_irq)
return ENXIO;
@@ -271,7 +271,7 @@
ch->device[SLAVE].param = NULL;
}
}
-
+
/* identify what is present on the channel now */
ata_identify_devices(ch);
@@ -382,7 +382,7 @@
error = ENXIO;
break;
}
- iocmd->u.param.type[MASTER] =
+ iocmd->u.param.type[MASTER] =
ch->devices & (ATA_ATA_MASTER | ATA_ATAPI_MASTER);
iocmd->u.param.type[SLAVE] =
ch->devices & (ATA_ATA_SLAVE | ATA_ATAPI_SLAVE);
@@ -418,7 +418,7 @@
ch->device[MASTER].setmode(&ch->device[MASTER],
iocmd->u.mode.mode[MASTER]);
iocmd->u.mode.mode[MASTER] = ch->device[MASTER].mode;
- if (iocmd->u.mode.mode[SLAVE] >= 0 && ch->device[SLAVE].param)
+ if (iocmd->u.mode.mode[SLAVE] >= 0 && ch->device[SLAVE].param)
ch->device[SLAVE].setmode(&ch->device[SLAVE],
iocmd->u.mode.mode[SLAVE]);
iocmd->u.mode.mode[SLAVE] = ch->device[SLAVE].mode;
@@ -451,7 +451,7 @@
break;
}
}
-
+
request->device = atadev;
if (iocmd->u.request.flags & ATA_CMD_ATAPI) {
@@ -518,25 +518,25 @@
error = ata_detach(device);
/* SOS should disable channel HW on controller XXX */
break;
-
+
#ifdef DEV_ATARAID
case ATARAIDCREATE:
error = ata_raid_create(&iocmd->u.raid_setup);
break;
-
+
case ATARAIDDELETE:
error = ata_raid_delete(iocmd->channel);
break;
-
+
case ATARAIDSTATUS:
error = ata_raid_status(iocmd->channel, &iocmd->u.raid_status);
break;
-
+
case ATARAIDADDSPARE:
error = ata_raid_addspare(iocmd->channel, iocmd->u.raid_spare.disk);
break;
-
+
case ATARAIDREBUILD:
error = ata_raid_rebuild(iocmd->channel);
break;
@@ -549,7 +549,7 @@
/*
* device probe functions
*/
-static int
+static int
ata_getparam(struct ata_device *atadev, u_int8_t command)
{
struct ata_request *request;
@@ -558,7 +558,7 @@
if (!atadev->param)
atadev->param = malloc(sizeof(struct ata_params), M_ATA, M_NOWAIT);
if (atadev->param) {
- request = ata_alloc_request();
+ request = ata_alloc_request();
if (request) {
int retries = 2;
while (retries-- > 0) {
@@ -689,7 +689,7 @@
ch->device[MASTER].setmode(&ch->device[MASTER], ATA_PIO_MAX);
if ((((ch->devices & ATA_ATAPI_MASTER) && atapi_dma &&
(ch->device[MASTER].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR)||
- ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma)
+ ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma)
ch->device[MASTER].setmode(&ch->device[MASTER], ATA_DMA_MAX);
}
@@ -697,12 +697,12 @@
ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_PIO_MAX);
if ((((ch->devices & ATA_ATAPI_SLAVE) && atapi_dma &&
(ch->device[SLAVE].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR) ||
- ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma)
+ ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma)
ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_DMA_MAX);
}
}
-static void
+static void
ata_boot_attach(void)
{
struct ata_channel *ch;
@@ -742,17 +742,17 @@
bswap(int8_t *buf, int len)
{
u_int16_t *ptr = (u_int16_t*)(buf + len);
-
+
while (--ptr >= (u_int16_t*)buf)
*ptr = ntohs(*ptr);
}
static void
btrim(int8_t *buf, int len)
-{
+{
int8_t *ptr;
- for (ptr = buf; ptr < buf+len; ++ptr)
+ for (ptr = buf; ptr < buf+len; ++ptr)
if (!*ptr)
*ptr = ' ';
for (ptr = buf + len - 1; ptr >= buf && *ptr == ' '; --ptr)
@@ -778,7 +778,7 @@
}
dst[j++] = src[i];
}
- if (j < len)
+ if (j < len)
dst[j] = 0x00;
}
@@ -835,7 +835,7 @@
free(atadev->name, M_ATA);
atadev->name = NULL;
}
-
+
int
ata_get_lun(u_int32_t *map)
{
@@ -856,7 +856,7 @@
{
*map &= ~(1 << lun);
}
-
+
char *
ata_mode2str(int mode)
{
@@ -889,9 +889,9 @@
if (ap->atavalid & ATA_FLAG_64_70) {
if (ap->apiomodes & 0x02)
return ATA_PIO4;
- if (ap->apiomodes & 0x01)
+ if (ap->apiomodes & 0x01)
return ATA_PIO3;
- }
+ }
if (ap->mwdmamodes & 0x04)
return ATA_PIO4;
if (ap->mwdmamodes & 0x02)
@@ -904,8 +904,8 @@
return ATA_PIO1;
if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x000)
return ATA_PIO0;
- return ATA_PIO0;
-}
+ return ATA_PIO0;
+}
int
ata_wmode(struct ata_params *ap)
@@ -953,7 +953,7 @@
if (mode >= ATA_WDMA0 && ata_wmode(atadev->param) > 0)
return min(mode, ata_wmode(atadev->param));
- if (mode > ata_pmode(atadev->param))
+ if (mode > ata_pmode(atadev->param))
return min(mode, ata_pmode(atadev->param));
return mode;
==== //depot/projects/power/sys/dev/em/if_em.c#7 (text+ko) ====
@@ -31,7 +31,7 @@
***************************************************************************/
-/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.39 2004/04/11 21:01:12 ru Exp $*/
+/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.41 2004/05/20 11:04:09 yar Exp $*/
#include <dev/em/if_em.h>
@@ -1855,9 +1855,11 @@
ether_ifattach(ifp, adapter->interface_data.ac_enaddr);
#endif
+ ifp->if_capabilities = ifp->if_capenable = 0;
+
if (adapter->hw.mac_type >= em_82543) {
- ifp->if_capabilities = IFCAP_HWCSUM;
- ifp->if_capenable = ifp->if_capabilities;
+ ifp->if_capabilities |= IFCAP_HWCSUM;
+ ifp->if_capenable |= IFCAP_HWCSUM;
}
/*
@@ -1865,7 +1867,8 @@
*/
ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);
#if __FreeBSD_version >= 500000
- ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU;
+ ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU;
+ ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU;
#endif
#ifdef DEVICE_POLLING
==== //depot/projects/power/sys/dev/iir/iir.c#3 (text+ko) ====
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2000-03 ICP vortex GmbH
- * Copyright (c) 2002-03 Intel Corporation
- * Copyright (c) 2003 Adaptec Inc.
+ * Copyright (c) 2000-04 ICP vortex GmbH
+ * Copyright (c) 2002-04 Intel Corporation
+ * Copyright (c) 2003-04 Adaptec Inc.
* All Rights Reserved
*
* Redistribution and use in source and binary forms, with or without
@@ -39,11 +39,11 @@
* Mike Smith; Some driver source code.
* FreeBSD.ORG; Great O/S to work on and for.
*
- * $Id: iir.c 1.4 2003/08/26 12:29:44 achim Exp $"
+ * $Id: iir.c 1.5 2004/03/30 10:17:53 achim Exp $"
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.9 2003/09/26 15:36:47 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.10 2004/05/19 17:46:34 scottl Exp $");
#define _IIR_C_
@@ -291,27 +291,12 @@
return (1);
}
- if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT,
- GDT_LINUX_OS, 0, 0)) {
- printf("iir%d: Cache service initialization error %d\n",
- gdt->sc_hanum, gdt->sc_status);
- gdt_free_ccb(gdt, gccb);
- return (1);
- }
gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_UNFREEZE_IO,
0, 0, 0);
- if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_MOUNT,
- 0xffff, 1, 0)) {
- printf("iir%d: Cache service mount error %d\n",
- gdt->sc_hanum, gdt->sc_status);
- gdt_free_ccb(gdt, gccb);
- return (1);
- }
-
if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT,
GDT_LINUX_OS, 0, 0)) {
- printf("iir%d: Cache service post-mount initialization error %d\n",
+ printf("iir%d: Cache service initialization error %d\n",
gdt->sc_hanum, gdt->sc_status);
gdt_free_ccb(gdt, gccb);
return (1);
==== //depot/projects/power/sys/dev/iir/iir.h#4 (text+ko) ====
@@ -1,8 +1,8 @@
-/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.8 2004/03/20 19:02:46 scottl Exp $ */
+/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.9 2004/05/19 17:46:34 scottl Exp $ */
/*
- * Copyright (c) 2000-03 ICP vortex GmbH
- * Copyright (c) 2002-03 Intel Corporation
- * Copyright (c) 2003 Adaptec Inc.
+ * Copyright (c) 2000-04 ICP vortex GmbH
+ * Copyright (c) 2002-04 Intel Corporation
+ * Copyright (c) 2003-04 Adaptec Inc.
* All Rights Reserved
*
* Redistribution and use in source and binary forms, with or without
@@ -41,14 +41,14 @@
* credits: Niklas Hallqvist; OpenBSD driver for the ICP Controllers.
* FreeBSD.ORG; Great O/S to work on and for.
*
- * $Id: iir.h 1.5 2003/08/26 12:28:21 achim Exp $"
+ * $Id: iir.h 1.6 2004/03/30 10:19:44 achim Exp $"
*/
#ifndef _IIR_H
#define _IIR_H
#define IIR_DRIVER_VERSION 1
-#define IIR_DRIVER_SUBVERSION 4
+#define IIR_DRIVER_SUBVERSION 5
/* OEM IDs */
#define OEM_ID_ICP 0x941c
@@ -152,8 +152,10 @@
/* IOCTLs */
#define GDT_IOCTL_GENERAL _IOWR('J', 0, gdt_ucmd_t) /* general IOCTL */
-#define GDT_IOCTL_DRVERS _IOWR('J', 1, int) /* get driver version */
-#define GDT_IOCTL_CTRTYPE _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */
+#define GDT_IOCTL_DRVERS _IOR('J', 1, int) /* get driver version */
+#define GDT_IOCTL_CTRTYPE _IOWR('J', 2, gdt_ctrt_t) /* get ctr. type */
+#define GDT_IOCTL_DRVERS_OLD _IOWR('J', 1, int) /* get driver version */
+#define GDT_IOCTL_CTRTYPE_OLD _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */
#define GDT_IOCTL_OSVERS _IOR('J', 3, gdt_osv_t) /* get OS version */
#define GDT_IOCTL_CTRCNT _IOR('J', 5, int) /* get ctr. count */
#define GDT_IOCTL_EVENT _IOWR('J', 8, gdt_event_t) /* get event */
==== //depot/projects/power/sys/dev/iir/iir_ctrl.c#4 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.13 2004/02/21 21:10:42 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.14 2004/05/19 17:46:34 scottl Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -261,11 +261,13 @@
}
case GDT_IOCTL_DRVERS:
+ case GDT_IOCTL_DRVERS_OLD:
*(int *)cmdarg =
(IIR_DRIVER_VERSION << 8) | IIR_DRIVER_SUBVERSION;
break;
case GDT_IOCTL_CTRTYPE:
+ case GDT_IOCTL_CTRTYPE_OLD:
{
gdt_ctrt_t *p;
struct gdt_softc *gdt;
==== //depot/projects/power/sys/dev/pccbb/pccbb.c#13 (text+ko) ====
@@ -73,7 +73,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.110 2004/05/04 02:25:00 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.111 2004/05/21 06:10:13 imp Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -687,7 +687,7 @@
static int
cbb_attach(device_t brdev)
{
- static int curr_bus_number = 1; /* XXX EVILE BAD (see below) */
+ static int curr_bus_number = 2; /* XXX EVILE BAD (see below) */
struct cbb_softc *sc = (struct cbb_softc *)device_get_softc(brdev);
int rid, bus, pribus;
device_t parent;
==== //depot/projects/power/sys/dev/pccbb/pccbbvar.h#3 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.19 2003/06/12 03:37:28 imp Exp $
+ * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.20 2004/05/21 06:10:13 imp Exp $
*/
/*
==== //depot/projects/power/sys/dev/pci/pci.c#17 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/pci/pci.c,v 1.250 2004/04/28 13:43:11 tmm Exp $
+ * $FreeBSD: src/sys/dev/pci/pci.c,v 1.251 2004/05/21 06:03:26 imp Exp $
*
*/
@@ -1091,7 +1091,8 @@
struct pci_devinfo *dinfo;
int i;
- device_printf(dev, "driver added\n");
+ if (bootverbose)
+ device_printf(dev, "driver added\n");
DEVICE_IDENTIFY(driver, dev);
device_get_children(dev, &devlist, &numdevs);
for (i = 0; i < numdevs; i++) {
@@ -1101,8 +1102,9 @@
dinfo = device_get_ivars(child);
pci_print_verbose(dinfo);
/*XXX???*/ /* resource_list_init(&dinfo->cfg.resources); */
- printf("pci%d:%d:%d: reprobing on driver added\n",
- dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func);
+ if (bootverbose)
+ printf("pci%d:%d:%d: reprobing on driver added\n",
+ dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func);
pci_cfg_restore(child, dinfo);
if (device_probe_and_attach(child) != 0)
pci_cfg_save(child, dinfo, 1);
@@ -1582,9 +1584,10 @@
if (rle == NULL)
panic("pci_alloc_map: unexpedly can't find resource.");
rle->res = res;
- /* if (bootverbose) */
- device_printf(child, "Lazy allocation of %#lx bytes rid %#x type %d at %#lx\n",
- count, *rid, type, rman_get_start(res));
+ if (bootverbose)
+ device_printf(child,
+ "Lazy allocation of %#lx bytes rid %#x type %d at %#lx\n",
+ count, *rid, type, rman_get_start(res));
map = rman_get_start(res);
out:;
pci_write_config(child, *rid, map, 4);
@@ -1653,11 +1656,11 @@
*/
rle = resource_list_find(rl, type, *rid);
if (rle != NULL && rle->res != NULL) {
- /* if (bootverbose) */
- device_printf(child,
+ if (bootverbose)
+ device_printf(child,
"Reserved %#lx bytes for rid %#x type %d at %#lx\n",
- rman_get_size(rle->res), *rid, type,
- rman_get_start(rle->res));
+ rman_get_size(rle->res), *rid, type,
+ rman_get_start(rle->res));
if ((flags & RF_ACTIVE) &&
bus_generic_activate_resource(dev, child, type,
*rid, rle->res) != 0)
@@ -1817,9 +1820,11 @@
* state D0.
*/
if (pci_do_powerstate && (pci_get_powerstate(dev) != PCI_POWERSTATE_D0)) {
- printf("pci%d:%d:%d: Transition from D%d to D0\n", dinfo->cfg.bus,
- dinfo->cfg.slot, dinfo->cfg.func,
- pci_get_powerstate(dev));
+ if (bootverbose)
+ printf(
+ "pci%d:%d:%d: Transition from D%d to D0\n",
+ dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func,
+ pci_get_powerstate(dev));
pci_set_powerstate(dev, PCI_POWERSTATE_D0);
}
for (i = 0; i < dinfo->cfg.nummaps; i++)
@@ -1888,13 +1893,19 @@
*/
ps = pci_get_powerstate(dev);
if (ps != PCI_POWERSTATE_D0 && ps != PCI_POWERSTATE_D3) {
- printf("pci%d:%d:%d: Transition from D%d to D0\n", dinfo->cfg.bus,
- dinfo->cfg.slot, dinfo->cfg.func, ps);
+ if (bootverbose)
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list