svn commit: r288166 - in head/sys/cam: ctl scsi

2015-09-24 Thread Alexander Motin
Author: mav
Date: Thu Sep 24 08:04:47 2015
New Revision: 288166
URL: https://svnweb.freebsd.org/changeset/base/288166

Log:
  Update WRITE ATOMIC(16) support to sbc4r8 draft.
  
  This is only a cosmetic change.  We still don't support atomic boundary
  field in the CDB, but at least now we do it formally.

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/scsi_ctl.c
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Thu Sep 24 07:16:34 2015(r288165)
+++ head/sys/cam/ctl/ctl.c  Thu Sep 24 08:04:47 2015(r288166)
@@ -8940,7 +8940,7 @@ ctl_read_write(struct ctl_scsiio *ctsio)
break;
}
case WRITE_ATOMIC_16: {
-   struct scsi_rw_16 *cdb;
+   struct scsi_write_atomic_16 *cdb;
 
if (lun->be_lun->atomicblock == 0) {
ctl_set_invalid_opcode(ctsio);
@@ -8948,13 +8948,13 @@ ctl_read_write(struct ctl_scsiio *ctsio)
return (CTL_RETVAL_COMPLETE);
}
 
-   cdb = (struct scsi_rw_16 *)ctsio->cdb;
+   cdb = (struct scsi_write_atomic_16 *)ctsio->cdb;
if (cdb->byte2 & SRW12_FUA)
flags |= CTL_LLF_FUA;
if (cdb->byte2 & SRW12_DPO)
flags |= CTL_LLF_DPO;
lba = scsi_8btou64(cdb->addr);
-   num_blocks = scsi_4btoul(cdb->length);
+   num_blocks = scsi_2btoul(cdb->length);
if (num_blocks > lun->be_lun->atomicblock) {
ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
/*command*/ 1, /*field*/ 12, /*bit_valid*/ 0,
@@ -10148,6 +10148,8 @@ ctl_inquiry_evpd_block_limits(struct ctl
bl_ptr->max_atomic_transfer_length);
scsi_ulto4b(0, bl_ptr->atomic_alignment);
scsi_ulto4b(0, bl_ptr->atomic_transfer_length_granularity);
+   scsi_ulto4b(0, 
bl_ptr->max_atomic_transfer_length_with_atomic_boundary);
+   scsi_ulto4b(0, bl_ptr->max_atomic_boundary_size);
}
scsi_u64to8b(UINT64_MAX, bl_ptr->max_write_same_length);
 
@@ -10647,8 +10649,7 @@ ctl_get_lba_len(union ctl_io *io, uint64
break;
}
case READ_16:
-   case WRITE_16:
-   case WRITE_ATOMIC_16: {
+   case WRITE_16: {
struct scsi_rw_16 *cdb;
 
cdb = (struct scsi_rw_16 *)io->scsiio.cdb;
@@ -10657,6 +10658,15 @@ ctl_get_lba_len(union ctl_io *io, uint64
*len = scsi_4btoul(cdb->length);
break;
}
+   case WRITE_ATOMIC_16: {
+   struct scsi_write_atomic_16 *cdb;
+
+   cdb = (struct scsi_write_atomic_16 *)io->scsiio.cdb;
+
+   *lba = scsi_8btou64(cdb->addr);
+   *len = scsi_2btoul(cdb->length);
+   break;
+   }
case WRITE_VERIFY_16: {
struct scsi_write_verify_16 *cdb;
 

Modified: head/sys/cam/ctl/scsi_ctl.c
==
--- head/sys/cam/ctl/scsi_ctl.c Thu Sep 24 07:16:34 2015(r288165)
+++ head/sys/cam/ctl/scsi_ctl.c Thu Sep 24 08:04:47 2015(r288166)
@@ -1068,7 +1068,6 @@ ctlfe_adjust_cdb(struct ccb_accept_tio *
}
case READ_16:
case WRITE_16:
-   case WRITE_ATOMIC_16:
{
struct scsi_rw_16 *cdb = (struct scsi_rw_16 *)cmdbyt;
lba = scsi_8btou64(cdb->addr);

Modified: head/sys/cam/scsi/scsi_all.h
==
--- head/sys/cam/scsi/scsi_all.hThu Sep 24 07:16:34 2015
(r288165)
+++ head/sys/cam/scsi/scsi_all.hThu Sep 24 08:04:47 2015
(r288166)
@@ -1283,6 +1283,17 @@ struct scsi_rw_16
u_int8_t control;
 };
 
+struct scsi_write_atomic_16
+{
+   uint8_t opcode;
+   uint8_t byte2;
+   uint8_t addr[8];
+   uint8_t boundary[2];
+   uint8_t length[2];
+   uint8_t group;
+   uint8_t control;
+};
+
 struct scsi_write_same_10
 {
uint8_t opcode;
@@ -2757,7 +2768,8 @@ struct scsi_vpd_block_limits
u_int8_t max_atomic_transfer_length[4];
u_int8_t atomic_alignment[4];
u_int8_t atomic_transfer_length_granularity[4];
-   u_int8_t reserved2[8];
+   u_int8_t max_atomic_transfer_length_with_atomic_boundary[4];
+   u_int8_t max_atomic_boundary_size[4];
 };
 
 struct scsi_read_capacity
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288165 - in head/sys/cam: ctl scsi

2015-09-24 Thread Alexander Motin
Author: mav
Date: Thu Sep 24 07:16:34 2015
New Revision: 288165
URL: https://svnweb.freebsd.org/changeset/base/288165

Log:
  Add support for READ BUFFER(16) command.

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_cmd_table.c
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Thu Sep 24 00:54:46 2015(r288164)
+++ head/sys/cam/ctl/ctl.c  Thu Sep 24 07:16:34 2015(r288165)
@@ -5610,20 +5610,43 @@ bailout:
 int
 ctl_read_buffer(struct ctl_scsiio *ctsio)
 {
-   struct scsi_read_buffer *cdb;
struct ctl_lun *lun;
-   int buffer_offset, len;
+   uint64_t buffer_offset;
+   uint32_t len;
+   uint8_t byte2;
static uint8_t descr[4];
static uint8_t echo_descr[4] = { 0 };
 
CTL_DEBUG_PRINT(("ctl_read_buffer\n"));
-
lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr;
-   cdb = (struct scsi_read_buffer *)ctsio->cdb;
+   switch (ctsio->cdb[0]) {
+   case READ_BUFFER: {
+   struct scsi_read_buffer *cdb;
 
-   if ((cdb->byte2 & RWB_MODE) != RWB_MODE_DATA &&
-   (cdb->byte2 & RWB_MODE) != RWB_MODE_ECHO_DESCR &&
-   (cdb->byte2 & RWB_MODE) != RWB_MODE_DESCR) {
+   cdb = (struct scsi_read_buffer *)ctsio->cdb;
+   buffer_offset = scsi_3btoul(cdb->offset);
+   len = scsi_3btoul(cdb->length);
+   byte2 = cdb->byte2;
+   break;
+   }
+   case READ_BUFFER_16: {
+   struct scsi_read_buffer_16 *cdb;
+
+   cdb = (struct scsi_read_buffer_16 *)ctsio->cdb;
+   buffer_offset = scsi_8btou64(cdb->offset);
+   len = scsi_4btoul(cdb->length);
+   byte2 = cdb->byte2;
+   break;
+   }
+   default: /* This shouldn't happen. */
+   ctl_set_invalid_opcode(ctsio);
+   ctl_done((union ctl_io *)ctsio);
+   return (CTL_RETVAL_COMPLETE);
+   }
+
+   if ((byte2 & RWB_MODE) != RWB_MODE_DATA &&
+   (byte2 & RWB_MODE) != RWB_MODE_ECHO_DESCR &&
+   (byte2 & RWB_MODE) != RWB_MODE_DESCR) {
ctl_set_invalid_field(ctsio,
  /*sks_valid*/ 1,
  /*command*/ 1,
@@ -5634,10 +5657,8 @@ ctl_read_buffer(struct ctl_scsiio *ctsio
return (CTL_RETVAL_COMPLETE);
}
 
-   len = scsi_3btoul(cdb->length);
-   buffer_offset = scsi_3btoul(cdb->offset);
-
-   if (buffer_offset + len > CTL_WRITE_BUFFER_SIZE) {
+   if (buffer_offset > CTL_WRITE_BUFFER_SIZE ||
+   buffer_offset + len > CTL_WRITE_BUFFER_SIZE) {
ctl_set_invalid_field(ctsio,
  /*sks_valid*/ 1,
  /*command*/ 1,
@@ -5648,12 +5669,12 @@ ctl_read_buffer(struct ctl_scsiio *ctsio
return (CTL_RETVAL_COMPLETE);
}
 
-   if ((cdb->byte2 & RWB_MODE) == RWB_MODE_DESCR) {
+   if ((byte2 & RWB_MODE) == RWB_MODE_DESCR) {
descr[0] = 0;
scsi_ulto3b(CTL_WRITE_BUFFER_SIZE, [1]);
ctsio->kern_data_ptr = descr;
len = min(len, sizeof(descr));
-   } else if ((cdb->byte2 & RWB_MODE) == RWB_MODE_ECHO_DESCR) {
+   } else if ((byte2 & RWB_MODE) == RWB_MODE_ECHO_DESCR) {
ctsio->kern_data_ptr = echo_descr;
len = min(len, sizeof(echo_descr));
} else {

Modified: head/sys/cam/ctl/ctl_cmd_table.c
==
--- head/sys/cam/ctl/ctl_cmd_table.cThu Sep 24 00:54:46 2015
(r288164)
+++ head/sys/cam/ctl/ctl_cmd_table.cThu Sep 24 07:16:34 2015
(r288165)
@@ -1155,8 +1155,16 @@ const struct ctl_cmd_entry ctl_cmd_table
 /* 9A */
 {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE},
 
-/* 9B */
-{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE},
+/* 9B READ BUFFER(16) */
+{ctl_read_buffer, CTL_SERIDX_MD_SNS, CTL_CMD_FLAG_OK_ON_BOTH |
+CTL_CMD_FLAG_OK_ON_STOPPED |
+CTL_CMD_FLAG_OK_ON_INOPERABLE |
+CTL_CMD_FLAG_OK_ON_STANDBY |
+CTL_FLAG_DATA_IN |
+CTL_CMD_FLAG_ALLOW_ON_PR_WRESV,
+ CTL_LUN_PAT_NONE,
+ 10, {0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0x07}},
 
 /* 9C WRITE ATOMIC (16) */
 {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT,

Modified: head/sys/cam/scsi/scsi_all.h
==
--- head/sys/cam/scsi/scsi_all.hThu Sep 24 00:54:46 2015
(r288164)
+++ head/sys/cam/scsi/scsi_all.h

svn commit: r288170 - in head/sys/cam: ctl scsi

2015-09-24 Thread Alexander Motin
Author: mav
Date: Thu Sep 24 12:22:47 2015
New Revision: 288170
URL: https://svnweb.freebsd.org/changeset/base/288170

Log:
  Add new report types to REPORT LUNS command.
  
  This is only for completeness, since we have nothing new to report there.

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/scsi/scsi_all.h

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Thu Sep 24 10:31:39 2015(r288169)
+++ head/sys/cam/ctl/ctl.c  Thu Sep 24 12:22:47 2015(r288170)
@@ -9265,12 +9265,10 @@ ctl_report_luns(struct ctl_scsiio *ctsio
struct ctl_port *port;
int num_luns, retval;
uint32_t alloc_len, lun_datalen;
-   int num_filled, well_known;
+   int num_filled;
uint32_t initidx, targ_lun_id, lun_id;
 
retval = CTL_RETVAL_COMPLETE;
-   well_known = 0;
-
cdb = (struct scsi_report_luns *)ctsio->cdb;
port = ctl_io_port(>io_hdr);
 
@@ -9287,9 +9285,11 @@ ctl_report_luns(struct ctl_scsiio *ctsio
switch (cdb->select_report) {
case RPL_REPORT_DEFAULT:
case RPL_REPORT_ALL:
+   case RPL_REPORT_NONSUBSID:
break;
case RPL_REPORT_WELLKNOWN:
-   well_known = 1;
+   case RPL_REPORT_ADMIN:
+   case RPL_REPORT_CONGLOM:
num_luns = 0;
break;
default:

Modified: head/sys/cam/scsi/scsi_all.h
==
--- head/sys/cam/scsi/scsi_all.hThu Sep 24 10:31:39 2015
(r288169)
+++ head/sys/cam/scsi/scsi_all.hThu Sep 24 12:22:47 2015
(r288170)
@@ -2864,6 +2864,9 @@ struct scsi_report_luns
 #defineRPL_REPORT_DEFAULT  0x00
 #defineRPL_REPORT_WELLKNOWN0x01
 #defineRPL_REPORT_ALL  0x02
+#defineRPL_REPORT_ADMIN0x10
+#defineRPL_REPORT_NONSUBSID0x11
+#defineRPL_REPORT_CONGLOM  0x12
uint8_t select_report;
uint8_t reserved2[3];
uint8_t length[4];
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287886 - head/sys/sys

2015-09-24 Thread Steven Hartland



On 17/09/2015 14:07, Alexey Dokuchaev wrote:

On Thu, Sep 17, 2015 at 12:58:59PM +0100, Steven Hartland wrote:

On 17/09/2015 09:15, Alexey Dokuchaev wrote:

On Thu, Sep 17, 2015 at 12:03:56AM +, Steven Hartland wrote:

New Revision: 287886
URL: https://svnweb.freebsd.org/changeset/base/287886

Log:
Fix kqueue write events for files > 2GB

Oh that's an embarrassing bug.

[...]
Would you also consider merging to stable/8?  Thanks,

8 isn't supported any more but the patch should apply to stable/8
sources if you maintain your own branch of it.

So the answer is "no".  It's OK, I'll ask for your approval and MFC it
myself in due time (provided there won't be any regressions found).

./danfe
This is all done now Alexey, did stable/8 while I was there and EN 
request has been sent too.


Regards
Steve
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287934 - head/sys/boot/efi/loader

2015-09-24 Thread Adrian Chadd
... I'm confused about the "load it by hand" stuff in net80211. Why
don't we just do the kldload at that point?


-a


On 23 September 2015 at 21:06, Warner Losh  wrote:
> You're right about the Wifi drivers. There's some number you'll want loaded
> and we should have sensible defaults. But how to get there from here may
> be a bit interesting...  Though if I go with the devd.conf writer early in
> boot,
> I can make them be rc.conf variable controlled.
>
> Warner
>
> On Wed, Sep 23, 2015 at 8:13 PM, Rui Paulo  wrote:
>>
>> Those were the issues that I encountered when I started using MINIMAL.
>> I didn't do a thorough investigation.
>>
>> Auto loading is a much bigger problem that just loading drivers for
>> PCI/USB/etc devices.  For example, net80211 doesn't auto load the wlan
>> crypto modules by default nor the amrr module.
>>
>> On Mon, 2015-09-21 at 17:59 -0600, Warner Losh wrote:
>> > Apart from the inlining issue John raised (which I agree with his
>> > solution on, btw)
>> > and the one cam ctl module, what other modules are meaningfully
>> > different when
>> > compiled as modules.
>> >
>> > Assume that the auto-loading bit is solved, at least for devices on
>> > self-enumerating
>> > busses.
>> >
>> > Warner
>> >
>> >
>> > > On Sep 21, 2015, at 4:53 PM, Rui Paulo  wrote:
>> > >
>> > > No, that doesn't work very well.  Not only the modules don't auto
>> > > -load, the way the modules are compiled is different.  See, for
>> > > example, cam ctl which doesn't compile the sg code when it's built
>> > > into the kernel, but compiles it when it's built as a module.  The
>> > > sg code is currently buggy and causes insta-panics with GNOME 3
>> > > (perhaps the auto-mounter in hald (?)).
>> > > --
>> > > Rui Paulo
>> > >
>> > >
>> > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd 
>> > > wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > > Warner has been working on the modular kernel thing. But
>> > > > honestly, I
>> > > > think we should just start biting that bullet and ship a modules
>> > > > -only
>> > > > GENERIC by default..
>> > > >
>> > > >
>> > > > -a
>> > > >
>> > > >
>> > > > On 21 September 2015 at 11:02, Rui Paulo  wrote:
>> > > > > So, we're going to keep ignoring the problem and keep patching
>> > > > > things up?
>> > > > > It's a bit sad that a single driver (pmspcv) is able to cause
>> > > > > so much
>> > > > > problems.
>> > > > >
>> > > > > --
>> > > > > Rui Paulo
>> > > > >
>> > > > >
>> > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin 
>> > > > > wrote:
>> > > > >
>> > > > > Author: jhb
>> > > > > Date: Thu Sep 17 20:36:46 2015
>> > > > > New Revision: 287934
>> > > > > URL: https://svnweb.freebsd.org/changeset/base/287934
>> > > > >
>> > > > >
>> > > > > Log:
>> > > > > The EFI boot loader allocates a single chunk of contiguous
>> > > > > memory to
>> > > > > hold the kernel, modules, and any other loaded data. This
>> > > > > memory block
>> > > > > is relocated to the kernel's expected location during the
>> > > > > transfer of
>> > > > > control from the loader to the kernel.
>> > > > >
>> > > > > The GENERIC kernel on amd64 has recently grown such that a
>> > > > > kernel + zfs.ko
>> > > > > no longer fits in the default staging size. Bump the default
>> > > > > size from
>> > > > > 32MB to 48MB to provide more breathing room.
>> > > > >
>> > > > > PR: 201679
>> > > > > Reviewed by: imp
>> > > > > MFC after: 1 week
>> > > > > Differential Revision: https://reviews.freebsd.org/D3666
>> > > > >
>> > > > >
>> > > > > Modified:
>> > > > > head/sys/boot/efi/loader/copy.c
>> > > > >
>> > > > > Modified: head/sys/boot/efi/loader/copy.c
>> > > > > ===
>> > > > > ===
>> > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015
>> > > > > (r287933)
>> > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015
>> > > > > (r287934)
>> > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
>> > > > > #include 
>> > > > >
>> > > > > #ifndef EFI_STAGING_SIZE
>> > > > > -#define EFI_STAGING_SIZE 32
>> > > > > +#define EFI_STAGING_SIZE 48
>> > > > > #endif
>> > > > >
>> > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096)
>> > > > >
>> >
>>
>> --
>> Rui Paulo
>>
>
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288175 - head/sys/cam/ctl

2015-09-24 Thread Alexander Motin
Author: mav
Date: Thu Sep 24 15:59:08 2015
New Revision: 288175
URL: https://svnweb.freebsd.org/changeset/base/288175

Log:
  Allow WRITE SAME with NDOB bit set but without UNMAP.
  
  This combination was originally forbidden, but allowed at spc4r3.

Modified:
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_backend_block.c

Modified: head/sys/cam/ctl/ctl.c
==
--- head/sys/cam/ctl/ctl.c  Thu Sep 24 13:06:19 2015(r288174)
+++ head/sys/cam/ctl/ctl.c  Thu Sep 24 15:59:08 2015(r288175)
@@ -5808,9 +5808,8 @@ ctl_write_same(struct ctl_scsiio *ctsio)
break; /* NOTREACHED */
}
 
-   /* NDOB and ANCHOR flags can be used only together with UNMAP */
-   if ((byte2 & SWS_UNMAP) == 0 &&
-   (byte2 & (SWS_NDOB | SWS_ANCHOR)) != 0) {
+   /* ANCHOR flag can be used only together with UNMAP */
+   if ((byte2 & SWS_UNMAP) == 0 && (byte2 & SWS_ANCHOR) != 0) {
ctl_set_invalid_field(ctsio, /*sks_valid*/ 1,
/*command*/ 1, /*field*/ 1, /*bit_valid*/ 1, /*bit*/ 0);
ctl_done((union ctl_io *)ctsio);

Modified: head/sys/cam/ctl/ctl_backend_block.c
==
--- head/sys/cam/ctl/ctl_backend_block.cThu Sep 24 13:06:19 2015
(r288174)
+++ head/sys/cam/ctl/ctl_backend_block.cThu Sep 24 15:59:08 2015
(r288175)
@@ -1357,7 +1357,12 @@ ctl_be_block_cw_dispatch_ws(struct ctl_b
buf = beio->sg_segs[i].addr;
end = buf + seglen;
for (; buf < end; buf += cbe_lun->blocksize) {
-   memcpy(buf, io->scsiio.kern_data_ptr, 
cbe_lun->blocksize);
+   if (lbalen->flags & SWS_NDOB) {
+   memset(buf, 0, cbe_lun->blocksize);
+   } else {
+   memcpy(buf, io->scsiio.kern_data_ptr,
+   cbe_lun->blocksize);
+   }
if (lbalen->flags & SWS_LBDATA)
scsi_ulto4b(lbalen->lba + lba, buf);
lba++;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287934 - head/sys/boot/efi/loader

2015-09-24 Thread Marcel Moolenaar
> 
> The other approach I suggested earlier is to make the kernel relocatable
> (and allow the module metadata to be anywhere and live in a chain instead
> of an array) so that we can just load things wherever and leave them there
> without having to relocate.

For ia64 I linked the kernel against a virtual address. The loader
could simply allocate EFI memory as needed, and not worry about
its location. It would map that into what I called the “pre-boot
virtual address space”. When booting the kernel, the loader only
had to pass the physical address and size of the page table (the
virtual address was fixed).

With a variable size the loader would start off with a single 4KB
page table and it would grow it as needed to some arbitrary max.
The page size for the pre-boot virtual address space was 64KB (to
match the maximum alignment of segments that the toolchain allowed).

With more than 700MB of pre-boot virtual address space, one could
preload and entire installation CD if willing to wait for it being
loaded. No need to set memory aside and hope things fit...

As a nice plus: linking against a virtual address allows copying
the kernel text across the memory domains and always have it run
locally to CPUs in NUMA configurations.

--
Marcel Moolenaar
mar...@xcllnt.net



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: svn commit: r287886 - head/sys/sys

2015-09-24 Thread Alexey Dokuchaev
On Thu, Sep 24, 2015 at 02:57:57PM +0100, Steven Hartland wrote:
> On 17/09/2015 14:07, Alexey Dokuchaev wrote:
> > On Thu, Sep 17, 2015 at 12:58:59PM +0100, Steven Hartland wrote:
> > > 8 isn't supported any more but the patch should apply to stable/8
> > > sources if you maintain your own branch of it.
> > 
> > So the answer is "no".  It's OK, I'll ask for your approval and MFC
> > it myself in due time (provided there won't be any regressions
> > found).
> 
> This is all done now Alexey, did stable/8 while I was there and EN
> request has been sent too.

Thanks Steven, I appreciate it!

./danfe
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288179 - head/share/mk

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Thu Sep 24 17:36:18 2015
New Revision: 288179
URL: https://svnweb.freebsd.org/changeset/base/288179

Log:
  Fix running make in src directories without a Makefile giving confusing 
errors.
  
  This fixes the following errors:
make: don't know how to make bsd.README. Stop
make: don't know how to make auto.obj.mk. Stop
  
  This is easily seen in sys/dev/*.
  
  The new behavior is now the expected output:
make: no target to make.
  
  This would happen as MAKESYSPATH (.../share/mk) is auto added to the -I list.
  Any directory where make is ran in the src tree that has no local Makefile
  would then try executing the target in share/mk/Makefile, which by default
  was to build the first entry in FILES.  Of course, because bsd.README and
  auto.obj.mk are not in the current directory the error is shown.
  
  This check only works for bmake, but I will still MFC it with an extra
  '!defined(.PARSEDIR) ||' guard for stable/10.
  
  MFC after:2 weeks
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/share/mk/Makefile

Modified: head/share/mk/Makefile
==
--- head/share/mk/Makefile  Thu Sep 24 17:23:41 2015(r288178)
+++ head/share/mk/Makefile  Thu Sep 24 17:36:18 2015(r288179)
@@ -1,6 +1,11 @@
 # $FreeBSD$
 #  @(#)Makefile8.1 (Berkeley) 6/8/93
 
+# Only parse this if executing make in this directory, not in other places
+# in src that lack a Makefile, such as sys/dev/*.  Otherwise the MAKESYSPATH
+# will read this Makefile since it auto includes it into -I.
+.if ${.CURDIR} == ${.PARSEDIR}
+
 .include 
 
 FILES= \
@@ -63,3 +68,4 @@ FILES+=   tap.test.mk
 .endif
 
 .include 
+.endif # CURDIR == PARSEDIR
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288181 - head/contrib/elftoolchain/readelf

2015-09-24 Thread Ed Maste
Author: emaste
Date: Thu Sep 24 18:53:20 2015
New Revision: 288181
URL: https://svnweb.freebsd.org/changeset/base/288181

Log:
  readelf: Correct typo HPUS -> HPUX
  
  Submitted by: kib

Modified:
  head/contrib/elftoolchain/readelf/readelf.c

Modified: head/contrib/elftoolchain/readelf/readelf.c
==
--- head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 17:37:30 2015
(r288180)
+++ head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 18:53:20 2015
(r288181)
@@ -415,7 +415,7 @@ elf_osabi(unsigned int abi)
 
switch(abi) {
case ELFOSABI_SYSV: return "SYSV";
-   case ELFOSABI_HPUX: return "HPUS";
+   case ELFOSABI_HPUX: return "HPUX";
case ELFOSABI_NETBSD: return "NetBSD";
case ELFOSABI_GNU: return "GNU";
case ELFOSABI_HURD: return "HURD";
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287263 - head/sys/conf

2015-09-24 Thread Bryan Drewery
On 8/28/2015 9:29 AM, Warner Losh wrote:
> Author: imp
> Date: Fri Aug 28 16:29:38 2015
> New Revision: 287263
> URL: https://svnweb.freebsd.org/changeset/base/287263
> 
> Log:
>   Comment out cleaning files, since it cleans too much.
> 
> Modified:
>   head/sys/conf/kmod.mk
> 
> Modified: head/sys/conf/kmod.mk
> ==
> --- head/sys/conf/kmod.mk Fri Aug 28 16:23:03 2015(r287262)
> +++ head/sys/conf/kmod.mk Fri Aug 28 16:29:38 2015(r287263)
> @@ -361,7 +361,8 @@ _MPATH=${__MPATH:H:O:u}
>  .endif
>  .PATH.m: ${_MPATH}
>  .for _i in ${SRCS:M*_if.[ch]}
> -CLEANFILES+= ${_i}
> +#removes too much, comment out until it's more constrained.
> +#CLEANFILES+=${_i}
>  .endfor # _i
>  .m.c:${SYSDIR}/tools/makeobjops.awk
>   ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -c
> 

Rather than this should r285068 be reverted to restore CLEANFILES
handling of these generated files?

-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


svn commit: r288178 - head/sys/dev/iwn

2015-09-24 Thread Adrian Chadd
Author: adrian
Date: Thu Sep 24 17:23:41 2015
New Revision: 288178
URL: https://svnweb.freebsd.org/changeset/base/288178

Log:
  Fix up error path handling after the recent churn.
  
  * Don't free the mbuf in the tx path - it uses the transmit path now,
so the caller frees the mbuf.
  * Don't decrement the node ref upon error - that's up to the caller to
do as well.
  
  Tested:
  
  * Intel 5300 3x3 wifi, station mode
  
  Noticed by: 

Modified:
  head/sys/dev/iwn/if_iwn.c

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Thu Sep 24 16:56:44 2015(r288177)
+++ head/sys/dev/iwn/if_iwn.c   Thu Sep 24 17:23:41 2015(r288178)
@@ -4368,7 +4368,6 @@ iwn_tx_data(struct iwn_softc *sc, struct
struct ieee80211_tx_ampdu *tap = >ni_tx_ampdu[ac];
 
if (!IEEE80211_AMPDU_RUNNING(tap)) {
-   m_freem(m);
return EINVAL;
}
 
@@ -4420,7 +4419,6 @@ iwn_tx_data(struct iwn_softc *sc, struct
/* Retrieve key for TX. */
k = ieee80211_crypto_encap(ni, m);
if (k == NULL) {
-   m_freem(m);
return ENOBUFS;
}
/* 802.11 header may have moved. */
@@ -4551,7 +4549,6 @@ iwn_tx_data(struct iwn_softc *sc, struct
if (error != EFBIG) {
device_printf(sc->sc_dev,
"%s: can't map mbuf (error %d)\n", __func__, error);
-   m_freem(m);
return error;
}
/* Too many DMA segments, linearize mbuf. */
@@ -4559,7 +4556,6 @@ iwn_tx_data(struct iwn_softc *sc, struct
if (m1 == NULL) {
device_printf(sc->sc_dev,
"%s: could not defrag mbuf\n", __func__);
-   m_freem(m);
return ENOBUFS;
}
m = m1;
@@ -4569,7 +4565,6 @@ iwn_tx_data(struct iwn_softc *sc, struct
if (error != 0) {
device_printf(sc->sc_dev,
"%s: can't map mbuf (error %d)\n", __func__, error);
-   m_freem(m);
return error;
}
}
@@ -4755,7 +4750,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st
if (error != EFBIG) {
device_printf(sc->sc_dev,
"%s: can't map mbuf (error %d)\n", __func__, error);
-   m_freem(m);
return error;
}
/* Too many DMA segments, linearize mbuf. */
@@ -4763,7 +4757,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st
if (m1 == NULL) {
device_printf(sc->sc_dev,
"%s: could not defrag mbuf\n", __func__);
-   m_freem(m);
return ENOBUFS;
}
m = m1;
@@ -4773,7 +4766,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st
if (error != 0) {
device_printf(sc->sc_dev,
"%s: can't map mbuf (error %d)\n", __func__, error);
-   m_freem(m);
return error;
}
}
@@ -4869,6 +4861,9 @@ iwn_xmit_task(void *arg0, int pending)
IWN_UNLOCK(sc);
 }
 
+/*
+ * raw frame xmit - free node/reference if failed.
+ */
 static int
 iwn_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
 const struct ieee80211_bpf_params *params)
@@ -4931,6 +4926,9 @@ iwn_raw_xmit(struct ieee80211_node *ni, 
return error;
 }
 
+/*
+ * transmit - don't free mbuf if failed; don't free node ref if failed.
+ */
 static int
 iwn_transmit(struct ieee80211com *ic, struct mbuf *m)
 {
@@ -4938,6 +4936,8 @@ iwn_transmit(struct ieee80211com *ic, st
struct ieee80211_node *ni;
int error;
 
+   ni = (struct ieee80211_node *)m->m_pkthdr.rcvif;
+
IWN_LOCK(sc);
if ((sc->sc_flags & IWN_FLAG_RUNNING) == 0 || sc->sc_beacon_wait) {
IWN_UNLOCK(sc);
@@ -4949,11 +4949,9 @@ iwn_transmit(struct ieee80211com *ic, st
return (ENOBUFS);
}
 
-   ni = (struct ieee80211_node *)m->m_pkthdr.rcvif;
error = iwn_tx_data(sc, m, ni);
if (error) {
if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1);
-   ieee80211_free_node(ni);
} else
sc->sc_tx_timer = 5;
IWN_UNLOCK(sc);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288200 - in head/kerberos5: libexec/kdigest usr.bin/hxtool usr.bin/kadmin usr.bin/kcc usr.sbin/iprop-log

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Thu Sep 24 23:23:58 2015
New Revision: 288200
URL: https://svnweb.freebsd.org/changeset/base/288200

Log:
  Remove unneeded dependency of '.o: .h' that bsd.prog.mk already handles.
  
  MFC after:2 weeks
  X-MFC-With:   r288198
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/kerberos5/libexec/kdigest/Makefile
  head/kerberos5/usr.bin/hxtool/Makefile
  head/kerberos5/usr.bin/kadmin/Makefile
  head/kerberos5/usr.bin/kcc/Makefile
  head/kerberos5/usr.sbin/iprop-log/Makefile

Modified: head/kerberos5/libexec/kdigest/Makefile
==
--- head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:15:24 2015
(r288199)
+++ head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:23:58 2015
(r288200)
@@ -15,9 +15,7 @@ CLEANFILES=   kdigest-commands.h kdigest-c
 kdigest-commands.h: kdigest-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in c o
-kdigest-commands.${ext}: kdigest-commands.h
-.endfor
+kdigest-commands.c: kdigest-commands.h
 
 .include 
 

Modified: head/kerberos5/usr.bin/hxtool/Makefile
==
--- head/kerberos5/usr.bin/hxtool/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
+++ head/kerberos5/usr.bin/hxtool/Makefile  Thu Sep 24 23:23:58 2015
(r288200)
@@ -14,9 +14,7 @@ CLEANFILES=   hxtool-commands.h hxtool-com
 hxtool-commands.h: hxtool-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in c o
-hxtool-commands.${ext}: hxtool-commands.h
-.endfor
+hxtool-commands.c: hxtool-commands.h
 
 .include 
 

Modified: head/kerberos5/usr.bin/kadmin/Makefile
==
--- head/kerberos5/usr.bin/kadmin/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
+++ head/kerberos5/usr.bin/kadmin/Makefile  Thu Sep 24 23:23:58 2015
(r288200)
@@ -38,9 +38,7 @@ CLEANFILES=   kadmin-commands.h kadmin-com
 kadmin-commands.h: ${KRB5DIR}/kadmin/kadmin-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in o c
-kadmin-commands.${ext}: kadmin-commands.h
-.endfor
+kadmin-commands.c: kadmin-commands.h
 
 .PATH: ${KRB5DIR}/kadmin
 

Modified: head/kerberos5/usr.bin/kcc/Makefile
==
--- head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:15:24 2015
(r288199)
+++ head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:23:58 2015
(r288200)
@@ -21,9 +21,7 @@ CLEANFILES=   kcc-commands.h kcc-commands.
 kcc-commands.h: kcc-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in c o
-kcc-commands.${ext}: kcc-commands.h
-.endfor
+kcc-commands.c: kcc-commands.h
 
 .include 
 

Modified: head/kerberos5/usr.sbin/iprop-log/Makefile
==
--- head/kerberos5/usr.sbin/iprop-log/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
+++ head/kerberos5/usr.sbin/iprop-log/Makefile  Thu Sep 24 23:23:58 2015
(r288200)
@@ -16,9 +16,7 @@ CLEANFILES=   iprop-commands.h iprop-comma
 iprop-commands.h: iprop-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in c o
-iprop-commands.${ext}: iprop-commands.h
-.endfor
+iprop-commands.c: iprop-commands.h
 
 .include 
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287263 - head/sys/conf

2015-09-24 Thread Bryan Drewery
On 9/24/2015 2:23 PM, Warner Losh wrote:
> I don't think so. I'd like to fix this more properly. However, without this
> hack, anything in the tree that ends in _if.c or _if.h will get deleted,
> which is bad as you might imagine. There's two or three drivers that
> are built as modules that fit this pattern.
> 
> I really don't want to back out r258068. Having a list of all the places
> to look for _if.m files is really annoying...
> 

I'm really just reminding you. I have no strong opinion on this, just
that it appears to be new and unfinished.


-- 
Regards,
Bryan Drewery



signature.asc
Description: OpenPGP digital signature


Re: svn commit: r287934 - head/sys/boot/efi/loader

2015-09-24 Thread Warner Losh
That's the idea... When we load an 802.11 driver we'd need to then load
the other associated modules. The key is, which ones and how do the
special needs crowd do things other than the default.

Warner

On Thu, Sep 24, 2015 at 8:29 AM, Adrian Chadd 
wrote:

> ... I'm confused about the "load it by hand" stuff in net80211. Why
> don't we just do the kldload at that point?
>
>
> -a
>
>
> On 23 September 2015 at 21:06, Warner Losh  wrote:
> > You're right about the Wifi drivers. There's some number you'll want
> loaded
> > and we should have sensible defaults. But how to get there from here may
> > be a bit interesting...  Though if I go with the devd.conf writer early
> in
> > boot,
> > I can make them be rc.conf variable controlled.
> >
> > Warner
> >
> > On Wed, Sep 23, 2015 at 8:13 PM, Rui Paulo  wrote:
> >>
> >> Those were the issues that I encountered when I started using MINIMAL.
> >> I didn't do a thorough investigation.
> >>
> >> Auto loading is a much bigger problem that just loading drivers for
> >> PCI/USB/etc devices.  For example, net80211 doesn't auto load the wlan
> >> crypto modules by default nor the amrr module.
> >>
> >> On Mon, 2015-09-21 at 17:59 -0600, Warner Losh wrote:
> >> > Apart from the inlining issue John raised (which I agree with his
> >> > solution on, btw)
> >> > and the one cam ctl module, what other modules are meaningfully
> >> > different when
> >> > compiled as modules.
> >> >
> >> > Assume that the auto-loading bit is solved, at least for devices on
> >> > self-enumerating
> >> > busses.
> >> >
> >> > Warner
> >> >
> >> >
> >> > > On Sep 21, 2015, at 4:53 PM, Rui Paulo  wrote:
> >> > >
> >> > > No, that doesn't work very well.  Not only the modules don't auto
> >> > > -load, the way the modules are compiled is different.  See, for
> >> > > example, cam ctl which doesn't compile the sg code when it's built
> >> > > into the kernel, but compiles it when it's built as a module.  The
> >> > > sg code is currently buggy and causes insta-panics with GNOME 3
> >> > > (perhaps the auto-mounter in hald (?)).
> >> > > --
> >> > > Rui Paulo
> >> > >
> >> > >
> >> > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd 
> >> > > wrote:
> >> > >
> >> > > > Hi,
> >> > > >
> >> > > > Warner has been working on the modular kernel thing. But
> >> > > > honestly, I
> >> > > > think we should just start biting that bullet and ship a modules
> >> > > > -only
> >> > > > GENERIC by default..
> >> > > >
> >> > > >
> >> > > > -a
> >> > > >
> >> > > >
> >> > > > On 21 September 2015 at 11:02, Rui Paulo  wrote:
> >> > > > > So, we're going to keep ignoring the problem and keep patching
> >> > > > > things up?
> >> > > > > It's a bit sad that a single driver (pmspcv) is able to cause
> >> > > > > so much
> >> > > > > problems.
> >> > > > >
> >> > > > > --
> >> > > > > Rui Paulo
> >> > > > >
> >> > > > >
> >> > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin 
> >> > > > > wrote:
> >> > > > >
> >> > > > > Author: jhb
> >> > > > > Date: Thu Sep 17 20:36:46 2015
> >> > > > > New Revision: 287934
> >> > > > > URL: https://svnweb.freebsd.org/changeset/base/287934
> >> > > > >
> >> > > > >
> >> > > > > Log:
> >> > > > > The EFI boot loader allocates a single chunk of contiguous
> >> > > > > memory to
> >> > > > > hold the kernel, modules, and any other loaded data. This
> >> > > > > memory block
> >> > > > > is relocated to the kernel's expected location during the
> >> > > > > transfer of
> >> > > > > control from the loader to the kernel.
> >> > > > >
> >> > > > > The GENERIC kernel on amd64 has recently grown such that a
> >> > > > > kernel + zfs.ko
> >> > > > > no longer fits in the default staging size. Bump the default
> >> > > > > size from
> >> > > > > 32MB to 48MB to provide more breathing room.
> >> > > > >
> >> > > > > PR: 201679
> >> > > > > Reviewed by: imp
> >> > > > > MFC after: 1 week
> >> > > > > Differential Revision: https://reviews.freebsd.org/D3666
> >> > > > >
> >> > > > >
> >> > > > > Modified:
> >> > > > > head/sys/boot/efi/loader/copy.c
> >> > > > >
> >> > > > > Modified: head/sys/boot/efi/loader/copy.c
> >> > > > > ===
> >> > > > > ===
> >> > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015
> >> > > > > (r287933)
> >> > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015
> >> > > > > (r287934)
> >> > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
> >> > > > > #include 
> >> > > > >
> >> > > > > #ifndef EFI_STAGING_SIZE
> >> > > > > -#define EFI_STAGING_SIZE 32
> >> > > > > +#define EFI_STAGING_SIZE 48
> >> > > > > #endif
> >> > > > >
> >> > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096)
> >> > > > >
> >> >
> >>
> >> --
> >> Rui Paulo
> >>
> >
>
___
svn-src-head@freebsd.org mailing list

svn commit: r288198 - head/kerberos5/usr.sbin/ktutil

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Thu Sep 24 23:08:33 2015
New Revision: 288198
URL: https://svnweb.freebsd.org/changeset/base/288198

Log:
  Remove unneeded dependency line.
  
  bsd.prog.mk adds 'ktutil-commands.o: ktutil-commands.h' already.
  
  MFC after:2 weeks
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/kerberos5/usr.sbin/ktutil/Makefile

Modified: head/kerberos5/usr.sbin/ktutil/Makefile
==
--- head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 21:48:04 2015
(r288197)
+++ head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:08:33 2015
(r288198)
@@ -24,8 +24,6 @@ LIBADD=   kadm5clnt krb5 roken crypto edit
 ktutil-commands.h: ${KRB5DIR}/admin/ktutil-commands.in
${SLC} ${.ALLSRC:M*.in}
 
-.for ext in c o
-ktutil-commands.${ext}: ktutil-commands.h
-.endfor
+ktutil-commands.c: ktutil-commands.h
 
 .PATH: ${KRB5DIR}/admin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r287263 - head/sys/conf

2015-09-24 Thread Warner Losh
I don't think so. I'd like to fix this more properly. However, without this
hack, anything in the tree that ends in _if.c or _if.h will get deleted,
which is bad as you might imagine. There's two or three drivers that
are built as modules that fit this pattern.

I really don't want to back out r258068. Having a list of all the places
to look for _if.m files is really annoying...

Warner

On Thu, Sep 24, 2015 at 12:56 PM, Bryan Drewery 
wrote:

> On 8/28/2015 9:29 AM, Warner Losh wrote:
> > Author: imp
> > Date: Fri Aug 28 16:29:38 2015
> > New Revision: 287263
> > URL: https://svnweb.freebsd.org/changeset/base/287263
> >
> > Log:
> >   Comment out cleaning files, since it cleans too much.
> >
> > Modified:
> >   head/sys/conf/kmod.mk
> >
> > Modified: head/sys/conf/kmod.mk
> >
> ==
> > --- head/sys/conf/kmod.mk Fri Aug 28 16:23:03 2015(r287262)
> > +++ head/sys/conf/kmod.mk Fri Aug 28 16:29:38 2015(r287263)
> > @@ -361,7 +361,8 @@ _MPATH=${__MPATH:H:O:u}
> >  .endif
> >  .PATH.m: ${_MPATH}
> >  .for _i in ${SRCS:M*_if.[ch]}
> > -CLEANFILES+= ${_i}
> > +#removes too much, comment out until it's more constrained.
> > +#CLEANFILES+=${_i}
> >  .endfor # _i
> >  .m.c:${SYSDIR}/tools/makeobjops.awk
> >   ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -c
> >
>
> Rather than this should r285068 be reverted to restore CLEANFILES
> handling of these generated files?
>
> --
> Regards,
> Bryan Drewery
>
>
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288194 - in head: contrib/elftoolchain/elfdump contrib/elftoolchain/readelf usr.bin/elfdump

2015-09-24 Thread Ed Maste
Author: emaste
Date: Thu Sep 24 21:04:48 2015
New Revision: 288194
URL: https://svnweb.freebsd.org/changeset/base/288194

Log:
  Rename ELFOSABI_SYSV to ELFOSABI_NONE to match current spec
  
  Source: http://www.sco.com/developers/gabi/latest/ch4.eheader.html
  
  Reviewed by:  kib
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D3731

Modified:
  head/contrib/elftoolchain/elfdump/elfdump.c
  head/contrib/elftoolchain/readelf/readelf.c
  head/usr.bin/elfdump/elfdump.c

Modified: head/contrib/elftoolchain/elfdump/elfdump.c
==
--- head/contrib/elftoolchain/elfdump/elfdump.c Thu Sep 24 21:01:34 2015
(r288193)
+++ head/contrib/elftoolchain/elfdump/elfdump.c Thu Sep 24 21:04:48 2015
(r288194)
@@ -272,7 +272,7 @@ static const char *ei_data[] = {
 };
 
 static const char *ei_abis[] = {
-   "ELFOSABI_SYSV", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX",
+   "ELFOSABI_NONE", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX",
"ELFOSABI_HURD", "ELFOSABI_86OPEN", "ELFOSABI_SOLARIS",
"ELFOSABI_MONTEREY", "ELFOSABI_IRIX", "ELFOSABI_FREEBSD",
"ELFOSABI_TRU64", "ELFOSABI_MODESTO", "ELFOSABI_OPENBSD"

Modified: head/contrib/elftoolchain/readelf/readelf.c
==
--- head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 21:01:34 2015
(r288193)
+++ head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 21:04:48 2015
(r288194)
@@ -414,7 +414,7 @@ elf_osabi(unsigned int abi)
static char s_abi[32];
 
switch(abi) {
-   case ELFOSABI_SYSV: return "SYSV";
+   case ELFOSABI_NONE: return "NONE";
case ELFOSABI_HPUX: return "HPUX";
case ELFOSABI_NETBSD: return "NetBSD";
case ELFOSABI_GNU: return "GNU";

Modified: head/usr.bin/elfdump/elfdump.c
==
--- head/usr.bin/elfdump/elfdump.c  Thu Sep 24 21:01:34 2015
(r288193)
+++ head/usr.bin/elfdump/elfdump.c  Thu Sep 24 21:04:48 2015
(r288194)
@@ -296,7 +296,7 @@ static const char *ei_data[] = {
 };
 
 static const char *ei_abis[256] = {
-   "ELFOSABI_SYSV", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX",
+   "ELFOSABI_NONE", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX",
"ELFOSABI_HURD", "ELFOSABI_86OPEN", "ELFOSABI_SOLARIS", "ELFOSABI_AIX",
"ELFOSABI_IRIX", "ELFOSABI_FREEBSD", "ELFOSABI_TRU64",
"ELFOSABI_MODESTO", "ELFOSABI_OPENBSD",
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288199 - in head: gnu/usr.bin/binutils/libbfd kerberos5/libexec/kdigest kerberos5/usr.bin/hxtool kerberos5/usr.bin/kadmin kerberos5/usr.bin/kcc kerberos5/usr.sbin/iprop-log kerberos5/u...

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Thu Sep 24 23:15:24 2015
New Revision: 288199
URL: https://svnweb.freebsd.org/changeset/base/288199

Log:
  Add missing CLEANFILES.
  
  MFC after:1 week
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/gnu/usr.bin/binutils/libbfd/Makefile.i386
  head/kerberos5/libexec/kdigest/Makefile
  head/kerberos5/usr.bin/hxtool/Makefile
  head/kerberos5/usr.bin/kadmin/Makefile
  head/kerberos5/usr.bin/kcc/Makefile
  head/kerberos5/usr.sbin/iprop-log/Makefile
  head/kerberos5/usr.sbin/ktutil/Makefile
  head/lib/clang/include/Makefile
  head/lib/libc/tests/gen/posix_spawn/Makefile
  head/usr.bin/yacc/tests/Makefile
  head/usr.sbin/vigr/Makefile

Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.i386
==
--- head/gnu/usr.bin/binutils/libbfd/Makefile.i386  Thu Sep 24 23:08:33 
2015(r288198)
+++ head/gnu/usr.bin/binutils/libbfd/Makefile.i386  Thu Sep 24 23:15:24 
2015(r288199)
@@ -17,3 +17,5 @@ VECS= ${DEFAULT_VECTOR} \
 
 peigen.c: peXXigen.c
sed -e s/XX/pe/g ${.ALLSRC} > ${.TARGET}
+
+CLEANFILES+=   peigen.c

Modified: head/kerberos5/libexec/kdigest/Makefile
==
--- head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:15:24 2015
(r288199)
@@ -10,6 +10,8 @@ SRCS= kdigest.c \
kdigest-commands.c \
kdigest-commands.h
 
+CLEANFILES=kdigest-commands.h kdigest-commands.c
+
 kdigest-commands.h: kdigest-commands.in
${SLC} ${.ALLSRC:M*.in}
 

Modified: head/kerberos5/usr.bin/hxtool/Makefile
==
--- head/kerberos5/usr.bin/hxtool/Makefile  Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/usr.bin/hxtool/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
@@ -9,6 +9,8 @@ CFLAGS+=-I${KRB5DIR}/lib/hx509 \
 LIBADD=hx509 roken asn1 crypto sl vers edit
 SRCS=  hxtool.c hxtool-commands.c hxtool-commands.h
 
+CLEANFILES=hxtool-commands.h hxtool-commands.c
+
 hxtool-commands.h: hxtool-commands.in
${SLC} ${.ALLSRC:M*.in}
 

Modified: head/kerberos5/usr.bin/kadmin/Makefile
==
--- head/kerberos5/usr.bin/kadmin/Makefile  Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/usr.bin/kadmin/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
@@ -31,6 +31,8 @@ DPADD=${LDAPDPADD}
 LDADD= ${LDAPLDADD}
 LDFLAGS=${LDAPLDFLAGS}
 
+CLEANFILES=kadmin-commands.h kadmin-commands.c
+
 .include 
 
 kadmin-commands.h: ${KRB5DIR}/kadmin/kadmin-commands.in

Modified: head/kerberos5/usr.bin/kcc/Makefile
==
--- head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:15:24 2015
(r288199)
@@ -16,6 +16,8 @@ SRCS= kcc.c \
kswitch.c \
copy_cred_cache.c
 
+CLEANFILES=kcc-commands.h kcc-commands.c
+
 kcc-commands.h: kcc-commands.in
${SLC} ${.ALLSRC:M*.in}
 

Modified: head/kerberos5/usr.sbin/iprop-log/Makefile
==
--- head/kerberos5/usr.sbin/iprop-log/Makefile  Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/usr.sbin/iprop-log/Makefile  Thu Sep 24 23:15:24 2015
(r288199)
@@ -11,6 +11,8 @@ CFLAGS+=  -I${KRB5DIR}/lib/kadm5 \
 LIBADD=kadm5srv hdb krb5 roken edit sl vers
 LDFLAGS=${LDAPLDFLAGS}
 
+CLEANFILES=iprop-commands.h iprop-commands.c
+
 iprop-commands.h: iprop-commands.in
${SLC} ${.ALLSRC:M*.in}
 

Modified: head/kerberos5/usr.sbin/ktutil/Makefile
==
--- head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:08:33 2015
(r288198)
+++ head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:15:24 2015
(r288199)
@@ -19,6 +19,8 @@ SRCS= add.c \
 CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/sl -I.
 LIBADD=kadm5clnt krb5 roken crypto edit sl vers
 
+CLEANFILES=ktutil-commands.h ktutil-commands.c
+
 .include 
 
 ktutil-commands.h: ${KRB5DIR}/admin/ktutil-commands.in

Modified: head/lib/clang/include/Makefile
==
--- head/lib/clang/include/Makefile Thu Sep 24 23:08:33 2015
(r288198)
+++ head/lib/clang/include/Makefile Thu Sep 24 23:15:24 2015
(r288199)
@@ -54,7 +54,7 @@ INCS= __stddef_max_align_t.h \
xopintrin.h \
${GENINCS}
 GENINCS= arm_neon.h
-CLEANFILES= ${GENINCS}
+CLEANFILES= ${GENINCS} ${GENINCS:C/\.h$/.d/}
 
 # avoid a circular dependency
 GENDIRDEPS_FILTER+= 

svn commit: r288201 - head/share/mk

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Fri Sep 25 00:07:31 2015
New Revision: 288201
URL: https://svnweb.freebsd.org/changeset/base/288201

Log:
  Don't recurse with cleanobj.
  
  bsd.obj.mk handles the needs fine.  When an objdir exists it will
  just rm -Rf the objdir.  When it does not exist though it will
  call 'clean' and 'cleandepend', which properly recurse in bsd.progs.mk.
  
  MFC after:2 weeks
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.progs.mk

Modified: head/share/mk/bsd.progs.mk
==
--- head/share/mk/bsd.progs.mk  Thu Sep 24 23:23:58 2015(r288200)
+++ head/share/mk/bsd.progs.mk  Fri Sep 25 00:07:31 2015(r288201)
@@ -84,7 +84,7 @@ $v =
 
 .if !empty(PROGS) && !defined(_RECURSING_PROGS)
 # tell progs.mk we might want to install things
-PROGS_TARGETS+= checkdpadd clean cleandepend cleandir cleanobj depend install
+PROGS_TARGETS+= checkdpadd clean cleandepend cleandir depend install
 
 .for p in ${PROGS}
 .if defined(PROGS_CXX) && !empty(PROGS_CXX:M$p)
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288176 - in head: . etc/mtree share/man/man7 sys/conf

2015-09-24 Thread Ed Maste
Author: emaste
Date: Thu Sep 24 16:55:22 2015
New Revision: 288176
URL: https://svnweb.freebsd.org/changeset/base/288176

Log:
  Install kernel debug data under /usr/lib/debug
  
  This avoids needing a large boot partition / file system in order to
  accommodate multiple kernels, and provides consistency with userland
  debug. This also simplifies the process of moving kernel debug files
  to a separate package and installing them on demand.
  
  In addition, change kernel debug file extension to .debug, to match
  userland debug files.
  
  When using the supported kernel installation method the
  /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old)
  as is done with /boot/kernel.
  
  Developers wishing to maintain the historical behavior of installing
  debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5).
  
  Reviewed by:  bdrewery, brooks, imp, markj
  Relnotes: yes
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D1006

Modified:
  head/UPDATING
  head/etc/mtree/BSD.debug.dist
  head/share/man/man7/hier.7
  head/sys/conf/kern.post.mk
  head/sys/conf/kmod.mk

Modified: head/UPDATING
==
--- head/UPDATING   Thu Sep 24 15:59:08 2015(r288175)
+++ head/UPDATING   Thu Sep 24 16:55:22 2015(r288176)
@@ -31,6 +31,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20150925:
+   Kernel debug files have been moved to /usr/lib/debug/boot/kernel/,
+   and renamed from .symbols to .debug. This reduces the size requirements
+   on the boot partition or file system and provides consistency with
+   userland debug files.
+
+   When using the supported kernel installation method the
+   /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old)
+   as is done with /boot/kernel.
+
+   Developers wishing to maintain the historical behavior of installing
+   debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5).
+
 20150827:
The wireless drivers had undergone changes that remove the 'parent
interface' from the ifconfig -l output. The rc.d network scripts

Modified: head/etc/mtree/BSD.debug.dist
==
--- head/etc/mtree/BSD.debug.dist   Thu Sep 24 15:59:08 2015
(r288175)
+++ head/etc/mtree/BSD.debug.dist   Thu Sep 24 16:55:22 2015
(r288176)
@@ -9,6 +9,8 @@
 bin
 ..
 boot
+kernel
+..
 ..
 lib
 geom

Modified: head/share/man/man7/hier.7
==
--- head/share/man/man7/hier.7  Thu Sep 24 15:59:08 2015(r288175)
+++ head/share/man/man7/hier.7  Thu Sep 24 16:55:22 2015(r288176)
@@ -383,7 +383,7 @@ shared libraries for compatibility
 a.out backward compatibility libraries
 .El
 .It Pa debug/
-standalone debug data for the base system libraries and binaries
+standalone debug data for the kernel and base system libraries and binaries
 .It Pa dtrace/
 DTrace library scripts
 .It Pa engines/

Modified: head/sys/conf/kern.post.mk
==
--- head/sys/conf/kern.post.mk  Thu Sep 24 15:59:08 2015(r288175)
+++ head/sys/conf/kern.post.mk  Thu Sep 24 16:55:22 2015(r288176)
@@ -23,6 +23,11 @@ MKMODULESENV+=   CONF_CFLAGS="${CONF_CFLAG
 MKMODULESENV+= WITH_CTF="${WITH_CTF}"
 .endif
 
+# Allow overriding the kernel debug directory, so kernel and user debug may be
+# installed in different directories. Setting it to "" restores the historical
+# behavior of installing debug files in the kernel directory.
+KERN_DEBUGDIR?=${DEBUGDIR}
+
 .MAIN: all
 
 .for target in all clean cleandepend cleandir clobber depend install \
@@ -101,11 +106,11 @@ modules-all modules-depend: modules-obj
 .if !defined(DEBUG)
 FULLKERNEL=${KERNEL_KO}
 .else
-FULLKERNEL=${KERNEL_KO}.debug
-${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.symbols
-   ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.symbols\
+FULLKERNEL=${KERNEL_KO}.full
+${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.debug
+   ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.debug \
${FULLKERNEL} ${.TARGET}
-${KERNEL_KO}.symbols: ${FULLKERNEL}
+${KERNEL_KO}.debug: ${FULLKERNEL}
${OBJCOPY} --only-keep-debug ${FULLKERNEL} ${.TARGET}
 install.debug reinstall.debug: gdbinit
cd ${.CURDIR}; ${MAKE} ${.TARGET:R}
@@ -151,7 +156,7 @@ ${mfile:T:S/.m$/.h/}: ${mfile}
 
 kernel-clean:
rm -f *.o *.so *.So *.ko *.s eddep errs \
-   ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.symbols \
+   ${FULLKERNEL} ${KERNEL_KO} 

svn commit: r288177 - head

2015-09-24 Thread Ed Maste
Author: emaste
Date: Thu Sep 24 16:56:44 2015
New Revision: 288177
URL: https://svnweb.freebsd.org/changeset/base/288177

Log:
  Correct UPDATING entry date

Modified:
  head/UPDATING

Modified: head/UPDATING
==
--- head/UPDATING   Thu Sep 24 16:55:22 2015(r288176)
+++ head/UPDATING   Thu Sep 24 16:56:44 2015(r288177)
@@ -31,7 +31,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
-20150925:
+20150924:
Kernel debug files have been moved to /usr/lib/debug/boot/kernel/,
and renamed from .symbols to .debug. This reduces the size requirements
on the boot partition or file system and provides consistency with
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288210 - head/share/mk

2015-09-24 Thread Bryan Drewery
Author: bdrewery
Date: Fri Sep 25 05:15:27 2015
New Revision: 288210
URL: https://svnweb.freebsd.org/changeset/base/288210

Log:
  META_MODE: Fix staging not respecting _DIR overrides.
  
  This fixes atf-c.h not properly being installed to /usr/include/ (in
  the stagedir) via its override of 'INCSDIR_atf-c.h= ${INCLUDEDIR}'.
  
  This fixes building things that depend on atf.
  
  Staging seems to ignore OWN/GRP/MODE settings and needs further exploration.
  
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/share/mk/bsd.files.mk
  head/share/mk/bsd.incs.mk

Modified: head/share/mk/bsd.files.mk
==
--- head/share/mk/bsd.files.mk  Fri Sep 25 03:54:10 2015(r288209)
+++ head/share/mk/bsd.files.mk  Fri Sep 25 05:15:27 2015(r288210)
@@ -47,10 +47,12 @@ ${group}NAME_${file:T}?=${${group}NAME}
 ${group}NAME_${file:T}?=   ${file:T}
 .endif
 .if !make(buildincludes)
-STAGE_AS_SETS+=${group}
+STAGE_AS_SETS+=${file:T}
 .endif
 STAGE_AS_${file:T}= ${${group}NAME_${file:T}}
-stage_as.${group}: ${file}
+# XXX {group}OWN,GRP,MODE
+STAGE_DIR.${file:T}= ${STAGE_OBJTOP}${${group}DIR_${file:T}}
+stage_as.${file:T}: ${file}
 
 installfiles-${group}: _${group}INS_${file:T}
 _${group}INS_${file:T}: ${file}

Modified: head/share/mk/bsd.incs.mk
==
--- head/share/mk/bsd.incs.mk   Fri Sep 25 03:54:10 2015(r288209)
+++ head/share/mk/bsd.incs.mk   Fri Sep 25 05:15:27 2015(r288210)
@@ -42,10 +42,12 @@ ${group}NAME_${header:T}?=  ${${group}NAM
 .else
 ${group}NAME_${header:T}?= ${header:T}
 .endif
-STAGE_AS_SETS+= ${group}
+STAGE_AS_SETS+= ${header:T}
 STAGE_AS_${header:T}= ${${group}NAME_${header:T}}
-stage_as.${group}: ${header}
-stage_includes: stage_as.${group}
+# XXX {group}OWN,GRP,MODE
+STAGE_DIR.${header:T}= ${STAGE_OBJTOP}${${group}DIR_${header:T}}
+stage_as.${header:T}: ${header}
+stage_includes: stage_as.${header:T}
 
 installincludes: _${group}INS_${header:T}
 _${group}INS_${header:T}: ${header}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288180 - in head: share/man/man4 sys/dev/usb/quirk

2015-09-24 Thread Hans Petter Selasky
Author: hselasky
Date: Thu Sep 24 17:37:30 2015
New Revision: 288180
URL: https://svnweb.freebsd.org/changeset/base/288180

Log:
  Implement support for reading USB quirks from the kernel environment.
  Refer to the usb_quirk(4) manual page for more details on how to use
  this new feature.
  
  Submitted by: Maxime Soule 
  PR:   203249
  MFC after:2 weeks

Modified:
  head/share/man/man4/usb_quirk.4
  head/sys/dev/usb/quirk/usb_quirk.c

Modified: head/share/man/man4/usb_quirk.4
==
--- head/share/man/man4/usb_quirk.4 Thu Sep 24 17:36:18 2015
(r288179)
+++ head/share/man/man4/usb_quirk.4 Thu Sep 24 17:37:30 2015
(r288180)
@@ -16,7 +16,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 7, 2015
+.Dd September 24, 2015
 .Dt USB_QUIRK 4
 .Os
 .Sh NAME
@@ -177,7 +177,53 @@ ejects after HID command
 .Pp
 See
 .Pa /sys/dev/usb/quirk/usb_quirk.h
-for the complete list of supported quirks.
+or run "usbconfig dump_quirk_names" for the complete list of supported quirks.
+.Sh LOADER TUNABLE
+The following tunable can be set at the
+.Xr loader 8
+prompt before booting the kernel, or stored in
+.Xr loader.conf 5 .
+.Bl -tag -width indent
+.It Va hw.usb.quirk.%d
+The value is a string whose format is:
+.Bd -literal -offset indent
+.Qo VendorId ProductId LowRevision HighRevision UQ_QUIRK,... Qc
+.Ed
+.Pp
+Installs the quirks
+.Ic UQ_QUIRK,...
+for all USB devices matching
+.Ic VendorId ,
+.Ic ProductId
+and has a hardware revision between and including
+.Ic LowRevision
+and
+.Ic HighRevision .
+.Pp
+.Ic VendorId ,
+.Ic ProductId ,
+.Ic LowRevision
+and
+.Ic HighRevision
+are all 16 bits numbers which can be decimal or hexadecimal based.
+.Pp
+A maximum of 100 variables
+.Ic hw.usb.quirk.0, .1, ..., .99
+can be defined.
+.Pp
+If a matching entry is found in the kernel's internal quirks table, it
+is replaced by the new definition.
+.Pp
+Else a new entry is created given that the quirk table is not full.
+.Pp
+The kernel iterates over the
+.Ic hw.usb.quirk.N
+variables starting at
+.Ic N = 0
+and stops at
+.Ic N = 99
+or the first non-existing one.
+.El
 .Sh EXAMPLES
 After attaching a
 .Nm u3g
@@ -186,6 +232,13 @@ device which appears as a USB device on
 .Bd -literal -offset indent
 usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT
 .Ed
+.Pp
+To install a quirk at boot time, place one or several lines like the
+following in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+hw.usb.quirk.0="0x04d9 0xfa50 0 0x UQ_KBD_IGNORE"
+.Ed
 .Sh SEE ALSO
 .Xr usbconfig 8
 .Sh HISTORY

Modified: head/sys/dev/usb/quirk/usb_quirk.c
==
--- head/sys/dev/usb/quirk/usb_quirk.c  Thu Sep 24 17:36:18 2015
(r288179)
+++ head/sys/dev/usb/quirk/usb_quirk.c  Thu Sep 24 17:37:30 2015
(r288180)
@@ -61,6 +61,7 @@ MODULE_VERSION(usb_quirk, 1);
 
 #defineUSB_DEV_QUIRKS_MAX 384
 #defineUSB_SUB_QUIRKS_MAX 8
+#defineUSB_QUIRK_ENVROOT "hw.usb.quirk."
 
 struct usb_quirk_entry {
uint16_t vid;
@@ -608,8 +609,32 @@ static const char *usb_quirk_str[USB_QUI
 static const char *
 usb_quirkstr(uint16_t quirk)
 {
-   return ((quirk < USB_QUIRK_MAX) ?
-   usb_quirk_str[quirk] : "USB_QUIRK_UNKNOWN");
+   return ((quirk < USB_QUIRK_MAX && usb_quirk_str[quirk] != NULL) ?
+   usb_quirk_str[quirk] : "UQ_UNKNOWN");
+}
+
+/**
+ * usb_strquirk
+ *
+ * This function converts a string into a USB quirk code.
+ *
+ * Returns:
+ * Less than USB_QUIRK_MAX: Quirk code
+ * Else: Quirk code not found
+ **/
+static uint16_t
+usb_strquirk(const char *str, size_t len)
+{
+   const char *quirk;
+   uint16_t x;
+
+   for (x = 0; x != USB_QUIRK_MAX; x++) {
+   quirk = usb_quirkstr(x);
+   if (strncmp(str, quirk, len) == 0 &&
+   quirk[len] == 0)
+   break;
+   }
+   return (x);
 }
 
 /**
@@ -854,12 +879,122 @@ usb_quirk_ioctl(unsigned long cmd, caddr
return (ENOIOCTL);
 }
 
+/**
+ * usb_quirk_strtou16
+ *
+ * Helper function to scan a 16-bit integer.
+ **/
+static uint16_t
+usb_quirk_strtou16(const char **pptr, const char *name, const char *what)
+{
+   unsigned long value;
+   char *end;
+
+   value = strtoul(*pptr, , 0);
+   if (value > 65535 || *pptr == end || (*end != ' ' && *end != '\t')) {
+   printf("%s: %s 16-bit %s value set to zero\n",
+   name, what, *end == 0 ? "incomplete" : "invalid");
+   return (0);

svn commit: r288208 - head/usr.sbin/ctld

2015-09-24 Thread Josh Paetzel
Author: jpaetzel
Date: Fri Sep 25 03:46:06 2015
New Revision: 288208
URL: https://svnweb.freebsd.org/changeset/base/288208

Log:
  Fix typo.
  
  Sponsored by: iXsystems

Modified:
  head/usr.sbin/ctld/ctld.c

Modified: head/usr.sbin/ctld/ctld.c
==
--- head/usr.sbin/ctld/ctld.c   Fri Sep 25 02:52:54 2015(r288207)
+++ head/usr.sbin/ctld/ctld.c   Fri Sep 25 03:46:06 2015(r288208)
@@ -1149,7 +1149,7 @@ valid_iscsi_name(const char *name)
}
} else {
log_warnx("invalid target name \"%s\"; should start with "
-   "either \".iqn\", \"eui.\", or \"naa.\"",
+   "either \"iqn.\", \"eui.\", or \"naa.\"",
name);
}
return (true);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288203 - head

2015-09-24 Thread Ed Maste
Author: emaste
Date: Fri Sep 25 00:30:53 2015
New Revision: 288203
URL: https://svnweb.freebsd.org/changeset/base/288203

Log:
  Remove EOL whitespace from Makefile.inc1

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Fri Sep 25 00:23:36 2015(r288202)
+++ head/Makefile.inc1  Fri Sep 25 00:30:53 2015(r288203)
@@ -267,7 +267,7 @@ BMAKE=  MAKEOBJDIRPREFIX=${WORLDTMP} \
-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
MK_LLDB=no MK_TESTS=no \
-   MK_INCLUDES=yes 
+   MK_INCLUDES=yes
 
 # build-tools stage
 TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \
@@ -1255,7 +1255,7 @@ update:
 
 # ELF Tool Chain libraries are needed for ELF tools and dtrace tools.
 .if ${BOOTSTRAPPING} < 116
-_elftoolchain_libs= lib/libelf lib/libdwarf 
+_elftoolchain_libs= lib/libelf lib/libdwarf
 .endif
 
 legacy:
@@ -1279,7 +1279,7 @@ legacy:
 # binaries is usually quite narrow. Bootstrap tools use the host's compiler and
 # libraries, augmented by -legacy.
 #
-_bt=   _bootstrap-tools
+_bt=   _bootstrap-tools
 
 .if ${MK_GAMES} != "no"
 _strfile=  games/fortune/strfile
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r288204 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys

2015-09-24 Thread Xin LI
Author: delphij
Date: Fri Sep 25 01:05:44 2015
New Revision: 288204
URL: https://svnweb.freebsd.org/changeset/base/288204

Log:
  MFV r288063: make dataset property de-registration operation O(1)
  
  A change to a property on a dataset must be propagated to its descendants
  in case that property is inherited. For datasets whose information is
  not currently loaded into memory (e.g. a snapshot that isn't currently
  mounted), there is nothing to do; the property change will take effect
  the next time that dataset is loaded. To handle updates to datasets that
  are in-core, ZFS registers a callback entry for each property of each
  loaded dataset with the dsl directory that holds that dataset. There
  is a dsl directory associated with each live dataset that references
  both the live dataset and any snapshots of the live dataset. A property
  change is effected by doing a traversal of the tree of dsl directories
  for a pool, starting at the directory sourcing the change, and invoking
  these callbacks.
  
  The current implementation both registers and de-registers properties
  individually for each loaded dataset. While registration for a property is
  O(1) (insert into a list), de-registration is O(n) (search list and then
  remove). The 'n' for de-registration, however, is not limited to the size
  (number of snapshots + 1) of the dsl directory. The eviction portion
  of the life cycle for the in core state of datasets is asynchronous,
  which allows multiple copies of the dataset information to be in-core
  at once. Only one of these copies is active at any time with the rest
  going through tear down processing, but all copies contribute to the
  cost of performing a dsl_prop_unregister().
  
  One way to create multiple, in-flight copies of dataset information
  is by performing "zfs list" operations from multiple threads
  concurrently. In-core dataset information is loaded on demand and then
  evicted when reference counts drops to zero. For datasets that are not
  mounted, there is no persistent reference count to keep them resident.
  So, a list operation will load them, compute the information required to
  do the list operation, and then evict them. When performing this operation
  from multiple threads it is possible that some of the in-core dataset
  information will be reused, but also possible to lose the race and load
  the dataset again, even while the same information is being torn down.
  
  Compounding the performance issue further is a change made for illumos
  issue 5056 which made dataset eviction single threaded. In environments
  using automation to manage ZFS datasets, it is now possible to create
  enough of a backlog of dataset evictions to consume excessive amounts
  of kernel memory and to bog down the system.
  
  The fix employed here is to make property de-registration O(1). With this
  change in place, it is hoped that a single thread is more than sufficient
  to handle eviction processing. If it isn't, the problem can be solved
  by increasing the number of threads devoted to the eviction taskq.
  
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h:
  Associate dsl property callback records with both the
  dsl directory and the dsl dataset that is registering the
  callback. Both connections are protected by the dsl directory's
  "dd_lock".
  
  When linking callbacks into a dsl directory, group them by
  the property type. This helps reduce the space penalty for the
  double association (the property name pointer is stored once
  per dsl_dir instead of in each record) and reduces the number of
  strcmp() calls required to do callback processing when updating
  a single property. Property types are stored in a linked list
  since currently ZFS registers a maximum of 10 property types
  for each dataset.
  
  Note that the property buckets/records associated with a dsl
  directory are created on demand, but only freed when the dsl
  directory is freed. Given the static nature of property types
  and their small number, there is no benefit to freeing the few
  bytes of memory used to represent the property record earlier.
  When a property record becomes empty, the dsl directory is either
  going to become unreferenced a little later in this thread of
  execution, or there is a high chance that another dataset is
  going to be loaded that would recreate the bucket anyway.
  
  Replace dsl_prop_unregister() with dsl_prop_unregister_all().
  All callers of dsl_prop_unregister() are trying to remove
  all property registrations for a given dsl dataset 

svn commit: r288207 - head/share/vt/fonts

2015-09-24 Thread Ed Maste
Author: emaste
Date: Fri Sep 25 02:52:54 2015
New Revision: 288207
URL: https://svnweb.freebsd.org/changeset/base/288207

Log:
  Add double size 16x32 VGA ROM font
  
  This was created from vgarom-8x16.hex, and should be useful for higher
  resolution displays.
  
  Sponsored by: The FreeBSD Foundation

Added:
  head/share/vt/fonts/vgarom-16x32.hex   (contents, props changed)
Modified:
  head/share/vt/fonts/Makefile

Modified: head/share/vt/fonts/Makefile
==
--- head/share/vt/fonts/MakefileFri Sep 25 01:17:52 2015
(r288206)
+++ head/share/vt/fonts/MakefileFri Sep 25 02:52:54 2015
(r288207)
@@ -4,6 +4,7 @@ FILES=  gallant.fnt \
vgarom-8x8.fnt \
vgarom-8x14.fnt \
vgarom-8x16.fnt \
+   vgarom-16x32.fnt \
vgarom-thin-8x8.fnt \
vgarom-thin-8x16.fnt
 

Added: head/share/vt/fonts/vgarom-16x32.hex
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/vt/fonts/vgarom-16x32.hexFri Sep 25 02:52:54 2015
(r288207)
@@ -0,0 +1,587 @@
+# $FreeBSD$
+# Height: 32
+# Width: 16
+:
+0020:
+0021:03C003C00FF00FF00FF00FF00FF00FF003C003C003C003C003C003C003C003C003C003C0
+0022:3C3C3C3C3C3C3C3C3C3C3C3C0C300C30
+0023:3CF03CF03CF03CF0FFFCFFFC3CF03CF03CF03CF03CF03CF0FFFCFFFC3CF03CF03CF03CF0
+0024:03C003C003C003C03FF03FF0F03CF03CF00CF00CF000F0003FF03FF0003C003C003C003CC03CC03CF03CF03C3FF03FF003C003C003C003C0
+0025:F00CF00CF03CF03C00F000F003C003C00F000F003C003C00F03CF03CC03CC03C
+0026:0FC00FC03CF03CF03CF03CF00FC00FC03F3C3F3CF3F0F3F0F0F0F0F0F0F0F0F0F0F0F0F03F3C3F3C
+0027:0F000F000F000F000F000F003C003C00
+0028:00F000F003C003C00F000F000F000F000F000F000F000F000F000F000F000F0003C003C000F000F0
+0029:0F000F0003C003C000F000F000F000F000F000F000F000F000F000F000F000F003C003C00F000F00
+002A:3C3C3C3C0FF00FF00FF00FF03C3C3C3C
+002B:03C003C003C003C03FFC3FFC03C003C003C003C0
+002C:03C003C003C003C003C003C00F000F00
+002D:FFFCFFFC
+002E:03C003C003C003C0
+002F:000C000C003C003C00F000F003C003C00F000F003C003C00F000F000C000C000
+0030:0FC00FC03CF03CF0F03CF03CF03CF03CF33CF33CF33CF33CF03CF03CF03CF03C3CF03CF00FC00FC0
+0031:03C003C00FC00FC03FC03FC003C003C003C003C003C003C003C003C003C003C003C003C03FFC3FFC
+0032:3FF03FF0F03CF03C003C003C00F000F003C003C00F000F003C003C00F000F000F03CF03CFFFCFFFC
+0033:3FF03FF0F03CF03C003C003C003C003C0FF00FF0003C003C003C003C003C003CF03CF03C3FF03FF0
+0034:00F000F003F003F00FF00FF03CF03CF0F0F0F0F0FFFCFFFC00F000F000F000F000F000F003FC03FC
+0035:FFFCFFFCF000F000F000F000F000F000FFF0FFF0003C003C003C003C003C003CF03CF03C3FF03FF0
+0036:0FC00FC03C003C00F000F000F000F000FFF0FFF0F03CF03CF03CF03CF03CF03CF03CF03C3FF03FF0
+0037:FFFCFFFCF03CF03C003C003C003C003C00F000F003C003C00F000F000F000F000F000F000F000F00
+0038:3FF03FF0F03CF03CF03CF03CF03CF03C3FF03FF0F03CF03CF03CF03CF03CF03CF03CF03C3FF03FF0
+0039:3FF03FF0F03CF03CF03CF03CF03CF03C3FFC3FFC003C003C003C003C003C003C00F000F03FC03FC0