From owner-p4-projects@FreeBSD.ORG Thu Aug 10 15:53:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 40FAD16A633; Thu, 10 Aug 2006 15:53:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 06FED16A5FB for ; Thu, 10 Aug 2006 15:53:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B19F43D46 for ; Thu, 10 Aug 2006 15:53:14 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k7AFrEYh024642 for ; Thu, 10 Aug 2006 15:53:14 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k7AFrCea024639 for perforce@freebsd.org; Thu, 10 Aug 2006 15:53:12 GMT (envelope-from marcel@freebsd.org) Date: Thu, 10 Aug 2006 15:53:12 GMT Message-Id: <200608101553.k7AFrCea024639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 103578 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Aug 2006 15:53:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=103578 Change 103578 by marcel@marcel_nfs on 2006/08/10 15:52:18 IFC @103573 Affected files ... .. //depot/projects/gdb/lib/libc/stdlib/malloc.c#7 integrate .. //depot/projects/gdb/lib/libdisk/write_ia64_disk.c#3 integrate .. //depot/projects/gdb/sbin/geom/class/eli/geli.8#3 integrate .. //depot/projects/gdb/sbin/ifconfig/ifieee80211.c#5 integrate .. //depot/projects/gdb/share/examples/drivers/make_pseudo_driver.sh#3 integrate .. //depot/projects/gdb/share/man/man4/acpi.4#13 integrate .. //depot/projects/gdb/share/man/man4/ng_pppoe.4#6 integrate .. //depot/projects/gdb/sys/Makefile#6 integrate .. //depot/projects/gdb/sys/arm/at91/at91_st.c#2 integrate .. //depot/projects/gdb/sys/boot/Makefile#6 integrate .. //depot/projects/gdb/sys/boot/arm/Makefile#1 branch .. //depot/projects/gdb/sys/dev/acpica/acpi_video.c#8 integrate .. //depot/projects/gdb/sys/dev/em/if_em.c#11 integrate .. //depot/projects/gdb/sys/geom/geom_gpt.c#7 integrate .. //depot/projects/gdb/sys/i386/conf/XBOX#2 integrate .. //depot/projects/gdb/sys/i386/i386/machdep.c#19 integrate .. //depot/projects/gdb/sys/i386/isa/clock.c#15 integrate .. //depot/projects/gdb/sys/kern/vfs_subr.c#23 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/gdb/sys/net80211/ieee80211_output.c#5 integrate .. //depot/projects/gdb/sys/netgraph/ng_pppoe.c#9 integrate .. //depot/projects/gdb/sys/vm/vm_page.c#19 integrate .. //depot/projects/gdb/usr.bin/hexdump/parse.c#3 integrate .. //depot/projects/gdb/usr.bin/split/split.1#5 integrate .. //depot/projects/gdb/usr.bin/split/split.c#5 integrate Differences ... ==== //depot/projects/gdb/lib/libc/stdlib/malloc.c#7 (text+ko) ==== @@ -185,7 +185,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.132 2006/07/27 19:09:32 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.133 2006/08/09 19:01:27 marcel Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -279,6 +279,7 @@ # define QUANTUM_2POW_MIN 4 # define SIZEOF_PTR 4 # define USE_BRK +# define NO_TLS #endif /* sizeof(int) == (1 << SIZEOF_INT_2POW). */ ==== //depot/projects/gdb/lib/libdisk/write_ia64_disk.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/write_ia64_disk.c,v 1.15 2004/01/30 20:52:54 marcel Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/write_ia64_disk.c,v 1.16 2006/08/09 20:19:15 marcel Exp $"); #include #include @@ -123,6 +123,8 @@ error = 0; nsects = disk->media_size / disk->sector_size; + nsects--; /* The GPT starts at LBA 1 */ + buffer = calloc(disk->sector_size, 1); if (buffer == NULL) return (ENOMEM); ==== //depot/projects/gdb/sbin/geom/class/eli/geli.8#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.15 2006/08/09 18:35:31 maxim Exp $ +.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.17 2006/08/10 01:13:38 maxim Exp $ .\" .Dd August 9, 2006 .Dt GELI 8 @@ -163,7 +163,7 @@ passphrase before the root file system is mounted. .It The passphrase of the user is strengthened with: -.Rs +.Rs .%A B. Kaliski .%T "PKCS #5: Password-Based Cryptography Specification, Version 2.0." .%R RFC @@ -175,7 +175,7 @@ and .Qq "company key" ) . .It -It is fast - +It is fast - .Nm performs simple sector-to-sector encryption. .It @@ -290,7 +290,7 @@ subcommand. .It Fl r Attach read-only provider. -It will not be opened for writting. +It will not be opened for writing. .It Fl k Ar keyfile Specifies a file which contains part of the key. For more information see the description of the ==== //depot/projects/gdb/sbin/ifconfig/ifieee80211.c#5 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.39 2006/07/26 03:08:45 sam Exp $ + * $FreeBSD: src/sbin/ifconfig/ifieee80211.c,v 1.40 2006/08/10 06:06:13 sam Exp $ */ /*- @@ -974,19 +974,36 @@ list_scan(s); } +static enum ieee80211_opmode get80211opmode(int s); + static void list_stations(int s) { - uint8_t buf[24*1024]; + union { + struct ieee80211req_sta_req req; + uint8_t buf[24*1024]; + } u; + enum ieee80211_opmode opmode = get80211opmode(s); struct ieee80211req ireq; uint8_t *cp; int len; (void) memset(&ireq, 0, sizeof(ireq)); (void) strncpy(ireq.i_name, name, sizeof(ireq.i_name)); + /* broadcast address =>'s get all stations */ + (void) memset(u.req.is_u.macaddr, 0xff, IEEE80211_ADDR_LEN); + if (opmode == IEEE80211_M_STA) { + /* + * Get information about the associated AP. + */ + ireq.i_type = IEEE80211_IOC_BSSID; + ireq.i_data = u.req.is_u.macaddr; + ireq.i_len = IEEE80211_ADDR_LEN; + (void) ioctl(s, SIOCG80211, &ireq); + } ireq.i_type = IEEE80211_IOC_STA_INFO; - ireq.i_data = buf; - ireq.i_len = sizeof(buf); + ireq.i_data = &u; + ireq.i_len = sizeof(u); if (ioctl(s, SIOCG80211, &ireq) < 0) errx(1, "unable to get station information"); len = ireq.i_len; @@ -1005,12 +1022,14 @@ , "CAPS" , "FLAG" ); - cp = buf; + cp = (uint8_t *) u.req.info; do { struct ieee80211req_sta_info *si; uint8_t *vp; si = (struct ieee80211req_sta_info *) cp; + if (si->isi_len < sizeof(*si)) + break; vp = (u_int8_t *)(si+1); printf("%s %4u %4d %3dM %4d %4d %6d %6d %-4.4s %-4.4s" , ether_ntoa((const struct ether_addr*) si->isi_macaddr) ==== //depot/projects/gdb/share/examples/drivers/make_pseudo_driver.sh#3 (text+ko) ==== @@ -1,42 +1,123 @@ #!/bin/sh # This writes a skeleton driver and puts it into the kernel tree for you -#arg1 is lowercase "foo" +# +# arg1 is lowercase "foo" +# arg2 path to the kernel sources, "/sys" if omitted # # Trust me, RUN THIS SCRIPT :) # -# $FreeBSD: src/share/examples/drivers/make_pseudo_driver.sh,v 1.10 2005/03/09 12:29:07 stefanf Exp $ +# $FreeBSD: src/share/examples/drivers/make_pseudo_driver.sh,v 1.12 2006/08/09 21:23:42 rik Exp $ # #-------cut here------------------ -cd /sys/i386/conf if [ "${1}X" = "X" ] then echo "Hey , how about some help here.. give me a device name!" exit 1 fi +if [ "X${2}" = "X" ]; then + TOP=`cd /sys; pwd -P` + echo "Using ${TOP} as the path to the kernel sources!" +else + TOP=${2} +fi + +for i in "" "conf" "i386" "i386/conf" "dev" "sys" "modules" +do + if [ -d ${TOP}/${i} ] + then + continue + fi + echo "${TOP}/${i}: no such directory." + echo "Please, correct the error and try again." + exit 1 +done UPPER=`echo ${1} |tr "[:lower:]" "[:upper:]"` -cat >files.${UPPER} <${TOP}/conf/files.${UPPER} <${UPPER} <${TOP}/i386/conf/${UPPER} <>${UPPER} +ident ${UPPER} -cat >>${UPPER} <../../dev/${1}.c <${TOP}/dev/${1}/${1}.c < #include #include /* SYSINIT stuff */ +#include /* SYSINIT stuff */ #include /* cdevsw stuff */ -#include /* DEVFS definitions */ #include /* malloc region definitions */ #include #include /* ${1} IOCTL definitions */ #include /* DELAY() */ -#include "${1}.h" /* generated file.. defines N${UPPER} */ +#define N${UPPER} 3 /* defines number of instances */ + +/* XXX These should be defined in terms of bus-space ops. */ +#define ${UPPER}_INB(port) inb(port) +#define ${UPPER}_OUTB(port, val) (port, (val)) /* Function prototypes (these should all be static) */ static d_open_t ${1}open; @@ -68,20 +153,15 @@ #define CDEV_MAJOR 20 static struct cdevsw ${1}_cdevsw = { - ${1}open, - ${1}close, - ${1}read, - ${1}write, - ${1}ioctl, - nullstop, - nullreset, - nodevtotty, - ${1}poll, - ${1}mmap, - NULL, - "${1}", - NULL, - -1 + .d_version = D_VERSION, + .d_open = ${1}open, + .d_close = ${1}close, + .d_read = ${1}read, + .d_write = ${1}write, + .d_ioctl = ${1}ioctl, + .d_poll = ${1}poll, + .d_mmap = ${1}mmap, + .d_name = "${1}", }; /* @@ -94,9 +174,9 @@ * One of these per allocated device */ struct ${1}_softc { - struct isa_device *dev; + u_long iobase; char buffer[BUFFERSIZE]; - static void *devfs_token; + struct cdev *dev; }; typedef struct ${1}_softc *sc_p; @@ -129,7 +209,7 @@ #endif /* DIAGNOSTIC */ static int -${1}ioctl (dev_t dev, int cmd, caddr_t data, int flag, struct thread *td) +${1}ioctl (struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { int unit = UNIT(dev); sc_p scp = sca[unit]; @@ -139,7 +219,10 @@ switch (cmd) { case DHIOCRESET: /* whatever resets it */ - outb(scp->dev->id_iobase, 0xff); + (void)scp; /* Delete this line after using scp. */ +#if 0 + ${UPPER}_OUTB(scp->iobase, 0xff); +#endif break; default: return ENXIO; @@ -152,13 +235,14 @@ * This should get you started */ static int -${1}open(dev_t dev, int oflags, int devtype, struct thread *td) +${1}open(struct cdev *dev, int oflags, int devtype, struct thread *td) { int unit = UNIT(dev); sc_p scp = sca[unit]; CHECKUNIT(ENXIO); + (void)scp; /* Delete this line after using scp. */ /* * Do processing */ @@ -166,13 +250,14 @@ } static int -${1}close(dev_t dev, int fflag, int devtype, struct thread *td) +${1}close(struct cdev *dev, int fflag, int devtype, struct thread *td) { int unit = UNIT(dev); sc_p scp = sca[unit]; CHECKUNIT_DIAG(ENXIO); + (void)scp; /* Delete this line after using scp. */ /* * Do processing */ @@ -180,7 +265,7 @@ } static int -${1}read(dev_t dev, struct uio *uio, int ioflag) +${1}read(struct cdev *dev, struct uio *uio, int ioflag) { int unit = UNIT(dev); sc_p scp = sca[unit]; @@ -198,7 +283,7 @@ } static int -${1}write(dev_t dev, struct uio *uio, int ioflag) +${1}write(struct cdev *dev, struct uio *uio, int ioflag) { int unit = UNIT(dev); sc_p scp = sca[unit]; @@ -215,13 +300,14 @@ } static int -${1}mmap(dev_t dev, int offset, int nprot) +${1}mmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot) { int unit = UNIT(dev); sc_p scp = sca[unit]; CHECKUNIT_DIAG(-1); + (void)scp; /* Delete this line after using scp. */ /* * Do processing */ @@ -236,13 +322,14 @@ } static int -${1}poll(dev_t dev, int which, struct thread *td) +${1}poll(struct cdev *dev, int which, struct thread *td) { int unit = UNIT(dev); sc_p scp = sca[unit]; CHECKUNIT_DIAG(ENXIO); + (void)scp; /* Delete this line after using scp. */ /* * Do processing */ @@ -256,12 +343,9 @@ static void ${1}_drvinit(void *unused) { - dev_t dev; int unit; sc_p scp = sca[unit]; - dev = makedev(CDEV_MAJOR, 0); - cdevsw_add(&dev, &${1}_cdevsw, NULL); for (unit = 0; unit < N${UPPER}; unit++) { /* * Allocate storage for this instance . @@ -272,8 +356,8 @@ return; } sca[unit] = scp; - scp->devfs_token = devfs_add_devswf(&${1}_cdevsw, unit, DV_CHR, - UID_ROOT, GID_KMEM, 0640, "${1}%d", unit); + scp->dev = make_dev(&${1}_cdevsw, unit, + UID_ROOT, GID_KMEM, 0640, "${1}%d", unit); } } @@ -281,7 +365,7 @@ ${1}_drvinit, NULL) DONE -cat >../../sys/${1}io.h <${TOP}/sys/${1}io.h <${TOP}/modules/${1}/Makefile < +DONE + +echo -n "Do you want to build the '${1}' module? [Y]" +read VAL +if [ "-z" "$VAL" ]; then + VAL=YES +fi +case ${VAL} in +[yY]*) + (cd ${TOP}/modules/${1}; make depend; make ) + ;; +*) +# exit + ;; +esac + +echo "" +echo -n "Do you want to build the '${UPPER}' kernel? [Y]" +read VAL +if [ "-z" "$VAL" ]; then + VAL=YES +fi +case ${VAL} in +[yY]*) + ( + cd ${TOP}/i386/conf; \ + config ${UPPER}; \ + cd ${TOP}/i386/compile/${UPPER}; \ + make depend; \ + make; \ + ) + ;; +*) +# exit + ;; +esac #--------------end of script--------------- # -#you also need to add an entry into the cdevsw[] -#array in conf.c, but it's too hard to do in a script.. -# #edit to your taste.. # # ==== //depot/projects/gdb/share/man/man4/acpi.4#13 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi.4,v 1.59 2006/08/07 07:28:47 yar Exp $ +.\" $FreeBSD: src/share/man/man4/acpi.4,v 1.60 2006/08/10 06:32:16 njl Exp $ .\" .Dd July 29, 2006 .Dt ACPI 4 @@ -582,11 +582,6 @@ This manual page was written by .An Michael Smith Aq msmith@FreeBSD.org . .Sh BUGS -If the -.Nm -driver is loaded as a module when it is already linked as part of the -kernel, odd things may happen. -.Pp Many BIOS versions have serious bugs that may cause system instability, break suspend/resume, or prevent devices from operating properly due to IRQ routing problems. ==== //depot/projects/gdb/share/man/man4/ng_pppoe.4#6 (text+ko) ==== @@ -32,7 +32,7 @@ .\" .\" Author: Archie Cobbs .\" -.\" $FreeBSD: src/share/man/man4/ng_pppoe.4,v 1.35 2006/08/09 09:56:57 glebius Exp $ +.\" $FreeBSD: src/share/man/man4/ng_pppoe.4,v 1.36 2006/08/10 11:07:11 glebius Exp $ .\" $Whistle: ng_pppoe.8,v 1.1 1999/01/25 23:46:27 archie Exp $ .\" .Dd August 9, 2006 @@ -236,8 +236,8 @@ .Ed .It Dv NGM_PPPOE_SETENADDR Set the node Ethernet address for outgoing datagrams. -This message is important when node failed to obtain Ethernet address -from peer on +This message is important when a node has failed to obtain an Ethernet +address from its peer on the .Dv ethernet hook, or when user wants to override this address with another one. .Tn ASCII ==== //depot/projects/gdb/sys/Makefile#6 (text+ko) ==== @@ -1,13 +1,11 @@ -# $FreeBSD: src/sys/Makefile,v 1.37 2006/07/04 14:14:16 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.38 2006/08/10 06:29:43 imp Exp $ .include # The boot loader .if ${MK_BOOT} != "no" -.if ${MACHINE_ARCH} != "arm" SUBDIR= boot .endif -.endif # Directories to include in cscope name file and TAGS. CSCOPEDIRS= coda compat conf contrib crypto ddb dev fs geom gnu i4b isa \ ==== //depot/projects/gdb/sys/arm/at91/at91_st.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.4 2006/07/14 22:31:12 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.5 2006/08/09 20:58:55 imp Exp $"); #include #include @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -48,7 +49,8 @@ static struct at91st_softc { bus_space_tag_t sc_st; bus_space_handle_t sc_sh; - device_t dev; + device_t sc_dev; + eventhandler_tag sc_wet; /* watchdog event handler tag */ } *timer_softc; #define RD4(off) \ @@ -56,6 +58,8 @@ #define WR4(off, val) \ bus_space_write_4(timer_softc->sc_st, timer_softc->sc_sh, (off), (val)) +static void at91st_watchdog(void *, u_int, int *); + static inline int st_crtr(void) { @@ -97,7 +101,7 @@ timer_softc = device_get_softc(dev); timer_softc->sc_st = sc->sc_st; - timer_softc->dev = dev; + timer_softc->sc_dev = dev; if (bus_space_subregion(sc->sc_st, sc->sc_sh, AT91RM92_ST_BASE, AT91RM92_ST_SIZE, &timer_softc->sc_sh) != 0) panic("couldn't subregion timer registers"); @@ -108,6 +112,13 @@ WR4(ST_RTMR, 1); /* Disable all interrupts */ WR4(ST_IDR, 0xffffffff); + /* disable watchdog timer */ + WR4(ST_WDMR, 0); + + timer_softc->sc_wet = EVENTHANDLER_REGISTER(watchdog_list, + at91st_watchdog, dev, 0); + device_printf(dev, + "watchdog registered, timeout intervall max. 64 sec\n"); return (0); } @@ -140,7 +151,34 @@ #endif } +/* + * t below is in a weird unit. The watchdog is set to 2^t + * nanoseconds. Since our watchdog timer can't really do that too + * well, we approximate it by assuming that the timeout interval for + * the lsb is 2^22 ns, which is 4.194ms. This is an overestimation of + * the actual time (3.906ms), but close enough for watchdogging. + * These approximations, though a violation of the spec, improve the + * performance of the application which typically specifies things as + * WD_TO_32SEC. In that last case, we'd wait 32s before the wdog + * reset. The spec says we should wait closer to 34s, but given how + * it is likely to be used, and the extremely coarse nature time + * interval, I think this is the best solution. + */ static void +at91st_watchdog(void *argp, u_int cmd, int *error) +{ + uint32_t wdog; + int t; + + wdog = 0; + t = cmd & WD_INTERVAL; + if (cmd != 0 && t >= 22 && t <= 37) + wdog = (1 << (t - 22)) | ST_WDMR_RSTEN; + WR4(ST_WDMR, wdog); + WR4(ST_CR, ST_CR_WDRST); +} + +static void clock_intr(void *arg) { struct trapframe *fp = arg; @@ -161,7 +199,7 @@ struct resource *irq; int rid = 0; void *ih; - device_t dev = timer_softc->dev; + device_t dev = timer_softc->sc_dev; if (32768 % hz) { printf("Cannot get %d Hz clock; using 128Hz\n", hz); @@ -229,4 +267,3 @@ cpu_stopprofclock(void) { } - ==== //depot/projects/gdb/sys/boot/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/Makefile,v 1.29 2006/06/18 17:44:40 imp Exp $ +# $FreeBSD: src/sys/boot/Makefile,v 1.30 2006/08/10 06:29:43 imp Exp $ .include @@ -17,9 +17,7 @@ SUBDIR+= ofw .endif -.if ${MACHINE_ARCH} != "arm" # Pick the machine-dependent subdir based on the target architecture. SUBDIR+= ${MACHINE:S/amd64/i386/} -.endif .include ==== //depot/projects/gdb/sys/dev/acpica/acpi_video.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_video.c,v 1.12 2005/12/20 22:42:16 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_video.c,v 1.13 2006/08/10 13:18:02 bruno Exp $"); #include #include @@ -109,16 +109,22 @@ #define DOS_BRIGHTNESS_BY_BIOS (1 << 2) /* _DOD and subdev's _ADR */ -#define DOD_DEVID_MASK 0xffff +#define DOD_DEVID_MASK 0x0f00 +#define DOD_DEVID_MASK_FULL 0xffff +#define DOD_DEVID_MASK_DISPIDX 0x000f +#define DOD_DEVID_MASK_DISPPORT 0x00f0 #define DOD_DEVID_MONITOR 0x0100 -#define DOD_DEVID_PANEL 0x0110 +#define DOD_DEVID_LCD 0x0110 #define DOD_DEVID_TV 0x0200 +#define DOD_DEVID_EXT 0x0300 +#define DOD_DEVID_INTDFP 0x0400 #define DOD_BIOS (1 << 16) #define DOD_NONVGA (1 << 17) #define DOD_HEAD_ID_SHIFT 18 #define DOD_HEAD_ID_BITS 3 #define DOD_HEAD_ID_MASK \ (((1 << DOD_HEAD_ID_BITS) - 1) << DOD_HEAD_ID_SHIFT) +#define DOD_DEVID_SCHEME_STD (1 << 31) /* _BCL related constants */ #define BCL_FULLPOWER 0 @@ -160,8 +166,8 @@ static struct sysctl_ctx_list acpi_video_sysctl_ctx; static struct sysctl_oid *acpi_video_sysctl_tree; -static struct acpi_video_output_queue lcd_units, crt_units, tv_units, - other_units; +static struct acpi_video_output_queue crt_units, tv_units, + ext_units, lcd_units, other_units; ACPI_SERIAL_DECL(video, "ACPI video"); MALLOC_DEFINE(M_ACPIVIDEO, "acpivideo", "ACPI video extension"); @@ -175,9 +181,10 @@ switch (evt) { case MOD_LOAD: sysctl_ctx_init(&acpi_video_sysctl_ctx); - STAILQ_INIT(&lcd_units); STAILQ_INIT(&crt_units); STAILQ_INIT(&tv_units); + STAILQ_INIT(&ext_units); + STAILQ_INIT(&lcd_units); STAILQ_INIT(&other_units); break; case MOD_UNLOAD: @@ -404,27 +411,44 @@ { struct acpi_video_output *vn, *vo, *vp; int n, x; + int display_index; + int display_port; char name[8], env[32]; const char *type, *desc; struct acpi_video_output_queue *voqh; ACPI_SERIAL_ASSERT(video); + display_index = adr & DOD_DEVID_MASK_DISPIDX; + display_port = (adr & DOD_DEVID_MASK_DISPPORT) >> 4; + switch (adr & DOD_DEVID_MASK) { case DOD_DEVID_MONITOR: - desc = "CRT monitor"; - type = "crt"; - voqh = &crt_units; + if ((adr & DOD_DEVID_MASK_FULL) == DOD_DEVID_LCD) { + /* DOD_DEVID_LCD is a common, backward compatible ID */ + desc = "Internal/Integrated Digital Flat Panel"; + type = "lcd"; + voqh = &lcd_units; + } else { + desc = "VGA CRT or VESA Compatible Analog Monitor"; + type = "crt"; + voqh = &crt_units; + } break; - case DOD_DEVID_PANEL: - desc = "LCD panel"; - type = "lcd"; - voqh = &lcd_units; - break; case DOD_DEVID_TV: - desc = "TV"; + desc = "TV/HDTV or Analog-Video Monitor"; type = "tv"; voqh = &tv_units; break; + case DOD_DEVID_EXT: + desc = "External Digital Monitor"; + type = "ext"; + voqh = &ext_units; + break; + case DOD_DEVID_INTDFP: + desc = "Internal/Integrated Digital Flat Panel"; + type = "lcd"; + voqh = &lcd_units; + break; default: desc = "unknown output"; type = "out"; @@ -508,13 +532,16 @@ printf("%s: softc allocation failed\n", type); if (bootverbose) { - printf("found %s(%x)", desc, adr & DOD_DEVID_MASK); + printf("found %s(%x)", desc, adr & DOD_DEVID_MASK_FULL); + printf(", idx#%x", adr & DOD_DEVID_MASK_DISPIDX); + printf(", port#%x", (adr & DOD_DEVID_MASK_DISPPORT) >> 4); if (adr & DOD_BIOS) printf(", detectable by BIOS"); if (adr & DOD_NONVGA) - printf(" (not a VGA output)"); + printf(" (Non-VGA output device whose power " + "is related to the VGA device)"); printf(", head #%d\n", - (adr & DOD_HEAD_ID_MASK) >> DOD_HEAD_ID_SHIFT); + (adr & DOD_HEAD_ID_MASK) >> DOD_HEAD_ID_SHIFT); } return (vo); } @@ -557,12 +584,15 @@ case DOD_DEVID_MONITOR: voqh = &crt_units; break; - case DOD_DEVID_PANEL: - voqh = &lcd_units; - break; case DOD_DEVID_TV: voqh = &tv_units; break; + case DOD_DEVID_EXT: + voqh = &ext_units; + break; + case DOD_DEVID_INTDFP: + voqh = &lcd_units; + break; default: voqh = &other_units; } @@ -751,7 +781,7 @@ for (i = 0; i < argset->dod_pkg->Package.Count; i++) { if (acpi_PkgInt32(argset->dod_pkg, i, &val) == 0 && - (val & DOD_DEVID_MASK) == adr) { + (val & DOD_DEVID_MASK_FULL) == adr) { argset->callback(handle, val, argset->context); argset->count++; } ==== //depot/projects/gdb/sys/dev/em/if_em.c#11 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.125 2006/08/04 07:56:33 yar Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.126 2006/08/09 20:10:35 pdeuskar Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -2255,9 +2255,12 @@ 0, NULL); ifmedia_add(&adapter->media, IFM_ETHER | IFM_100_TX | IFM_FDX, 0, NULL); - ifmedia_add(&adapter->media, IFM_ETHER | IFM_1000_T | IFM_FDX, - 0, NULL); - ifmedia_add(&adapter->media, IFM_ETHER | IFM_1000_T, 0, NULL); + if (adapter->hw.phy_type != em_phy_ife) { + ifmedia_add(&adapter->media, + IFM_ETHER | IFM_1000_T | IFM_FDX, 0, NULL); + ifmedia_add(&adapter->media, + IFM_ETHER | IFM_1000_T, 0, NULL); + } } ifmedia_add(&adapter->media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO); ==== //depot/projects/gdb/sys/geom/geom_gpt.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_gpt.c,v 1.40 2006/08/08 21:33:26 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_gpt.c,v 1.41 2006/08/09 20:53:01 marcel Exp $"); #include #include @@ -360,16 +360,17 @@ { char *buf; uint8_t *typ; - int i, pmbr, vmbr; + uint64_t mediasize; + int i, pmbr, parts; + uint32_t dp_start, dp_size; uint16_t magic; - uint32_t dp_start, dp_size; >>> TRUNCATED FOR MAIL (1000 lines) <<<