Kimberly Sanchez invites you to connect

2010-12-06 Thread carliseqfriends
I created a profile with my pictures, videos, blog and events and I'd like to
add you as a friend to show this to you.

http://vamppir.zoomshare.com/files/chicks.htm



Re: multiple ipsec-nat-t clients behind same ip address (pr 5562)

2010-12-06 Thread Mike Belopuhov
On Mon, Dec 06, 2010 at 12:58 +, Mikolaj Kucharski wrote:
 Hi,
 
 I had a chance to test pr 5562 and would like to confirm that on OpenBSD
 current the issue is still present.
 
 OpenBSD 4.8-current (GENERIC) #510: Sat Dec  4 12:03:30 MST 2010
 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
 
 
 After applying attached patch (taken from url in pr 5562) issue is
 resolved. See reference urls for more detailed explanation.
 
 
 Would be possible to get this patch commited?
 

FWIW, I'm okay with the diff.

 
 References
  1. http://marc.info/?t=12016804851r=1w=2
  2. http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yesnumbers=5562
  3. http://www.bzero.se/patches/isakmpd-multi-nat-peers-patch.diff
 
 -- 
 best regards
 q#
 Index: sa.c
 ===
 RCS file: /cvs/src/sbin/isakmpd/sa.c,v
 retrieving revision 1.110
 diff -u -r1.110 sa.c
 --- sa.c  24 Nov 2006 13:52:14 -  1.110
 +++ sa.c  17 Aug 2007 14:31:04 -
 @@ -199,7 +199,18 @@
   return 0;
  
   sa-transport-vtbl-get_dst(sa-transport, dst);
 - return (net_addrcmp(dst, addr-addr) == 0);
 + if (net_addrcmp(dst, addr-addr) != 0)
 + return 0;
 +
 + /* same family, length and address, check port if inet/inet6 */
 + switch (dst-sa_family) {
 + case AF_INET:
 + return ((struct sockaddr_in *)dst)-sin_port == ((struct 
 sockaddr_in *)addr-addr)-sin_port;
 + case AF_INET6:
 + return ((struct sockaddr_in6 *)dst)-sin6_port == ((struct 
 sockaddr_in6 *)addr-addr)-sin6_port;
 + }
 +
 + return 1;
  }
  
  struct dst_isakmpspi_arg {



Re: update pms driver

2010-12-06 Thread Nicholas Marriott
Looks and works fine for me, ok nicm

Cheers


On Tue, Nov 30, 2010 at 09:33:41PM +0500, Alexandr Shadchin wrote:
 On Mon, Nov 29, 2010 at 10:08:22PM +, Nicholas Marriott wrote:
  
  Well, I don't use it so I don't have strong feelings about it, but it
  does work for PS/2 mice and it seems that it would be useful for anyone
  using wsmoused (although there probably aren't many people).
  
  Would it be so hard to leave it, and if it is really not needed remove
  it entirely as a separate change?
  
  Otherwise aside from the char - signed char change I mentioned the diff
  is fine with me.
  
 
 1) fix char - signed char
 2) Returned WSMOUSEIO_SRES
 
 -- 
 Alexandr Shadchin
 
 Index: pms.c
 ===
 RCS file: /cvs/src/sys/dev/pckbc/pms.c,v
 retrieving revision 1.14
 diff -u -p -r1.14 pms.c
 --- pms.c 15 Nov 2010 20:25:31 -  1.14
 +++ pms.c 30 Nov 2010 16:26:20 -
 @@ -40,6 +40,20 @@
  
  #define DEVNAME(sc)  ((sc)-sc_dev.dv_xname)
  
 +struct pms_softc;
 +
 +struct pms_protocol {
 + int type;
 +#define PMS_STANDARD 0
 +#define PMS_INTELLI  1
 + int packetsize;
 + int (*enable)(struct pms_softc *);
 + int (*ioctl)(struct pms_softc *, u_long, caddr_t, int, struct proc *);
 + int (*sync)(struct pms_softc *, int);
 + void (*proc)(struct pms_softc *);
 + void (*disable)(struct pms_softc *);
 +};
 +
  struct pms_softc {   /* driver status information */
   struct device sc_dev;
  
 @@ -52,14 +66,38 @@ struct pms_softc {/* driver status inf
  #define PMS_STATE_SUSPENDED  2
  
   int poll;
 - int intelli;
   int inputstate;
 - u_int buttons, oldbuttons;  /* mouse button status */
 - signed char dx, dy;
 +
 + struct pms_protocol protocol;
 +
 + unsigned char packet[8];
  
   struct device *sc_wsmousedev;
  };
  
 +#define PMS_BUTTON1DOWN  0x0001  /* left */
 +#define PMS_BUTTON2DOWN  0x0002  /* middle */
 +#define PMS_BUTTON3DOWN  0x0004  /* right */
 +
 +static const u_int butmap[8] = {
 + 0,
 + PMS_BUTTON1DOWN,
 + PMS_BUTTON3DOWN,
 + PMS_BUTTON1DOWN | PMS_BUTTON3DOWN,
 + PMS_BUTTON2DOWN,
 + PMS_BUTTON1DOWN | PMS_BUTTON2DOWN,
 + PMS_BUTTON2DOWN | PMS_BUTTON3DOWN,
 + PMS_BUTTON1DOWN | PMS_BUTTON2DOWN | PMS_BUTTON3DOWN
 +};
 +
 +/* PS/2 mouse data packet */
 +#define PMS_PS2_BUTTONSMASK  0x07
 +#define PMS_PS2_BUTTON1  0x01/* left */
 +#define PMS_PS2_BUTTON2  0x04/* middle */
 +#define PMS_PS2_BUTTON3  0x02/* right */
 +#define PMS_PS2_XNEG 0x10
 +#define PMS_PS2_YNEG 0x20
 +
  int  pmsprobe(struct device *, void *, void *);
  void pmsattach(struct device *, struct device *, void *);
  int  pmsactivate(struct device *, int);
 @@ -81,7 +119,11 @@ int   pms_reset(struct pms_softc *);
  int  pms_dev_enable(struct pms_softc *);
  int  pms_dev_disable(struct pms_softc *);
  
 -int  pms_setintellimode(struct pms_softc *sc);
 +int  pms_enable_intelli(struct pms_softc *);
 +
 +int  pms_ioctl_mouse(struct pms_softc *, u_long, caddr_t, int, struct proc 
 *);
 +int  pms_sync_mouse(struct pms_softc *, int);
 +void pms_proc_mouse(struct pms_softc *);
  
  struct cfattach pms_ca = {
   sizeof(struct pms_softc), pmsprobe, pmsattach, NULL,
 @@ -98,6 +140,27 @@ const struct wsmouse_accessops pms_acces
   pms_disable,
  };
  
 +const struct pms_protocol pms_mouse[] = {
 + /* Generic PS/2 mouse */
 + {
 + PMS_STANDARD, 3,
 + NULL,
 + pms_ioctl_mouse,
 + pms_sync_mouse,
 + pms_proc_mouse,
 + NULL
 + },
 + /* Microsoft IntelliMouse */
 + {
 + PMS_INTELLI, 4,
 + pms_enable_intelli,
 + pms_ioctl_mouse,
 + pms_sync_mouse,
 + pms_proc_mouse,
 + NULL
 + }
 +};
 +
  int
  pms_cmd(struct pms_softc *sc, u_char *cmd, int len, u_char *resp, int 
 resplen)
  {
 @@ -208,7 +271,7 @@ pms_dev_disable(struct pms_softc *sc)
  }
  
  int
 -pms_setintellimode(struct pms_softc *sc)
 +pms_enable_intelli(struct pms_softc *sc)
  {
   static const int rates[] = {200, 100, 80};
   u_char resp;
 @@ -224,6 +287,78 @@ pms_setintellimode(struct pms_softc *sc)
  }
  
  int
 +pms_ioctl_mouse(struct pms_softc *sc, u_long cmd, caddr_t data, int flag,
 +struct proc *p)
 +{
 + int i;
 +
 + switch (cmd) {
 + case WSMOUSEIO_GTYPE:
 + *(u_int *)data = WSMOUSE_TYPE_PS2;
 + break;
 + case WSMOUSEIO_SRES:
 + i = ((int) *(u_int *)data - 12) / 25;
 + /* valid values are {0,1,2,3} */
 + if (i  0)
 + i = 0;
 + if (i  3)
 + i = 3;
 +
 + if (pms_set_resolution(sc, i))
 + printf(%s: SET_RES command error\n, DEVNAME(sc));
 +

You've received a private message from a friend!

2010-12-06 Thread carlicbufriends
I read your profile today, I thought I would drop you a line and hope to
become your friend! Check my personal page here:
http://diehar.zoomshare.com/files/photos.htm



drops NENTS in favor of nitems

2010-12-06 Thread Jasper Lievisse Adriaanse
This diff drops another nitems() copy we have in tree, NENTS().
Compile tested on amd64, no binary change.
OK?

-- 
Cheers,
Jasper

During times of universal deceit,
 telling the truth becomes a revolutionary act.

Index: arch/alpha/stand/netboot/if_prom.c
===
RCS file: /cvs/src/sys/arch/alpha/stand/netboot/if_prom.c,v
retrieving revision 1.4
diff -p -u -r1.4 if_prom.c
--- arch/alpha/stand/netboot/if_prom.c  9 Mar 2008 12:03:03 -   1.4
+++ arch/alpha/stand/netboot/if_prom.c  6 Dec 2010 18:00:02 -
@@ -61,7 +61,7 @@ struct netif_dif prom_ifs[] = {
 {  0,  1,  prom_stats[0], 0,  },
 };
 
-struct netif_stats prom_stats[NENTS(prom_ifs)];
+struct netif_stats prom_stats[nitems(prom_ifs)];
 
 struct netbbinfo netbbinfo = {
0xfeedbabedeadbeef, /* magic number */
@@ -82,7 +82,7 @@ struct netif_driver prom_netif_driver = 
prom_put,   /* netif_put */
prom_end,   /* netif_end */
prom_ifs,   /* netif_ifs */
-   NENTS(prom_ifs) /* netif_nifs */
+   nitems(prom_ifs)/* netif_nifs */
 };
 
 int netfd, broken_firmware;
Index: arch/amd64/stand/boot/conf.c
===
RCS file: /cvs/src/sys/arch/amd64/stand/boot/conf.c,v
retrieving revision 1.15
diff -p -u -r1.15 conf.c
--- arch/amd64/stand/boot/conf.c11 Aug 2010 14:18:52 -  1.15
+++ arch/amd64/stand/boot/conf.c6 Dec 2010 18:00:02 -
@@ -56,10 +56,10 @@ void (*i386_probe2[])(void) = {
 };
 
 struct i386_boot_probes probe_list[] = {
-   { probing, i386_probe1, NENTS(i386_probe1) },
-   { disk,i386_probe2, NENTS(i386_probe2) }
+   { probing, i386_probe1, nitems(i386_probe1) },
+   { disk,i386_probe2, nitems(i386_probe2) }
 };
-int nibprobes = NENTS(probe_list);
+int nibprobes = nitems(probe_list);
 
 
 struct fs_ops file_system[] = {
@@ -74,7 +74,7 @@ struct fs_ops file_system[] = {
  cd9660_stat, cd9660_readdir },
 #endif
 };
-int nfsys = NENTS(file_system);
+int nfsys = nitems(file_system);
 
 struct devsw   devsw[] = {
{ BIOS, biosstrategy, biosopen, biosclose, biosioctl },
@@ -82,7 +82,7 @@ struct devsw  devsw[] = {
{ TFTP, tftpstrategy, tftpopen, tftpclose, tftpioctl },
 #endif
 };
-int ndevs = NENTS(devsw);
+int ndevs = nitems(devsw);
 
 struct consdev constab[] = {
{ pc_probe, pc_init, pc_getc, pc_putc },
Index: arch/amd64/stand/cdboot/conf.c
===
RCS file: /cvs/src/sys/arch/amd64/stand/cdboot/conf.c,v
retrieving revision 1.15
diff -p -u -r1.15 conf.c
--- arch/amd64/stand/cdboot/conf.c  11 Aug 2010 14:18:52 -  1.15
+++ arch/amd64/stand/cdboot/conf.c  6 Dec 2010 18:00:02 -
@@ -57,10 +57,10 @@ void (*amd64_probe2[])(void) = {
 };
 
 struct i386_boot_probes probe_list[] = {
-   { probing, amd64_probe1, NENTS(amd64_probe1) },
-   { disk,amd64_probe2, NENTS(amd64_probe2) }
+   { probing, amd64_probe1, nitems(amd64_probe1) },
+   { disk,amd64_probe2, nitems(amd64_probe2) }
 };
-int nibprobes = NENTS(probe_list);
+int nibprobes = nitems(probe_list);
 
 struct fs_ops file_system[] = {
{ cd9660_open, cd9660_close, cd9660_read, cd9660_write, cd9660_seek,
@@ -76,12 +76,12 @@ struct fs_ops file_system[] = {
  fat_stat,fat_readdir},
 #endif
 };
-int nfsys = NENTS(file_system);
+int nfsys = nitems(file_system);
 
 struct devsw   devsw[] = {
{ BIOS, biosstrategy, biosopen, biosclose, biosioctl },
 };
-int ndevs = NENTS(devsw);
+int ndevs = nitems(devsw);
 
 struct consdev constab[] = {
{ pc_probe, pc_init, pc_getc, pc_putc },
Index: arch/amd64/stand/libsa/dev_i386.c
===
RCS file: /cvs/src/sys/arch/amd64/stand/libsa/dev_i386.c,v
retrieving revision 1.3
diff -p -u -r1.3 dev_i386.c
--- arch/amd64/stand/libsa/dev_i386.c   27 Jun 2007 20:29:37 -  1.3
+++ arch/amd64/stand/libsa/dev_i386.c   6 Dec 2010 18:00:02 -
@@ -38,13 +38,13 @@ const char bdevs[][4] = {
wd, , fd, , sd, st, cd, mcd,
, , , , , , , scd, , hd, 
 };
-const int nbdevs = NENTS(bdevs);
+const int nbdevs = nitems(bdevs);
 
 const char cdevs[][4] = {
cn, , , , , , , ,
com, , , , pc
 };
-const int ncdevs = NENTS(cdevs);
+const int ncdevs = nitems(cdevs);
 
 /* pass dev_t to the open routines */
 int
Index: arch/amd64/stand/libsa/memprobe.c
===
RCS file: /cvs/src/sys/arch/amd64/stand/libsa/memprobe.c,v
retrieving revision 1.7
diff -p -u -r1.7 memprobe.c
--- arch/amd64/stand/libsa/memprobe.c   2 Jul 2010 00:36:52 -   1.7
+++ arch/amd64/stand/libsa/memprobe.c   6 Dec 2010 18:00:03 -
@@ -221,14 +221,14 @@ addrprobe(u_int kloc)
 {
__volatile 

Re: Remove COMPAT_LINUX leftover from arm

2010-12-06 Thread Ted Unangst
On Mon, Dec 6, 2010 at 12:54 PM, Jasper Lievisse Adriaanse
jas...@humppa.nl wrote:
 None of the arm ports are using COMPAT_LINUX, hence this is commented.
 And should be removed too?

do it.



Consistent 'include' rules in 'files.' files.

2010-12-06 Thread Jasper Lievisse Adriaanse
As per subject, tested on amd64/macppc. OK?

-- 
Cheers,
Jasper

During times of universal deceit,
 telling the truth becomes a revolutionary act.

Index: alpha/conf/files.alpha
===
RCS file: /cvs/src/sys/arch/alpha/conf/files.alpha,v
retrieving revision 1.90
diff -p -u -r1.90 files.alpha
--- alpha/conf/files.alpha  30 Jun 2010 20:38:49 -  1.90
+++ alpha/conf/files.alpha  6 Dec 2010 18:53:05 -
@@ -35,7 +35,7 @@ major {vnd = 9}
 #
 # Media Independent Interface (mii)
 #
-include../../../dev/mii/files.mii
+includedev/mii/files.mii
 
 #
 # Machine-independent SCSI drivers
@@ -269,7 +269,7 @@ filedev/pci/if_hme_pci.chme_pci
 # ISA PnP
 #
 
-include../../../dev/isa/files.isapnp
+includedev/isa/files.isapnp
 file   arch/alpha/isa/isapnp_machdep.c isapnp
 
 #
Index: amd64/conf/files.amd64
===
RCS file: /cvs/src/sys/arch/amd64/conf/files.amd64,v
retrieving revision 1.59
diff -p -u -r1.59 files.amd64
--- amd64/conf/files.amd64  13 Nov 2010 04:16:42 -  1.59
+++ amd64/conf/files.amd64  6 Dec 2010 18:53:06 -
@@ -225,7 +225,7 @@ include dev/gpio/files.gpio
 #
 # ACPI
 #
-include ../../../dev/acpi/files.acpi
+include dev/acpi/files.acpi
 file   arch/amd64/amd64/acpi_machdep.c acpi
 file   arch/amd64/amd64/acpi_wakecode.Sacpi  !small_kernel
 
Index: armish/conf/files.armish
===
RCS file: /cvs/src/sys/arch/armish/conf/files.armish,v
retrieving revision 1.13
diff -p -u -r1.13 files.armish
--- armish/conf/files.armish16 May 2009 05:47:25 -  1.13
+++ armish/conf/files.armish6 Dec 2010 18:53:07 -
@@ -14,7 +14,7 @@ file  arch/armish/armish/armish_machdep.c
 file   arch/armish/armish/autoconf.c
 file   arch/arm/arm/disksubr.c disk
 
-include ../../../scsi/files.scsi
+include scsi/files.scsi
 
 # Use the generic ARM soft interrupt code.
 file   arch/arm/arm/softintr.c
@@ -67,11 +67,11 @@ include dev/bluetooth/files.bluetooth
 include dev/mii/files.mii
 
 # PCI
-include ../../../dev/pci/files.pci
+include dev/pci/files.pci
 file   arch/armish/dev/pciide_machdep.cpciide
 
-include ../../../dev/puc/files.puc
-include ../../../dev/atapiscsi/files.atapiscsi
+include dev/puc/files.puc
+include dev/atapiscsi/files.atapiscsi
 
 
 #
Index: aviion/conf/files.aviion
===
RCS file: /cvs/src/sys/arch/aviion/conf/files.aviion,v
retrieving revision 1.7
diff -p -u -r1.7 files.aviion
--- aviion/conf/files.aviion21 Apr 2010 19:33:47 -  1.7
+++ aviion/conf/files.aviion6 Dec 2010 18:53:07 -
@@ -35,7 +35,7 @@ file  arch/aviion/dev/if_ile_syscon.c i
 attach oosiop at syscon with oosiop_syscon
 file   arch/aviion/dev/oosiop_syscon.c oosiop_syscon
 
-include../../../scsi/files.scsi
+include scsi/files.scsi
 
 major  {sd = 4}
 major  {st = 5}
Index: beagle/conf/files.beagle
===
RCS file: /cvs/src/sys/arch/beagle/conf/files.beagle,v
retrieving revision 1.4
diff -p -u -r1.4 files.beagle
--- beagle/conf/files.beagle1 Jun 2010 03:01:02 -   1.4
+++ beagle/conf/files.beagle6 Dec 2010 18:53:07 -
@@ -28,7 +28,7 @@ file  arch/arm/armv7/armv7_mutex.c
 # note that the order of the devices in _this_ file
 # affects the order that the devices will configure.
 
-include ../../../dev/sdmmc/files.sdmmc
+include dev/sdmmc/files.sdmmc
 
 device prcm
 attach prcm at ahb
@@ -77,8 +77,8 @@ file arch/beagle/dev/omdisplay.c  omdisp
 #
 # Machine-independent SCSI drivers
 #
-include ../../../scsi/files.scsi
-include ../../../dev/atapiscsi/files.atapiscsi
+include scsi/files.scsi
+include dev/atapiscsi/files.atapiscsi
 
 # CPU support and integrated peripherals
 file   arch/arm/arm/irq_dispatch.S
Index: gumstix/conf/files.gumstix
===
RCS file: /cvs/src/sys/arch/gumstix/conf/files.gumstix,v
retrieving revision 1.1
diff -p -u -r1.1 files.gumstix
--- gumstix/conf/files.gumstix  26 Nov 2008 14:18:11 -  1.1
+++ gumstix/conf/files.gumstix  6 Dec 2010 18:53:07 -
@@ -18,8 +18,8 @@ file  arch/gumstix/gumstix/gumstix_machde
 #
 # Machine-independent SCSI drivers
 #
-include ../../../scsi/files.scsi
-include ../../../dev/atapiscsi/files.atapiscsi
+include scsi/files.scsi
+include dev/atapiscsi/files.atapiscsi
 
 # CPU support and integrated peripherals
 include arch/arm/xscale/files.pxa2x0
Index: i386/conf/files.i386
===
RCS file: /cvs/src/sys/arch/i386/conf/files.i386,v
retrieving revision 1.199
diff -p -u -r1.199 files.i386
--- i386/conf/files.i38614 Oct 2010 21:23:04 

$100,000 Commission System

2010-12-06 Thread Commission System
Stop making tiny commissions online - start making 1k + commissions with this 
totally unique and proven system...
Get this today and get started today...

Join Now : http://business-page.us/10-commission-system.html



Re: better matching of boot devices on amd64

2010-12-06 Thread Tobias Weingartner
On Thursday, December 2, David Gwynne wrote:
 the boot loader passes a variable that identifies the disk its
 booting off made up of a bunch of fields like adapter, controller,
 disk, and partition offsets, plus a table of all the disks it can
 see which includes this id and a checksum.

Unfortunately, on the PC there is no 100% reliable mapping between the
BIOS disk number (which is used for booting), and the device path used
on the obsd side.  So in essence, we need to find the device we booted
from.  This was/is the point to the checksums.  At the point where the
checksum stuff was implemented, I seriously thought about sending the
checksum of the boot device through the bootdev var during boot.  With
a few special cases to signify network/etc style boots.  This seemed
somewhat hackish...

I've always wondered why the B_* defines in reboot.h were MI, as opposed
to MD.  Booting is inherantly a very MD stype of thing.  Something that
makes 100% sense on the VAX will likley map poorly or not at all to a PC
or a Sun box.  Anyways, that all aside...


 the kernel goes through and checksums the disks and then maps that
 back to the id associated with that disk, and then compares some
 of the fields in those ids against the boot disks id to figure out
 which disk its on.

Yup, and this works most of the time... unless you happen to have all
the disks zero'd or otherwise bit-identical.  :)


 the problem is we overflow one of those fields (the disk id one).
 since the other fields are set to 0 by the boot loader, this doesnt
 really matter that much. however, since those fields are now
 significant because of the overflow, we should compare them too.
 
 this prevents sd16 being matched as the boot disk after sd0 on my
 system with 25 disks attached.
 
 sorry if this explanation sucks.

Nope, no suck.  Makes sense.  Hackish solution, but likely the best one
for right now.  A quick egrep through /usr/src seems to indicate that
the only parts of the kernel that really care are MD parts, and nothing
really uses it in userland.  Prime candidate to re-factor someday.

 ok?
 
 Index: dkcsum.c
 ===
 RCS file: /cvs/src/sys/arch/amd64/amd64/dkcsum.c,v
 retrieving revision 1.15
 diff -u -p -r1.15 dkcsum.c
 --- dkcsum.c  10 Dec 2008 23:41:19 -  1.15
 +++ dkcsum.c  2 Dec 2010 05:08:25 -
 @@ -71,10 +71,13 @@ dkcsumattach(void)
  
  #ifdef DEBUG
   printf(dkcsum: bootdev=%#x\n, bootdev);
 - for (bdi = bios_diskinfo; bdi-bios_number != -1; bdi++)
 - if (bdi-bios_number  0x80)
 - printf(dkcsum: BIOS drive %#x checksum is %#x\n,
 - bdi-bios_number, bdi-checksum);
 + for (bdi = bios_diskinfo; bdi-bios_number != -1; bdi++) {
 + if (bdi-bios_number  0x80) {
 + printf(dkcsum: BIOS drive %#x bsd_dev=%#x 
 + checksum=%#x\n, bdi-bios_number, bdi-bsd_dev,
 + bdi-checksum);
 + }
 + }
  #endif
   pribootdev = altbootdev = 0;
  
 @@ -180,7 +183,9 @@ dkcsumattach(void)
*/
  
   /* B_TYPE dependent hd unit counting bootblocks */
 - if ((B_TYPE(bootdev) == B_TYPE(hit-bsd_dev)) 
 + if ((B_ADAPTOR(bootdev) == B_ADAPTOR(hit-bsd_dev)) 
 + (B_CONTROLLER(bootdev) == B_CONTROLLER(hit-bsd_dev)) 
 + (B_TYPE(bootdev) == B_TYPE(hit-bsd_dev)) 
   (B_UNIT(bootdev) == B_UNIT(hit-bsd_dev))) {
   int type, ctrl, adap, part, unit;

I'm likely late to the party, but it looks ok.  And if it works, I really
can't test this... then it's ok by me.

--Toby.