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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 05:45:11 2013
New Revision: 258833
URL: http://svnweb.freebsd.org/changeset/base/258833

Log:
  * Sort the copyright lines by date
  * Ok ok, I've touched this enough to claim part of it.

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

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 05:43:23 2013(r258832)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 05:45:11 2013(r258833)
@@ -1,11 +1,10 @@
 /*-
- * Copyright (c) 2013 Cedric GROSS 
- * Copyright (c) 2011 Intel Corporation
- * Copyright (c) 2007-2009
- * Damien Bergamini 
- * Copyright (c) 2008
- * Benjamin Close 
+ * Copyright (c) 2007-2009 Damien Bergamini 
+ * Copyright (c) 2008 Benjamin Close 
  * Copyright (c) 2008 Sam Leffler, Errno Consulting
+ * Copyright (c) 2011 Intel Corporation
+ * Copyright (c) 2013 Cedric GROSS 
+ * Copyright (c) 2013 Adrian Chadd 
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258830 - head/sys/dev/bge

2013-12-01 Thread Pyun YongHyeon
Author: yongari
Date: Mon Dec  2 05:21:54 2013
New Revision: 258830
URL: http://svnweb.freebsd.org/changeset/base/258830

Log:
  Add support for BCM57764, BCM57767, BCM57782, BCM57786 and BCM57787.
  Submitted by: jhb
  PR:   184304

Modified:
  head/sys/dev/bge/if_bge.c
  head/sys/dev/bge/if_bgereg.h

Modified: head/sys/dev/bge/if_bge.c
==
--- head/sys/dev/bge/if_bge.c   Mon Dec  2 03:59:45 2013(r258829)
+++ head/sys/dev/bge/if_bge.c   Mon Dec  2 05:21:54 2013(r258830)
@@ -221,11 +221,16 @@ static const struct bge_type {
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57760 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57761 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57762 },
+   { BCOM_VENDORID,BCOM_DEVICEID_BCM57764 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57765 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57766 },
+   { BCOM_VENDORID,BCOM_DEVICEID_BCM57767 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57780 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57781 },
+   { BCOM_VENDORID,BCOM_DEVICEID_BCM57782 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57785 },
+   { BCOM_VENDORID,BCOM_DEVICEID_BCM57786 },
+   { BCOM_VENDORID,BCOM_DEVICEID_BCM57787 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57788 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57790 },
{ BCOM_VENDORID,BCOM_DEVICEID_BCM57791 },
@@ -2694,6 +2699,9 @@ bge_chipid(device_t dev)
case BCOM_DEVICEID_BCM5725:
case BCOM_DEVICEID_BCM5727:
case BCOM_DEVICEID_BCM5762:
+   case BCOM_DEVICEID_BCM57764:
+   case BCOM_DEVICEID_BCM57767:
+   case BCOM_DEVICEID_BCM57787:
id = pci_read_config(dev,
BGE_PCI_GEN2_PRODID_ASICREV, 4);
break;
@@ -2702,7 +2710,9 @@ bge_chipid(device_t dev)
case BCOM_DEVICEID_BCM57765:
case BCOM_DEVICEID_BCM57766:
case BCOM_DEVICEID_BCM57781:
+   case BCOM_DEVICEID_BCM57782:
case BCOM_DEVICEID_BCM57785:
+   case BCOM_DEVICEID_BCM57786:
case BCOM_DEVICEID_BCM57791:
case BCOM_DEVICEID_BCM57795:
id = pci_read_config(dev,

Modified: head/sys/dev/bge/if_bgereg.h
==
--- head/sys/dev/bge/if_bgereg.hMon Dec  2 03:59:45 2013
(r258829)
+++ head/sys/dev/bge/if_bgereg.hMon Dec  2 05:21:54 2013
(r258830)
@@ -2503,11 +2503,16 @@ struct bge_status_block {
 #defineBCOM_DEVICEID_BCM57760  0x1690
 #defineBCOM_DEVICEID_BCM57761  0x16B0
 #defineBCOM_DEVICEID_BCM57762  0x1682
+#defineBCOM_DEVICEID_BCM57764  0x1642
 #defineBCOM_DEVICEID_BCM57765  0x16B4
 #defineBCOM_DEVICEID_BCM57766  0x1686
+#defineBCOM_DEVICEID_BCM57767  0x1683
 #defineBCOM_DEVICEID_BCM57780  0x1692
 #defineBCOM_DEVICEID_BCM57781  0x16B1
+#defineBCOM_DEVICEID_BCM57782  0x16B7
 #defineBCOM_DEVICEID_BCM57785  0x16B5
+#defineBCOM_DEVICEID_BCM57786  0x16B3
+#defineBCOM_DEVICEID_BCM57787  0x1641
 #defineBCOM_DEVICEID_BCM57788  0x1691
 #defineBCOM_DEVICEID_BCM57790  0x1694
 #defineBCOM_DEVICEID_BCM57791  0x16B2
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 03:59:45 2013
New Revision: 258829
URL: http://svnweb.freebsd.org/changeset/base/258829

Log:
  Overhaul the iwn(4) scan infrastructure to be slightly more "correct"
  for these chipsets.
  
  * Correctly set the active/passive flag in the scan request - this is
NOT a "is the channel active|passive"; it's to do with whether we
have an SSID to actively scan for or not.  The firmware takes care
of the active/passive setup of the channel.
  
  * Calculate the active/passive dwell time based on the beacon interval
and the channel mode, rather than using a hard coded value.
  
  * For now, hardcode the scan service_time.  It's defined as:
  
31:22 - number of beacon intervals to come back onto the home channel
for;
0:21  - time (microseconds) to come back onto the home channel for.
  
When doing an active scan when the NIC is active (whether we're associated
or not - it only matters if we've setup the NIC to a destination or not)
this determines how much time to stay on the home channel for when
scanning.  We can tune this based on the amount of active traffic.
  
For now it's 4 beacon intervals and 100 microseconds.
  
  * Fix the "good crc threshold" setting.  It differs based on the NIC
firmware.  Some older firmware required a workaround; the later
firmware instead treats the field as a flag.
  
  * Enforce that we are not sending a scan command if one is already
pending.  Any time this is done is a bug and it absolutely needs
to be fixed - so be very loud.
  
  * Add the SCAN flag to a few debug messages that are scan related but
only occuring under STATE.
  
  Now, this does get noisy when you're scanning in an actively busy 2GHz
  network as the firmware (for reason I don't quite yet understand) seems
  hell bent on staying on some passive channels longer than it should.
  However, it should eventually recover and complete the scan.
  
  This is a work in progress; please let me know if things get stuck or
  if things improve!
  
  Tested:
  
  * intel centrino 2200
  * intel centrino 2230
  * intel 6200
  * intel 5100
  * intel 4965 (gets upset, but that's a known issue)
  
  Obtained from:linux iwlwifi

Modified:
  head/sys/dev/iwn/if_iwn.c
  head/sys/dev/iwn/if_iwnreg.h
  head/sys/dev/iwn/if_iwnvar.h

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:52:40 2013(r258828)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:59:45 2013(r258829)
@@ -3608,7 +3608,8 @@ iwn_notif_intr(struct iwn_softc *sc)
BUS_DMASYNC_POSTREAD);
 #ifdef IWN_DEBUG
uint32_t *status = (uint32_t *)(desc + 1);
-   DPRINTF(sc, IWN_DEBUG_INTR, "state changed to %x\n",
+   DPRINTF(sc, IWN_DEBUG_INTR | IWN_DEBUG_STATE,
+   "state changed to %x\n",
le32toh(*status));
 #endif
break;
@@ -3633,11 +3634,11 @@ iwn_notif_intr(struct iwn_softc *sc)
 #ifdef IWN_DEBUG
struct iwn_stop_scan *scan =
(struct iwn_stop_scan *)(desc + 1);
-   DPRINTF(sc, IWN_DEBUG_STATE,
+   DPRINTF(sc, IWN_DEBUG_STATE | IWN_DEBUG_SCAN,
"scan finished nchan=%d status=%d chan=%d\n",
scan->nchan, scan->status, scan->chan);
 #endif
-
+   sc->sc_is_scanning = 0;
IWN_UNLOCK(sc);
ieee80211_scan_next(vap);
IWN_LOCK(sc);
@@ -5020,6 +5021,12 @@ iwn_set_led(struct iwn_softc *sc, uint8_
 
DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__);
 
+#if 0
+   /* XXX don't set LEDs during scan? */
+   if (sc->sc_is_scanning)
+   return;
+#endif
+
/* Clear microcode LED ownership. */
IWN_CLRBITS(sc, IWN_LED, IWN_LED_BSM_CTRL);
 
@@ -5485,6 +5492,10 @@ iwn_collect_noise(struct iwn_softc *sc,
 #ifdef notyet
/* XXX Disable RX chains with no antennas connected. */
sc->rxon->rxchain = htole16(IWN_RXCHAIN_SEL(sc->chainmask));
+   if (sc->sc_is_scanning)
+   device_printf(sc->sc_dev,
+   "%s: is_scanning set, before RXON\n",
+   __func__);
(void)iwn_cmd(sc, IWN_CMD_RXON, sc->rxon, sc->rxonsz, 1);
 #endif
 
@@ -6119,6 +6130,10 @@ iwn_config(struct iwn_softc *sc)
IWN_RXCHAIN_IDLE_COUNT(2);
sc->rxon->rxchain = htole16(rxchain);
DPRINTF(sc, IWN_DEBUG_RESET, "%s: setting configuration\n", __func__);
+   if (sc->sc_is_scanning)
+   device_printf(sc->sc_dev,
+   "%s: is_scanning set, before RXON\n",
+   __func__);
error = iwn_cmd(sc, IWN_CMD_RXON, sc->rxon, sc->rxonsz,

svn commit: r258828 - in head/sys: arm/at91 dev/nand

2013-12-01 Thread Ian Lepore
Author: ian
Date: Mon Dec  2 03:52:40 2013
New Revision: 258828
URL: http://svnweb.freebsd.org/changeset/base/258828

Log:
  Add a nand flash controller driver for Atmel at91 family.  Tested only
  on at91rm9200 so far.
  
  The files.at91 has listed a nand driver for ages, but it never existed.

Added:
  head/sys/dev/nand/nfc_at91.c   (contents, props changed)
Modified:
  head/sys/arm/at91/files.at91

Modified: head/sys/arm/at91/files.at91
==
--- head/sys/arm/at91/files.at91Mon Dec  2 03:49:33 2013
(r258827)
+++ head/sys/arm/at91/files.at91Mon Dec  2 03:52:40 2013
(r258828)
@@ -5,7 +5,7 @@ arm/at91/at91_machdep.c standard
 arm/at91/at91.cstandard
 arm/at91/at91_cfata.c  optionalat91_cfata
 arm/at91/at91_mci.coptionalat91_mci
-arm/at91/at91_nand.c   optionalnand
+dev/nand/nfc_at91.coptionalnand
 arm/at91/at91_pio.cstandard
 arm/at91/at91_pmc.cstandard
 arm/at91/at91_pit.coptionalat91sam9

Added: head/sys/dev/nand/nfc_at91.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/dev/nand/nfc_at91.cMon Dec  2 03:52:40 2013
(r258828)
@@ -0,0 +1,258 @@
+/*-
+ * Copyright (C) 2013 Ian Lepore.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Atmel at91-family integrated NAND controller driver.
+ *
+ * This code relies on the board setup code (in at91/board_whatever.c) having
+ * set up the EBI and SMC registers appropriately for whatever type of nand 
part
+ * is on the board.
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+#include 
+#include 
+#include "nfc_if.h"
+
+/*
+ * Data cycles are triggered by access to any address within the EBI CS3 region
+ * that has A21 and A22 clear.  Command cycles are any access with bit A21
+ * asserted. Address cycles are any access with bit A22 asserted.
+ *
+ * XXX The atmel docs say that any address bits can be used instead of A21 and
+ * A22; these values should be configurable.
+ */
+#defineAT91_NAND_DATA  0
+#defineAT91_NAND_COMMAND   (1 << 21)
+#defineAT91_NAND_ADDRESS   (1 << 22)
+
+struct at91_nand_softc {
+   struct nand_softc   nand_sc;
+   struct resource *res;
+};
+
+static int at91_nand_attach(device_t);
+static int at91_nand_probe(device_t);
+static uint8_t at91_nand_read_byte(device_t);
+static voidat91_nand_read_buf(device_t, void *, uint32_t);
+static int at91_nand_read_rnb(device_t);
+static int at91_nand_select_cs(device_t, uint8_t);
+static int at91_nand_send_command(device_t, uint8_t);
+static int at91_nand_send_address(device_t, uint8_t);
+static voidat91_nand_write_buf(device_t, void *, uint32_t);
+
+static inline u_int8_t
+dev_read_1(struct at91_nand_softc *sc, bus_size_t offset)
+{
+   return bus_read_1(sc->res, offset);
+}
+
+static inline void
+dev_write_1(struct at91_nand_softc *sc, bus_size_t offset, u_int8_t value)
+{
+   bus_write_1(sc->res, offset, value);
+}
+
+static int
+at91_nand_probe(device_t dev)
+{
+
+   device_set_desc(dev, "AT91 Integrated NAND controller");
+   return (BUS_PROBE_DEFAULT);
+}
+
+static int
+at91_nand_attach(device_t dev)
+{
+   struct at91_nand_softc *sc;
+   int err, rid;
+
+   sc = device_get_softc(dev);
+   

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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 03:49:33 2013
New Revision: 258827
URL: http://svnweb.freebsd.org/changeset/base/258827

Log:
  Log the rx ring offset as part of the debug message.

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

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:47:08 2013(r258826)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:49:33 2013(r258827)
@@ -3508,8 +3508,8 @@ iwn_notif_intr(struct iwn_softc *sc)
desc = mtod(data->m, struct iwn_rx_desc *);
 
DPRINTF(sc, IWN_DEBUG_RECV,
-   "%s: qid %x idx %d flags %x type %d(%s) len %d\n",
-   __func__, desc->qid & 0xf, desc->idx, desc->flags,
+   "%s: cur=%d; qid %x idx %d flags %x type %d(%s) len %d\n",
+   __func__, sc->rxq.cur, desc->qid & 0xf, desc->idx, 
desc->flags,
desc->type, iwn_intr_str(desc->type),
le16toh(desc->len));
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258826 - head/contrib/gcclibs/libcpp

2013-12-01 Thread Pedro F. Giffuni
Author: pfg
Date: Mon Dec  2 03:47:08 2013
New Revision: 258826
URL: http://svnweb.freebsd.org/changeset/base/258826

Log:
  libcpp: Merge fixes from upstream
  
  GCC preprocessor/29966:
  * macro.c (lex_expansion_token): Save and restore cpp_reader's
  cur_token.
  (_cpp_create_definition): Don't restore cur_token here.
  * lex.c (_cpp_lex_token): Added assertion.
  
  GCC preprocessor/28709:
  * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
  
  GCC c/31924
  * expr.c (interpret_float_suffix): Check for invalid suffix.
  
  GCC preprocessor/14331
  * lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.
  
  Fixup whitespacing
  
  Obtained from:gcc per-4.3 (rev. 121340, 124356, 124358, 124730,
  125212, 125255 ; GPLv2)
  MFC after:3 weeks

Modified:
  head/contrib/gcclibs/libcpp/ChangeLog.gcc43
  head/contrib/gcclibs/libcpp/expr.c
  head/contrib/gcclibs/libcpp/lex.c
  head/contrib/gcclibs/libcpp/macro.c
  head/contrib/gcclibs/libcpp/pch.c

Modified: head/contrib/gcclibs/libcpp/ChangeLog.gcc43
==
--- head/contrib/gcclibs/libcpp/ChangeLog.gcc43 Mon Dec  2 03:43:37 2013
(r258825)
+++ head/contrib/gcclibs/libcpp/ChangeLog.gcc43 Mon Dec  2 03:47:08 2013
(r258826)
@@ -7,6 +7,11 @@
* include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
binary integer constants.

+2007-05-31  Dave Korn   (r125212)
+
+   PR preprocessor/14331
+   * lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.
+
 2007-05-21  Ian Lance Taylor   (r124929)
 
* internal.h (struct cpp_reader): Add new fields:
@@ -23,6 +28,29 @@
(_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
pfile->nonexistent_file_ob.
 
+2007-05-14  Janis Johnson   (r124731)
+
+   PR c/31924
+   * expr.c (interpret_float_suffix): Check for invalid suffix.
+
+2007-05-02  Eric Christopher   (r124358)
+
+   * expr.c (num_div_op): Don't overflow if the result is
+   zero.
+
+2007-05-02  Tom Tromey   (r124356)
+
+   PR preprocessor/28709:
+   * macro.c (paste_tokens): Remove PASTE_LEFT from the old lhs.
+
+2007-01-30  Tom Tromey   (r121340)
+
+   PR preprocessor/29966:
+   * macro.c (lex_expansion_token): Save and restore cpp_reader's
+   cur_token.
+   (_cpp_create_definition): Don't restore cur_token here.
+   * lex.c (_cpp_lex_token): Added assertion.
+
 2006-12-29  Ian Lance Taylor   (r120263)
 
* lex.c (_cpp_clean_line): Add uses of __builtin_expect.  Don't

Modified: head/contrib/gcclibs/libcpp/expr.c
==
--- head/contrib/gcclibs/libcpp/expr.c  Mon Dec  2 03:43:37 2013
(r258825)
+++ head/contrib/gcclibs/libcpp/expr.c  Mon Dec  2 03:47:08 2013
(r258826)
@@ -87,16 +87,19 @@ interpret_float_suffix (const uchar *s, 
   while (len--)
 switch (s[len])
   {
-  case 'f': case 'F': f++; break;
-  case 'l': case 'L': l++; break;
-  case 'i': case 'I':
-  case 'j': case 'J': i++; break;
-  case 'd': case 'D': 
-   /* Disallow fd, ld suffixes.  */
-   if (d && (f || l))
+  case 'f': case 'F':
+   if (d > 0)
+ return 0;
+   f++;
+   break;
+  case 'l': case 'L':
+   if (d > 0)
  return 0;
-   d++;
+   l++;
break;
+  case 'i': case 'I':
+  case 'j': case 'J': i++; break;
+  case 'd': case 'D': d++; break;
   default:
return 0;
   }
@@ -494,7 +497,7 @@ append_digit (cpp_num num, int digit, in
   if (add_low + digit < add_low)
 add_high++;
   add_low += digit;
-
+
   if (result.low + add_low < result.low)
 add_high++;
   if (result.high + add_high < result.high)
@@ -1580,7 +1583,8 @@ num_div_op (cpp_reader *pfile, cpp_num l
{
  if (negate)
result = num_negate (result, precision);
- result.overflow = num_positive (result, precision) ^ !negate;
+ result.overflow = (num_positive (result, precision) ^ !negate
+&& !num_zerop (result));
}
 
   return result;

Modified: head/contrib/gcclibs/libcpp/lex.c
==
--- head/contrib/gcclibs/libcpp/lex.c   Mon Dec  2 03:43:37 2013
(r258825)
+++ head/contrib/gcclibs/libcpp/lex.c   Mon Dec  2 03:47:08 2013
(r258826)
@@ -766,6 +766,11 @@ _cpp_lex_token (cpp_reader *pfile)
  pfile->cur_run = next_tokenrun (pfile->cur_run);
  pfile->cur_token = pfile->cur_run->base;
}
+  /* We assume that the current token is somewhere in the current
+run.  */
+  if (pfile->cur_token < pfile->cur_run->base
+ || pfile->cur_token >= pfile->cur_run->limit)
+   abort ();
 
   if (pfile->lookaheads)
{
@@ -847,11 +852,8 @@ _cpp_get_fresh

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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 03:43:37 2013
New Revision: 258825
URL: http://svnweb.freebsd.org/changeset/base/258825

Log:
  Oops - fix bad indent. Sorry!

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

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:42:39 2013(r258824)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:43:37 2013(r258825)
@@ -7506,7 +7506,7 @@ iwn_read_firmware_tlv(struct iwn_softc *
DPRINTF(sc, IWN_DEBUG_RESET,
"PAN Support found: %d\n", 1);
break;
-   case IWN_FW_TLV_FLAGS:
+   case IWN_FW_TLV_FLAGS:
if (len < sizeof(uint32_t))
break;
if (len % sizeof(uint32_t))
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 03:42:39 2013
New Revision: 258824
URL: http://svnweb.freebsd.org/changeset/base/258824

Log:
  Add some sanity checks to the TLV fetch.
  
  Obtained from:Linux iwlwifi

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

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:40:51 2013(r258823)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:42:39 2013(r258824)
@@ -7506,8 +7506,16 @@ iwn_read_firmware_tlv(struct iwn_softc *
DPRINTF(sc, IWN_DEBUG_RESET,
"PAN Support found: %d\n", 1);
break;
-   case IWN_FW_TLV_FLAGS :
-   sc->tlv_feature_flags = htole32(*ptr);
+   case IWN_FW_TLV_FLAGS:
+   if (len < sizeof(uint32_t))
+   break;
+   if (len % sizeof(uint32_t))
+   break;
+   sc->tlv_feature_flags = le32toh(*ptr);
+   DPRINTF(sc, IWN_DEBUG_RESET,
+   "%s: feature: 0x%08x\n",
+   __func__,
+   sc->tlv_feature_flags);
break;
case IWN_FW_TLV_PBREQ_MAXLEN:
case IWN_FW_TLV_RUNT_EVTLOG_PTR:
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


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

2013-12-01 Thread Adrian Chadd
Author: adrian
Date: Mon Dec  2 03:40:51 2013
New Revision: 258823
URL: http://svnweb.freebsd.org/changeset/base/258823

Log:
  Add some code to double-check whether we're correctly populating the
  TX ring according to what the firmware requires.
  
  The firmware requires A-MPDU sub-frames to be at a very specific ring
  offset - that is, the ring slot offset should be (seqno % 256.)
  
  This holds for every NIC I've tested thus far except the 4965,
  which starts erroring out here shortly before the firmware panics.
  Which is good, it's doing what it's supposed to (read: capture that
  we've screwed up somewhere.)
  
  The specifics about getting this stuff right:
  
  * the initial seqno allocation should match up with the ringid.
  * .. yes, this means we can start at a ring offset that isn't zero.
  * .. because we program the start seqno in the firmware message
to setup the AC.
  * The initial seqno allocation may be non-zero _and_ frames may be
being transmitted during a-mpdu negotiation.  I faced similar
issues on ath(4) and had to software queue frames to that node+TID
during A-MPDU negotiation.
  * seqno allocation should be in lockstep with ring increments.
  * If we fail to transmit some segment, no, we shouldn't reuse that
ring slot.  We should just transmit a BAR (which we aren't yet
doing, sigh) and move onto the next seqno.
  * In theory there shouldn't be any holes in the seqno space when
we are transmitting frames.
  
  Tested:
  
  * 4965 (throws problems, so yes we have to fix this);
  * 5100 (seems ok);
  * 6200 (seems ok);
  * 2200 (seems ok);
  * 2230 (seems ok).

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

Modified: head/sys/dev/iwn/if_iwn.c
==
--- head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:36:44 2013(r258822)
+++ head/sys/dev/iwn/if_iwn.c   Mon Dec  2 03:40:51 2013(r258823)
@@ -4070,6 +4070,7 @@ iwn_tx_data(struct iwn_softc *sc, struct
}
ac = M_WME_GETAC(m);
if (m->m_flags & M_AMPDU_MPDU) {
+   uint16_t seqno;
struct ieee80211_tx_ampdu *tap = &ni->ni_tx_ampdu[ac];
 
if (!IEEE80211_AMPDU_RUNNING(tap)) {
@@ -4077,9 +4078,27 @@ iwn_tx_data(struct iwn_softc *sc, struct
return EINVAL;
}
 
+   /*
+* Queue this frame to the hardware ring that we've
+* negotiated AMPDU TX on.
+*
+* Note that the sequence number must match the TX slot
+* being used!
+*/
ac = *(int *)tap->txa_private;
+   seqno = ni->ni_txseqs[tid];
*(uint16_t *)wh->i_seq =
-   htole16(ni->ni_txseqs[tid] << IEEE80211_SEQ_SEQ_SHIFT);
+   htole16(seqno << IEEE80211_SEQ_SEQ_SHIFT);
+   ring = &sc->txq[ac];
+   if ((seqno % 256) != ring->cur) {
+   device_printf(sc->sc_dev,
+   "%s: m=%p: seqno (%d) (%d) != ring index (%d) !\n",
+   __func__,
+   m,
+   seqno,
+   seqno % 256,
+   ring->cur);
+   }
ni->ni_txseqs[tid]++;
}
ring = &sc->txq[ac];
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258822 - head/sys/dev/drm2/i915

2013-12-01 Thread Eitan Adler
Author: eadler
Date: Mon Dec  2 03:36:44 2013
New Revision: 258822
URL: http://svnweb.freebsd.org/changeset/base/258822

Log:
  Partial revert of r258779 and r258780:
The directory sys/dev/drm2/i915 is apperently contributed code.
Revert to the broken version of this file to make future imports easier.
  
  Requested by: kib

Modified:
  head/sys/dev/drm2/i915/i915_reg.h

Modified: head/sys/dev/drm2/i915/i915_reg.h
==
--- head/sys/dev/drm2/i915/i915_reg.h   Mon Dec  2 03:11:25 2013
(r258821)
+++ head/sys/dev/drm2/i915/i915_reg.h   Mon Dec  2 03:36:44 2013
(r258822)
@@ -798,7 +798,7 @@ __FBSDID("$FreeBSD$");
 #define _DPLL_A0x06014
 #define _DPLL_B0x06018
 #define DPLL(pipe) _PIPE(pipe, _DPLL_A, _DPLL_B)
-#define   DPLL_VCO_ENABLE  (1U << 31)
+#define   DPLL_VCO_ENABLE  (1 << 31)
 #define   DPLL_DVO_HIGH_SPEED  (1 << 30)
 #define   DPLL_SYNCLOCK_ENABLE (1 << 29)
 #define   DPLL_VGA_MODE_DIS(1 << 28)
@@ -1483,7 +1483,7 @@ __FBSDID("$FreeBSD$");
 /* SDVO port control */
 #define SDVOB  0x61140
 #define SDVOC  0x61160
-#define   SDVO_ENABLE  (1U << 31)
+#define   SDVO_ENABLE  (1 << 31)
 #define   SDVO_PIPE_B_SELECT   (1 << 30)
 #define   SDVO_STALL_SELECT(1 << 29)
 #define   SDVO_INTERRUPT_ENABLE(1 << 26)
@@ -1521,7 +1521,7 @@ __FBSDID("$FreeBSD$");
 #define DVOA   0x61120
 #define DVOB   0x61140
 #define DVOC   0x61160
-#define   DVO_ENABLE   (1U << 31)
+#define   DVO_ENABLE   (1 << 31)
 #define   DVO_PIPE_B_SELECT(1 << 30)
 #define   DVO_PIPE_STALL_UNUSED(0 << 28)
 #define   DVO_PIPE_STALL   (1 << 28)
@@ -1557,7 +1557,7 @@ __FBSDID("$FreeBSD$");
  * Enables the LVDS port.  This bit must be set before DPLLs are enabled, as
  * the DPLL semantics change when the LVDS is assigned to that pipe.
  */
-#define   LVDS_PORT_EN (1U << 31)
+#define   LVDS_PORT_EN (1 << 31)
 /* Selects pipe B for LVDS data.  Must be set on pre-965. */
 #define   LVDS_PIPEB_SELECT(1 << 30)
 #define   LVDS_PIPE_MASK   (1 << 30)
@@ -1604,7 +1604,7 @@ __FBSDID("$FreeBSD$");
 /* Video Data Island Packet control */
 #define VIDEO_DIP_DATA 0x61178
 #define VIDEO_DIP_CTL  0x61170
-#define   VIDEO_DIP_ENABLE (1U << 31)
+#define   VIDEO_DIP_ENABLE (1 << 31)
 #define   VIDEO_DIP_PORT_B (1 << 29)
 #define   VIDEO_DIP_PORT_C (2 << 29)
 #define   VIDEO_DIP_ENABLE_AVI (1 << 21)
@@ -1620,7 +1620,7 @@ __FBSDID("$FreeBSD$");
 
 /* Panel power sequencing */
 #define PP_STATUS  0x61200
-#define   PP_ON(1U << 31)
+#define   PP_ON(1 << 31)
 /*
  * Indicates that all dependencies of the panel are on:
  *
@@ -1653,7 +1653,7 @@ __FBSDID("$FreeBSD$");
 
 /* Panel fitting */
 #define PFIT_CONTROL   0x61230
-#define   PFIT_ENABLE  (1U << 31)
+#define   PFIT_ENABLE  (1 << 31)
 #define   PFIT_PIPE_MASK   (3 << 29)
 #define   PFIT_PIPE_SHIFT  29
 #define   VERT_INTERP_DISABLE  (0 << 10)
@@ -1714,7 +1714,7 @@ __FBSDID("$FreeBSD$");
 /* TV port control */
 #define TV_CTL 0x68000
 /** Enables the TV encoder */
-# define TV_ENC_ENABLE (1U << 31)
+# define TV_ENC_ENABLE (1 << 31)
 /** Sources the TV encoder input from pipe B instead of A. */
 # define TV_ENC_PIPEB_SELECT   (1 << 30)
 /** Outputs composite video (DAC A only) */
@@ -1786,7 +1786,7 @@ __FBSDID("$FreeBSD$");
  *
  * This gets cleared when TV_DAC_STATE_EN is cleared
 */
-# define TVDAC_STATE_CHG   (1U << 31)
+# define TVDAC_STATE_CHG   (1 << 31)
 # define TVDAC_SENSE_MASK  (7 << 28)
 /** Reports that DAC A voltage is above the detect threshold */
 # define TVDAC_A_SENSE (1 << 30)
@@ -1913,7 +1913,7 @@ __FBSDID("$FreeBSD$");
 
 #define TV_H_CTL_2 0x68034
 /** Enables the colorburst (needed for non-component color) */
-# define TV_BURST_ENA  (1U << 31)
+# define TV_BURST_ENA  (1 << 31)
 /** Offset of the colorburst from the start of hsync, in pixels minus one. */
 # define TV_HBURST_START_SHIFT 16
 # define TV_HBURST_START_MASK  0x1fff
@@ -1958,7 +1958,7 @@ __FBSDID("$FreeBSD$");
 
 #define TV_V_CTL_3 0x68044
 /** Enables generation of the equalization signal */
-# define TV_EQUAL_ENA  (1U << 31)
+# define TV_EQUAL_ENA  (1 << 31)
 /** Length of vsync, in half lines */
 # define TV_VEQ_LEN_MASK   0x007f
 # define TV_VEQ_LEN_SHIFT  16
@@ -2032,7 +2032,7 @@ __FBSDID("$FreeBSD$");
 
 #define TV_SC_CTL_10x68060
 /** Turns on the fi

Re: svn commit: r258779 - in head/sys/dev: cesa drm drm2/i915 drm2/radeon hatm

2013-12-01 Thread Eitan Adler
On Sun, Dec 1, 2013 at 6:07 PM, Jilles Tjoelker  wrote:

>> Revert the drm2/i915 changes from this and following commits now.
>> You did not contacted obvious maintainer of the file.

Of course I did not.  This was discussed on arch@ and the change made
mechanically.


>> The changes are pointless and make the import of upstream changes
>> harder; for i915_reg.h, much harder.
>
> This is a valid concern. The change should be submitted to upstream; if
> upstream does not want the change, it is better to avoid the issue by
> adding -fno-strict-overflow for the offending files, matching upstream.

I will revert to the broken and incorrect code in sys/dev/drm2/i915.
Upstream should be contacted with the patch.

>> Not to mention that the whole churn is not needed if the
>> -fno-strict-overflow flag is used.
>
> I think the undefined shifts should be fixed where possible and not in
> contributed code.

Agreed.  In addition, contributed code ought to be clearly
differentiated in the directory hierarchy.


-- 
Eitan Adler
Source, Ports, Doc committer
Bugmeister, Ports Security teams
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258821 - head/sys/netinet

2013-12-01 Thread Eitan Adler
Author: eadler
Date: Mon Dec  2 03:11:25 2013
New Revision: 258821
URL: http://svnweb.freebsd.org/changeset/base/258821

Log:
  In a situation where:
- The remote host sends a FIN
- in an ACK for a sequence number for which an ACK has already
  been received
- There is still unacked data on route to the remote host
- The packet does not contain a window update
  
  The packet may be dropped without processing the FIN flag.
  
  PR:   kern/99188
  Submitted by: Staffan Ulfberg 
  Discussed with:   andre
  MFC after:never

Modified:
  head/sys/netinet/tcp_input.c

Modified: head/sys/netinet/tcp_input.c
==
--- head/sys/netinet/tcp_input.cMon Dec  2 02:33:03 2013
(r258820)
+++ head/sys/netinet/tcp_input.cMon Dec  2 03:11:25 2013
(r258821)
@@ -2429,13 +2429,15 @@ tcp_do_segment(struct mbuf *m, struct tc
hhook_run_tcp_est_in(tp, th, &to);
 
if (SEQ_LEQ(th->th_ack, tp->snd_una)) {
-   if (tlen == 0 && tiwin == tp->snd_wnd) {
+   if (tlen == 0 && tiwin == tp->snd_wnd &&
+   !(thflags & TH_FIN)) {
TCPSTAT_INC(tcps_rcvdupack);
/*
 * If we have outstanding data (other than
 * a window probe), this is a completely
 * duplicate ack (ie, window info didn't
-* change), the ack is the biggest we've
+* change and FIN isn't set),
+* the ack is the biggest we've
 * seen and we've seen exactly our rexmt
 * threshhold of them, assume a packet
 * has been dropped and retransmit it.
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258820 - head/sys/arm/at91

2013-12-01 Thread Ian Lepore
Author: ian
Date: Mon Dec  2 02:33:03 2013
New Revision: 258820
URL: http://svnweb.freebsd.org/changeset/base/258820

Log:
  Add definitions for the additional PIO pins found on recent AT91 SoCs.

Modified:
  head/sys/arm/at91/at91_pioreg.h

Modified: head/sys/arm/at91/at91_pioreg.h
==
--- head/sys/arm/at91/at91_pioreg.h Mon Dec  2 00:44:36 2013
(r258819)
+++ head/sys/arm/at91/at91_pioreg.h Mon Dec  2 02:33:03 2013
(r258820)
@@ -164,5 +164,69 @@
 #define AT91C_PIO_PC29   ((unsigned int) 1 << 29) // Pin Controlled by PC29
 #define AT91C_PIO_PC30   ((unsigned int) 1 << 30) // Pin Controlled by PC30
 #define AT91C_PIO_PC31   ((unsigned int) 1 << 31) // Pin Controlled by PC31
+#define AT91C_PIO_PD0((unsigned int) 1 <<  0) // Pin Controlled by PD0
+#define AT91C_PIO_PD1((unsigned int) 1 <<  1) // Pin Controlled by PD1
+#define AT91C_PIO_PD2((unsigned int) 1 <<  2) // Pin Controlled by PD2
+#define AT91C_PIO_PD3((unsigned int) 1 <<  3) // Pin Controlled by PD3
+#define AT91C_PIO_PD4((unsigned int) 1 <<  4) // Pin Controlled by PD4
+#define AT91C_PIO_PD5((unsigned int) 1 <<  5) // Pin Controlled by PD5
+#define AT91C_PIO_PD6((unsigned int) 1 <<  6) // Pin Controlled by PD6
+#define AT91C_PIO_PD7((unsigned int) 1 <<  7) // Pin Controlled by PD7
+#define AT91C_PIO_PD8((unsigned int) 1 <<  8) // Pin Controlled by PD8
+#define AT91C_PIO_PD9((unsigned int) 1 <<  9) // Pin Controlled by PD9
+#define AT91C_PIO_PD10   ((unsigned int) 1 << 10) // Pin Controlled by PD10
+#define AT91C_PIO_PD11   ((unsigned int) 1 << 11) // Pin Controlled by PD11
+#define AT91C_PIO_PD12   ((unsigned int) 1 << 12) // Pin Controlled by PD12
+#define AT91C_PIO_PD13   ((unsigned int) 1 << 13) // Pin Controlled by PD13
+#define AT91C_PIO_PD14   ((unsigned int) 1 << 14) // Pin Controlled by PD14
+#define AT91C_PIO_PD15   ((unsigned int) 1 << 15) // Pin Controlled by PD15
+#define AT91C_PIO_PD16   ((unsigned int) 1 << 16) // Pin Controlled by PD16
+#define AT91C_PIO_PD17   ((unsigned int) 1 << 17) // Pin Controlled by PD17
+#define AT91C_PIO_PD18   ((unsigned int) 1 << 18) // Pin Controlled by PD18
+#define AT91C_PIO_PD19   ((unsigned int) 1 << 19) // Pin Controlled by PD19
+#define AT91C_PIO_PD20   ((unsigned int) 1 << 20) // Pin Controlled by PD20
+#define AT91C_PIO_PD21   ((unsigned int) 1 << 21) // Pin Controlled by PD21
+#define AT91C_PIO_PD22   ((unsigned int) 1 << 22) // Pin Controlled by PD22
+#define AT91C_PIO_PD23   ((unsigned int) 1 << 23) // Pin Controlled by PD23
+#define AT91C_PIO_PD24   ((unsigned int) 1 << 24) // Pin Controlled by PD24
+#define AT91C_PIO_PD25   ((unsigned int) 1 << 25) // Pin Controlled by PD25
+#define AT91C_PIO_PD26   ((unsigned int) 1 << 26) // Pin Controlled by PD26
+#define AT91C_PIO_PD27   ((unsigned int) 1 << 27) // Pin Controlled by PD27
+#define AT91C_PIO_PD28   ((unsigned int) 1 << 28) // Pin Controlled by PD28
+#define AT91C_PIO_PD29   ((unsigned int) 1 << 29) // Pin Controlled by PD29
+#define AT91C_PIO_PD30   ((unsigned int) 1 << 30) // Pin Controlled by PD30
+#define AT91C_PIO_PD31   ((unsigned int) 1 << 31) // Pin Controlled by PD31
+#define AT91C_PIO_PE0((unsigned int) 1 <<  0) // Pin Controlled by PE0
+#define AT91C_PIO_PE1((unsigned int) 1 <<  1) // Pin Controlled by PE1
+#define AT91C_PIO_PE2((unsigned int) 1 <<  2) // Pin Controlled by PE2
+#define AT91C_PIO_PE3((unsigned int) 1 <<  3) // Pin Controlled by PE3
+#define AT91C_PIO_PE4((unsigned int) 1 <<  4) // Pin Controlled by PE4
+#define AT91C_PIO_PE5((unsigned int) 1 <<  5) // Pin Controlled by PE5
+#define AT91C_PIO_PE6((unsigned int) 1 <<  6) // Pin Controlled by PE6
+#define AT91C_PIO_PE7((unsigned int) 1 <<  7) // Pin Controlled by PE7
+#define AT91C_PIO_PE8((unsigned int) 1 <<  8) // Pin Controlled by PE8
+#define AT91C_PIO_PE9((unsigned int) 1 <<  9) // Pin Controlled by PE9
+#define AT91C_PIO_PE10   ((unsigned int) 1 << 10) // Pin Controlled by PE10
+#define AT91C_PIO_PE11   ((unsigned int) 1 << 11) // Pin Controlled by PE11
+#define AT91C_PIO_PE12   ((unsigned int) 1 << 12) // Pin Controlled by PE12
+#define AT91C_PIO_PE13   ((unsigned int) 1 << 13) // Pin Controlled by PE13
+#define AT91C_PIO_PE14   ((unsigned int) 1 << 14) // Pin Controlled by PE14
+#define AT91C_PIO_PE15   ((unsigned int) 1 << 15) // Pin Controlled by PE15
+#define AT91C_PIO_PE16   ((unsigned int) 1 << 16) // Pin Controlled by PE16
+#define AT91C_PIO_PE17   ((unsigned int) 1 << 17) // Pin Controlled by PE17
+#define AT91C_PIO_PE18   ((unsigned int) 1 << 18) // Pin Controlled by PE18
+#define AT91C_PIO_PE19   ((unsigned int) 1 << 19) // Pin Controlled by PE19
+#define AT91C

svn commit: r258819 - head/sys/kern

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Mon Dec  2 00:44:36 2013
New Revision: 258819
URL: http://svnweb.freebsd.org/changeset/base/258819

Log:
  Add new sysctl, kern.supported_abis, containing the list of FreeBSD
  MACHINE_ARCH values whose binaries this kernel can run. This patch provides
  a feature requested for implementing pkgng ABI identifiers in a robust
  way.
  
  The list is designed to indicate whether, say, an i386 package can be run on
  the current system. If kern.supported_abis contains "i386", then the answer
  is yes. Otherwise, the answer is no.
  
  At the moment, this only supports MACHINE_ARCH and MACHINE_ARCH32. As we
  gain support for more interesting combinations, this needs to become more
  flexible, possibily through the sysent framework, along with the
  hw.machine_arch emulation immediately preceding this code in kern_mib.c.
  
  Reviewed by:  imp
  MFC after:3 days

Modified:
  head/sys/kern/kern_mib.c

Modified: head/sys/kern/kern_mib.c
==
--- head/sys/kern/kern_mib.cSun Dec  1 22:43:14 2013(r258818)
+++ head/sys/kern/kern_mib.cMon Dec  2 00:44:36 2013(r258819)
@@ -261,6 +261,13 @@ sysctl_hw_machine_arch(SYSCTL_HANDLER_AR
 SYSCTL_PROC(_hw, HW_MACHINE_ARCH, machine_arch, CTLTYPE_STRING | CTLFLAG_RD,
 NULL, 0, sysctl_hw_machine_arch, "A", "System architecture");
 
+SYSCTL_STRING(_kern, OID_AUTO, supported_abis, CTLFLAG_RD | CTLFLAG_MPSAFE,
+#ifdef COMPAT_FREEBSD32
+MACHINE_ARCH " " MACHINE_ARCH32, 0, "List of supported ABIs");
+#else
+MACHINE_ARCH, 0, "List of supported ABIs");
+#endif
+
 static int
 sysctl_hostname(SYSCTL_HANDLER_ARGS)
 {
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r258779 - in head/sys/dev: cesa drm drm2/i915 drm2/radeon hatm

2013-12-01 Thread Jilles Tjoelker
On Sun, Dec 01, 2013 at 09:59:44AM +0200, Konstantin Belousov wrote:
> On Sat, Nov 30, 2013 at 10:16:38PM +, Eitan Adler wrote:
> > Author: eadler
> > Date: Sat Nov 30 22:16:37 2013
> > New Revision: 258779
> > URL: http://svnweb.freebsd.org/changeset/base/258779
> > 
> > Log:
> >   Similar to the (1 << 31) case it is not defined to do (2 << 30).
> > 
> > Modified:
> ...

> >   head/sys/dev/drm2/i915/i915_reg.h

> Revert the drm2/i915 changes from this and following commits now.
> You did not contacted obvious maintainer of the file.

> The changes are pointless and make the import of upstream changes
> harder; for i915_reg.h, much harder.

This is a valid concern. The change should be submitted to upstream; if
upstream does not want the change, it is better to avoid the issue by
adding -fno-strict-overflow for the offending files, matching upstream.

> Not to mention that the whole churn is not needed if the
> -fno-strict-overflow flag is used.

I think the undefined shifts should be fixed where possible and not in
contributed code.

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


svn commit: r258817 - in head/contrib: gcc/cp gcclibs/libiberty gcclibs/libiberty/testsuite

2013-12-01 Thread Pedro F. Giffuni
Author: pfg
Date: Sun Dec  1 22:08:19 2013
New Revision: 258817
URL: http://svnweb.freebsd.org/changeset/base/258817

Log:
  libiberty: upstream updates.
  
  There is a new ChangeLog.gcc43 file but most notable:
  
  * floatformat.c (get_field): Fix segfault with little-endian word
order on 64-bit hosts.
(put_field): Likewise.
(min): Move definition.
  
  gcc/cp/ChangeLog
  2007-05-04  Geoffrey Keating  
  
PR 31775
* mangle.c (write_mangled_name): Mangle static variable names.
(write_unqualified_name): Use local-source-name for
namespace-scope static variables.
  (Completes FreeBSD's r258017 )
  
  Obtained from:gcc 4.3 (rev. 118552, 120097, 20698, 120702,
 121364, 122972, 126588; GPLv2)
  MFC after:2 weeks

Added:
  head/contrib/gcclibs/libiberty/ChangeLog.gcc43
Modified:
  head/contrib/gcc/cp/ChangeLog.gcc43
  head/contrib/gcc/cp/mangle.c
  head/contrib/gcclibs/libiberty/choose-temp.c
  head/contrib/gcclibs/libiberty/cp-demangle.c
  head/contrib/gcclibs/libiberty/cp-demangle.h
  head/contrib/gcclibs/libiberty/floatformat.c
  head/contrib/gcclibs/libiberty/functions.texi
  head/contrib/gcclibs/libiberty/pex-unix.c
  head/contrib/gcclibs/libiberty/strsignal.c
  head/contrib/gcclibs/libiberty/testsuite/demangle-expected
  head/contrib/gcclibs/libiberty/testsuite/test-demangle.c

Modified: head/contrib/gcc/cp/ChangeLog.gcc43
==
--- head/contrib/gcc/cp/ChangeLog.gcc43 Sun Dec  1 21:44:05 2013
(r258816)
+++ head/contrib/gcc/cp/ChangeLog.gcc43 Sun Dec  1 22:08:19 2013
(r258817)
@@ -1,4 +1,4 @@
-2007-07-09  Geoffrey Keating  
+2007-07-09  Geoffrey Keating   (r126529)
 
PR 32617
* decl.c (cxx_init_decl_processing): Don't set
@@ -18,6 +18,13 @@
* decl2.c (determine_visibility): Remove duplicate code for
handling type info.
 
+2007-05-05  Geoffrey Keating   (r124467)
+
+   PR 31775
+   * mangle.c (write_mangled_name): Mangle static variable names.
+   (write_unqualified_name): Use local-source-name for
+   namespace-scope static variables.
+
 2007-03-12  Seongbae Park  (r122851)
 
* decl.c (compute_array_index_type): New warning flag warn_vla.

Modified: head/contrib/gcc/cp/mangle.c
==
--- head/contrib/gcc/cp/mangle.cSun Dec  1 21:44:05 2013
(r258816)
+++ head/contrib/gcc/cp/mangle.cSun Dec  1 22:08:19 2013
(r258817)
@@ -688,7 +688,8 @@ write_mangled_name (const tree decl, boo
}
 }
   else if (TREE_CODE (decl) == VAR_DECL
-  /* The names of global variables aren't mangled.  */
+  /* The names of non-static global variables aren't mangled.  */
+  && DECL_EXTERNAL_LINKAGE_P (decl)
   && (CP_DECL_CONTEXT (decl) == global_namespace
   /* And neither are `extern "C"' variables.  */
   || DECL_EXTERN_C_P (decl)))
@@ -1086,7 +1087,10 @@ write_template_prefix (const tree node)
 
   ::= 
::= 
-   ::=   */
+   ::= 
+   ::=  
+
+::= L   */
 
 static void
 write_unqualified_name (const tree decl)
@@ -1126,6 +1130,16 @@ write_unqualified_name (const tree decl)
 
   write_string (oni[DECL_OVERLOADED_OPERATOR_P (decl)].mangled_name);
 }
+  else if (VAR_OR_FUNCTION_DECL_P (decl) && ! TREE_PUBLIC (decl)
+  && DECL_NAMESPACE_SCOPE_P (decl)
+  && decl_linkage (decl) == lk_internal)
+{
+  MANGLE_TRACE_TREE ("local-source-name", decl);
+  write_char ('L');
+  write_source_name (DECL_NAME (decl));
+  /* The default discriminator is 1, and that's all we ever use,
+so there's no code to output one here.  */
+}
   else
 write_source_name (DECL_NAME (decl));
 }

Added: head/contrib/gcclibs/libiberty/ChangeLog.gcc43
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/contrib/gcclibs/libiberty/ChangeLog.gcc43  Sun Dec  1 22:08:19 
2013(r258817)
@@ -0,0 +1,60 @@
+2007-05-05  Geoffrey Keating   (r124467)
+
+   PR 31775
+   * mangle.c (write_mangled_name): Mangle static variable names.
+   (write_unqualified_name): Use local-source-name for
+   namespace-scope static variables.
+
+2007-03-15  Geoffrey Keating   (r122972)
+
+   * cp-demangle.c (d_encoding): Exit early on error.
+   (d_pointer_to_member_type): Exit early if cplus_demangle_type
+   returns NULL.
+   (cplus_demangle_type): Likewise.
+   * testsuite/demangle-expected: New testcase.
+
+2007-01-31  Ben Elliston   (r121364)
+
+   * strsignal.c (psignal): Change type of signo to int.
+   * functions.texi: Regenerate.
+
+2007-01-12  Ben Elliston   (r120702)
+
+   * pex-unix.c (writeerr):

svn commit: r258812 - head/sys/kern

2013-12-01 Thread Gleb Smirnoff
Author: glebius
Date: Sun Dec  1 20:03:00 2013
New Revision: 258812
URL: http://svnweb.freebsd.org/changeset/base/258812

Log:
  Remove unused variable.

Modified:
  head/sys/kern/uipc_syscalls.c

Modified: head/sys/kern/uipc_syscalls.c
==
--- head/sys/kern/uipc_syscalls.c   Sun Dec  1 19:59:36 2013
(r258811)
+++ head/sys/kern/uipc_syscalls.c   Sun Dec  1 20:03:00 2013
(r258812)
@@ -2288,7 +2288,6 @@ vn_sendfile(struct file *fp, int sockfd,
struct vattr va;
off_t off, xfsize, fsbytes, sbytes, rem, obj_size;
int error, bsize, nd, hdrlen, mnw;
-   bool inflight_called;
 
pg = NULL;
obj = NULL;
@@ -2298,7 +2297,6 @@ vn_sendfile(struct file *fp, int sockfd,
hdrlen = mnw = 0;
rem = nbytes;
obj_size = 0;
-   inflight_called = false;
 
error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size, &bsize);
if (error != 0)
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258811 - head/sys/powerpc/ofw

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:59:36 2013
New Revision: 258811
URL: http://svnweb.freebsd.org/changeset/base/258811

Log:
  Revert last few revisions; apologies for the noise. There are very rare,
  broken systems that require SPRG state to be preserved.

Modified:
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==
--- head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:56:30 2013
(r258810)
+++ head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:59:36 2013
(r258811)
@@ -90,6 +90,49 @@ ofw_restore_trap_vec(char *restore_trap_
bcopy(restore_trap_vec, (void *)EXC_RST, EXC_LAST - EXC_RST);
__syncicache(EXC_RSVD, EXC_LAST - EXC_RSVD);
 }
+
+/*
+ * Saved SPRG0-3 from OpenFirmware. Will be restored prior to the callback.
+ */
+register_t ofw_sprg0_save;
+
+static __inline void
+ofw_sprg_prepare(void)
+{
+   if (ofw_real_mode)
+   return;
+   
+   /*
+* Assume that interrupt are disabled at this point, or
+* SPRG1-3 could be trashed
+*/
+   __asm __volatile("mfsprg0 %0\n\t"
+"mtsprg0 %1\n\t"
+"mtsprg1 %2\n\t"
+"mtsprg2 %3\n\t"
+"mtsprg3 %4\n\t"
+: "=&r"(ofw_sprg0_save)
+: "r"(ofmsr[1]),
+"r"(ofmsr[2]),
+"r"(ofmsr[3]),
+"r"(ofmsr[4]));
+}
+
+static __inline void
+ofw_sprg_restore(void)
+{
+   if (ofw_real_mode)
+   return;
+   
+   /*
+* Note that SPRG1-3 contents are irrelevant. They are scratch
+* registers used in the early portion of trap handling when
+* interrupts are disabled.
+*
+* PCPU data cannot be used until this routine is called !
+*/
+   __asm __volatile("mtsprg0 %0" :: "r"(ofw_sprg0_save));
+}
 #endif
 
 static int
@@ -287,10 +330,13 @@ openfirmware_core(void *args)
 
/*
 * Turn off exceptions - we really don't want to end up
-* anywhere in the kernel while in OF state.
+* anywhere unexpected with PCPU set to something strange
+* or the stack pointer wrong.
 */
oldmsr = intr_disable();
 
+   ofw_sprg_prepare();
+
/* Save trap vectors */
ofw_save_trap_vec(save_trap_of);
 
@@ -312,6 +358,8 @@ openfirmware_core(void *args)
/* Restore trap vecotrs */
ofw_restore_trap_vec(save_trap_of);
 
+   ofw_sprg_restore();
+
intr_restore(oldmsr);
 
return (result);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258810 - head/sys/powerpc/ofw

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:56:30 2013
New Revision: 258810
URL: http://svnweb.freebsd.org/changeset/base/258810

Log:
  Deleted one line too many.

Modified:
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==
--- head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:55:51 2013
(r258809)
+++ head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:56:30 2013
(r258810)
@@ -90,6 +90,7 @@ ofw_restore_trap_vec(char *restore_trap_
bcopy(restore_trap_vec, (void *)EXC_RST, EXC_LAST - EXC_RST);
__syncicache(EXC_RSVD, EXC_LAST - EXC_RSVD);
 }
+#endif
 
 static int
 parse_ofw_memory(phandle_t node, const char *prop, struct mem_region *output)
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258808 - head/sys/powerpc/ofw

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:45:04 2013
New Revision: 258808
URL: http://svnweb.freebsd.org/changeset/base/258808

Log:
  No actual hardware supported by FreeBSD requires this SPRG save/restore
  paranoia, so kill it. In particular, changes to SPRG0 are dangerous, since
  that is where the PCPU pointer is kept.

Modified:
  head/sys/powerpc/ofw/ofw_machdep.c

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==
--- head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:43:15 2013
(r258807)
+++ head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:45:04 2013
(r258808)
@@ -91,52 +91,6 @@ ofw_restore_trap_vec(char *restore_trap_
__syncicache(EXC_RSVD, EXC_LAST - EXC_RSVD);
 }
 
-/*
- * Saved SPRG0-3 from OpenFirmware. Will be restored prior to the callback.
- */
-register_t ofw_sprg0_save;
-
-static __inline void
-ofw_sprg_prepare(void)
-{
-   if (ofw_real_mode)
-   return;
-   
-   /*
-* Assume that interrupt are disabled at this point, or
-* SPRG1-3 could be trashed
-*/
-   __asm __volatile("mfsprg0 %0\n\t"
-"mtsprg0 %1\n\t"
-"mtsprg1 %2\n\t"
-"mtsprg2 %3\n\t"
-"mtsprg3 %4\n\t"
-: "=&r"(ofw_sprg0_save)
-: "r"(ofmsr[1]),
-"r"(ofmsr[2]),
-"r"(ofmsr[3]),
-"r"(ofmsr[4]));
-}
-
-static __inline void
-ofw_sprg_restore(void)
-{
-#if 0
-   if (ofw_real_mode)
-   return;
-#endif
-   
-   /*
-* Note that SPRG1-3 contents are irrelevant. They are scratch
-* registers used in the early portion of trap handling when
-* interrupts are disabled.
-*
-* PCPU data cannot be used until this routine is called !
-*/
-   __asm __volatile("mtsprg0 %0" :: "r"(ofw_sprg0_save));
-}
-#endif
-
 static int
 parse_ofw_memory(phandle_t node, const char *prop, struct mem_region *output)
 {
@@ -332,13 +286,10 @@ openfirmware_core(void *args)
 
/*
 * Turn off exceptions - we really don't want to end up
-* anywhere unexpected with PCPU set to something strange
-* or the stack pointer wrong.
+* anywhere in the kernel while in OF state.
 */
oldmsr = intr_disable();
 
-   ofw_sprg_prepare();
-
/* Save trap vectors */
ofw_save_trap_vec(save_trap_of);
 
@@ -360,8 +311,6 @@ openfirmware_core(void *args)
/* Restore trap vecotrs */
ofw_restore_trap_vec(save_trap_of);
 
-   ofw_sprg_restore();
-
intr_restore(oldmsr);
 
return (result);
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258807 - in head/sys/powerpc: booke include mpc85xx ofw powermac powerpc ps3 pseries wii

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:43:15 2013
New Revision: 258807
URL: http://svnweb.freebsd.org/changeset/base/258807

Log:
  Rearchitect platform memory map parsing to make it less
  Open Firmware-centric:
  - Keep the static list of regions in platform.c instead of ofw_machdep.c
  - Move various merging and sorting operations to platform.c as well
  - Move apple_hacks code out of ofw_machdep.c and into platform_powermac.c,
where it belongs
  - Move CHRP-specific dynamic-reconfiguration memory parsing into
platform_chrp.c instead of pretending it is shared code

Modified:
  head/sys/powerpc/booke/platform_bare.c
  head/sys/powerpc/include/ofw_machdep.h
  head/sys/powerpc/mpc85xx/platform_mpc85xx.c
  head/sys/powerpc/ofw/ofw_machdep.c
  head/sys/powerpc/powermac/platform_powermac.c
  head/sys/powerpc/powerpc/platform.c
  head/sys/powerpc/powerpc/platform_if.m
  head/sys/powerpc/ps3/platform_ps3.c
  head/sys/powerpc/pseries/platform_chrp.c
  head/sys/powerpc/wii/platform_wii.c

Modified: head/sys/powerpc/booke/platform_bare.c
==
--- head/sys/powerpc/booke/platform_bare.c  Sun Dec  1 19:05:32 2013
(r258806)
+++ head/sys/powerpc/booke/platform_bare.c  Sun Dec  1 19:43:15 2013
(r258807)
@@ -45,8 +45,8 @@ __FBSDID("$FreeBSD$");
 extern uint32_t *bootinfo;
 
 static int bare_probe(platform_t);
-static void bare_mem_regions(platform_t, struct mem_region **phys, int *physsz,
-struct mem_region **avail, int *availsz);
+static void bare_mem_regions(platform_t, struct mem_region *phys, int *physsz,
+struct mem_region *avail, int *availsz);
 static u_long bare_timebase_freq(platform_t, struct cpuref *cpuref);
 
 static void bare_reset(platform_t);
@@ -80,8 +80,8 @@ bare_probe(platform_t plat)
 }
 
 void
-bare_mem_regions(platform_t plat, struct mem_region **phys, int *physsz,
-struct mem_region **avail, int *availsz)
+bare_mem_regions(platform_t plat, struct mem_region *phys, int *physsz,
+struct mem_region *avail, int *availsz)
 {
 
ofw_mem_regions(phys, physsz, avail, availsz);

Modified: head/sys/powerpc/include/ofw_machdep.h
==
--- head/sys/powerpc/include/ofw_machdep.h  Sun Dec  1 19:05:32 2013
(r258806)
+++ head/sys/powerpc/include/ofw_machdep.h  Sun Dec  1 19:43:15 2013
(r258807)
@@ -45,7 +45,7 @@ boolean_t OF_bootstrap(void);
 
 void OF_reboot(void);
 
-void ofw_mem_regions(struct mem_region **, int *, struct mem_region **, int *);
+void ofw_mem_regions(struct mem_region *, int *, struct mem_region *, int *);
 void ofw_quiesce(void); /* Must be called before VM is up! */
 void ofw_save_trap_vec(char *);
 

Modified: head/sys/powerpc/mpc85xx/platform_mpc85xx.c
==
--- head/sys/powerpc/mpc85xx/platform_mpc85xx.c Sun Dec  1 19:05:32 2013
(r258806)
+++ head/sys/powerpc/mpc85xx/platform_mpc85xx.c Sun Dec  1 19:43:15 2013
(r258807)
@@ -72,8 +72,8 @@ static int cpu, maxcpu;
 
 static int mpc85xx_probe(platform_t);
 static int mpc85xx_attach(platform_t);
-static void mpc85xx_mem_regions(platform_t, struct mem_region **phys,
-int *physsz, struct mem_region **avail, int *availsz);
+static void mpc85xx_mem_regions(platform_t, struct mem_region *phys,
+int *physsz, struct mem_region *avail, int *availsz);
 static u_long mpc85xx_timebase_freq(platform_t, struct cpuref *cpuref);
 static int mpc85xx_smp_first_cpu(platform_t, struct cpuref *cpuref);
 static int mpc85xx_smp_next_cpu(platform_t, struct cpuref *cpuref);
@@ -201,8 +201,8 @@ mpc85xx_attach(platform_t plat)
 }
 
 void
-mpc85xx_mem_regions(platform_t plat, struct mem_region **phys, int *physsz,
-struct mem_region **avail, int *availsz)
+mpc85xx_mem_regions(platform_t plat, struct mem_region *phys, int *physsz,
+struct mem_region *avail, int *availsz)
 {
 
ofw_mem_regions(phys, physsz, avail, availsz);

Modified: head/sys/powerpc/ofw/ofw_machdep.c
==
--- head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:05:32 2013
(r258806)
+++ head/sys/powerpc/ofw/ofw_machdep.c  Sun Dec  1 19:43:15 2013
(r258807)
@@ -61,11 +61,6 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-static struct mem_region OFmem[PHYS_AVAIL_SZ], OFavail[PHYS_AVAIL_SZ];
-static struct mem_region OFfree[PHYS_AVAIL_SZ];
-
-static int apple_hacks;
-
 #ifdef AIM
 extern register_t ofmsr[5];
 extern void*openfirmware_entry;
@@ -80,7 +75,7 @@ static intopenfirmware(void *args);
 __inline void
 ofw_save_trap_vec(char *save_trap_vec)
 {
-   if (apple_hacks)
+   if (!ofw_real_mode)
 return;
 
bcopy((void *)EXC_RST, save_trap_vec, EXC_LAST - EXC_RST);
@@ -89,7 +84,7 @@ ofw_save_trap_vec(char *save_trap_vec)
 static __inline void
 ofw_

svn commit: r258806 - head/sys/dev/uart

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:05:32 2013
New Revision: 258806
URL: http://svnweb.freebsd.org/changeset/base/258806

Log:
  Real OF systems have an ihandle under /chosen/stdout, not a phandle. Use
  the right type.

Modified:
  head/sys/dev/uart/uart_cpu_powerpc.c

Modified: head/sys/dev/uart/uart_cpu_powerpc.c
==
--- head/sys/dev/uart/uart_cpu_powerpc.cSun Dec  1 19:03:20 2013
(r258805)
+++ head/sys/dev/uart/uart_cpu_powerpc.cSun Dec  1 19:05:32 2013
(r258806)
@@ -89,13 +89,13 @@ ofw_get_console_phandle_path(phandle_t n
return (ENXIO);
OF_getprop(node, prop, &field, sizeof(field));
 
-   /* This property might be a phandle or might be a path. Hooray. */
+   /* This property might be either a ihandle or path. Hooray. */
 
output = -1;
if (field.buf[size - 1] == 0)
output = OF_finddevice(field.buf);
if (output == -1 && size == 4)
-   output = OF_xref_phandle(field.ref);
+   output = OF_instance_to_package(field.ref);

if (output != -1) {
*result = output;
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258805 - head/sys/dev/ofw

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 19:03:20 2013
New Revision: 258805
URL: http://svnweb.freebsd.org/changeset/base/258805

Log:
  Open Firmware mandates that certain cross-references, in particular those
  in /chosen, be ihandles. The ePAPR spec makes those cross-reference phandles,
  since FDT has no concept of ihandles. Have the OF FDT CI module interpret
  queries about ihandles as cross-reference phandles.

Modified:
  head/sys/dev/ofw/ofw_fdt.c

Modified: head/sys/dev/ofw/ofw_fdt.c
==
--- head/sys/dev/ofw/ofw_fdt.c  Sun Dec  1 18:37:31 2013(r258804)
+++ head/sys/dev/ofw/ofw_fdt.c  Sun Dec  1 19:03:20 2013(r258805)
@@ -207,7 +207,8 @@ static phandle_t
 ofw_fdt_instance_to_package(ofw_t ofw, ihandle_t instance)
 {
 
-   return (-1);
+   /* Where real OF uses ihandles in the tree, FDT uses xref phandles */
+   return (OF_xref_phandle(instance));
 }
 
 /* Get the length of a property of a package. */
@@ -350,8 +351,13 @@ ofw_fdt_finddevice(ofw_t ofw, const char
 static ssize_t
 ofw_fdt_instance_to_path(ofw_t ofw, ihandle_t instance, char *buf, size_t len)
 {
+   phandle_t phandle;
 
-   return (-1);
+   phandle = OF_instance_to_package(instance);
+   if (phandle == -1)
+   return (-1);
+
+   return (OF_package_to_path(phandle, buf, len));
 }
 
 /* Return the fully qualified pathname corresponding to a package. */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258802 - head/sys/powerpc/powerpc

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 17:29:07 2013
New Revision: 258802
URL: http://svnweb.freebsd.org/changeset/base/258802

Log:
  Remove unnecessary double-setting of the thread's onfault state in
  copyinstr().

Modified:
  head/sys/powerpc/powerpc/copyinout.c

Modified: head/sys/powerpc/powerpc/copyinout.c
==
--- head/sys/powerpc/powerpc/copyinout.cSun Dec  1 17:29:00 2013
(r258801)
+++ head/sys/powerpc/powerpc/copyinout.cSun Dec  1 17:29:07 2013
(r258802)
@@ -250,22 +250,11 @@ copyin(const void *udaddr, void *kaddr, 
 int
 copyinstr(const void *udaddr, void *kaddr, size_t len, size_t *done)
 {
-   struct  thread *td;
-   pmap_t  pm;
-   faultbufenv;
const char  *up;
char*kp;
size_t  l;
int rv, c;
 
-   td = curthread;
-   pm = &td->td_proc->p_vmspace->vm_pmap;
-
-   if (setfault(env)) {
-   td->td_pcb->pcb_onfault = NULL;
-   return (EFAULT);
-   }
-
kp = kaddr;
up = udaddr;
 
@@ -288,7 +277,6 @@ copyinstr(const void *udaddr, void *kadd
*done = l;
}
 
-   td->td_pcb->pcb_onfault = NULL;
return (rv);
 }
 
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258800 - head/sys/powerpc/aim

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 17:28:28 2013
New Revision: 258800
URL: http://svnweb.freebsd.org/changeset/base/258800

Log:
  The kernel stack guard pages are only below the stack pointer, not above.
  Prevent erroneous detection of stack overflows on legitimate faults on the
  page after this thread's stack.
  
  MFC after:3 days

Modified:
  head/sys/powerpc/aim/trap_subr32.S
  head/sys/powerpc/aim/trap_subr64.S

Modified: head/sys/powerpc/aim/trap_subr32.S
==
--- head/sys/powerpc/aim/trap_subr32.S  Sun Dec  1 17:00:57 2013
(r258799)
+++ head/sys/powerpc/aim/trap_subr32.S  Sun Dec  1 17:28:28 2013
(r258800)
@@ -664,11 +664,12 @@ disitrap:
stw %r31,(PC_TEMPSAVE+CPUSAVE_AIM_DSISR)(%r1)
 
 #ifdef KDB
-   /* Try and detect a kernel stack overflow */
+   /* Try to detect a kernel stack overflow */
mfsrr1  %r31
mtcr%r31
bt  17,realtrap /* branch is user mode */
mfsprg1 %r31/* get old SP */
+   clrrwi  %r31,%r31,11/* Round SP down to nearest page */
sub.%r30,%r31,%r30  /* SP - DAR */
bge 1f
neg %r30,%r30   /* modulo value */

Modified: head/sys/powerpc/aim/trap_subr64.S
==
--- head/sys/powerpc/aim/trap_subr64.S  Sun Dec  1 17:00:57 2013
(r258799)
+++ head/sys/powerpc/aim/trap_subr64.S  Sun Dec  1 17:28:28 2013
(r258800)
@@ -569,11 +569,12 @@ disitrap:
std %r31,(PC_TEMPSAVE+CPUSAVE_AIM_DSISR)(%r1)
 
 #ifdef KDB
-   /* Try and detect a kernel stack overflow */
+   /* Try to detect a kernel stack overflow */
mfsrr1  %r31
mtcr%r31
bt  17,realtrap /* branch is user mode */
mfsprg1 %r31/* get old SP */
+   clrrdi  %r31,%r31,11/* Round SP down to nearest page */
sub.%r30,%r31,%r30  /* SP - DAR */
bge 1f
neg %r30,%r30   /* modulo value */
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258799 - head/bin/test

2013-12-01 Thread Jilles Tjoelker
Author: jilles
Date: Sun Dec  1 17:00:57 2013
New Revision: 258799
URL: http://svnweb.freebsd.org/changeset/base/258799

Log:
  test: Simplify the code by unifying op_num and op_type.
  
  The global variable t_wp_op is no longer needed.

Modified:
  head/bin/test/test.c

Modified: head/bin/test/test.c
==
--- head/bin/test/test.cSun Dec  1 16:02:22 2013(r258798)
+++ head/bin/test/test.cSun Dec  1 17:00:57 2013(r258799)
@@ -67,9 +67,18 @@ error(const char *msg, ...)
operand ::= 
 */
 
+enum token_types {
+   UNOP = 0x100,
+   BINOP = 0x200,
+   BUNOP = 0x300,
+   BBINOP = 0x400,
+   PAREN = 0x500
+};
+
 enum token {
EOI,
-   FILRD,
+   OPERAND,
+   FILRD = UNOP + 1,
FILWR,
FILEX,
FILEXIST,
@@ -85,13 +94,13 @@ enum token {
FILSUID,
FILSGID,
FILSTCK,
-   FILNT,
-   FILOT,
-   FILEQ,
-   FILUID,
-   FILGID,
STREZ,
STRNZ,
+   FILUID,
+   FILGID,
+   FILNT = BINOP + 1,
+   FILOT,
+   FILEQ,
STREQ,
STRNE,
STRLT,
@@ -102,70 +111,62 @@ enum token {
INTGT,
INTLE,
INTLT,
-   UNOT,
-   BAND,
+   UNOT = BUNOP + 1,
+   BAND = BBINOP + 1,
BOR,
-   LPAREN,
-   RPAREN,
-   OPERAND
+   LPAREN = PAREN + 1,
+   RPAREN
 };
 
-enum token_types {
-   UNOP,
-   BINOP,
-   BUNOP,
-   BBINOP,
-   PAREN
-};
+#define TOKEN_TYPE(token) ((token) & 0xff00)
 
 static struct t_op {
char op_text[4];
-   short op_num, op_type;
+   short op_num;
 } const ops [] = {
-   {"-r",  FILRD,  UNOP},
-   {"-w",  FILWR,  UNOP},
-   {"-x",  FILEX,  UNOP},
-   {"-e",  FILEXIST,UNOP},
-   {"-f",  FILREG, UNOP},
-   {"-d",  FILDIR, UNOP},
-   {"-c",  FILCDEV,UNOP},
-   {"-b",  FILBDEV,UNOP},
-   {"-p",  FILFIFO,UNOP},
-   {"-u",  FILSUID,UNOP},
-   {"-g",  FILSGID,UNOP},
-   {"-k",  FILSTCK,UNOP},
-   {"-s",  FILGZ,  UNOP},
-   {"-t",  FILTT,  UNOP},
-   {"-z",  STREZ,  UNOP},
-   {"-n",  STRNZ,  UNOP},
-   {"-h",  FILSYM, UNOP},  /* for backwards compat */
-   {"-O",  FILUID, UNOP},
-   {"-G",  FILGID, UNOP},
-   {"-L",  FILSYM, UNOP},
-   {"-S",  FILSOCK,UNOP},
-   {"=",   STREQ,  BINOP},
-   {"==",  STREQ,  BINOP},
-   {"!=",  STRNE,  BINOP},
-   {"<",   STRLT,  BINOP},
-   {">",   STRGT,  BINOP},
-   {"-eq", INTEQ,  BINOP},
-   {"-ne", INTNE,  BINOP},
-   {"-ge", INTGE,  BINOP},
-   {"-gt", INTGT,  BINOP},
-   {"-le", INTLE,  BINOP},
-   {"-lt", INTLT,  BINOP},
-   {"-nt", FILNT,  BINOP},
-   {"-ot", FILOT,  BINOP},
-   {"-ef", FILEQ,  BINOP},
-   {"!",   UNOT,   BUNOP},
-   {"-a",  BAND,   BBINOP},
-   {"-o",  BOR,BBINOP},
-   {"(",   LPAREN, PAREN},
-   {")",   RPAREN, PAREN},
-   {"",0,  0}
+   {"-r",  FILRD},
+   {"-w",  FILWR},
+   {"-x",  FILEX},
+   {"-e",  FILEXIST},
+   {"-f",  FILREG},
+   {"-d",  FILDIR},
+   {"-c",  FILCDEV},
+   {"-b",  FILBDEV},
+   {"-p",  FILFIFO},
+   {"-u",  FILSUID},
+   {"-g",  FILSGID},
+   {"-k",  FILSTCK},
+   {"-s",  FILGZ},
+   {"-t",  FILTT},
+   {"-z",  STREZ},
+   {"-n",  STRNZ},
+   {"-h",  FILSYM},/* for backwards compat */
+   {"-O",  FILUID},
+   {"-G",  FILGID},
+   {"-L",  FILSYM},
+   {"-S",  FILSOCK},
+   {"=",   STREQ},
+   {"==",  STREQ},
+   {"!=",  STRNE},
+   {"<",   STRLT},
+   {">",   STRGT},
+   {"-eq", INTEQ},
+   {"-ne", INTNE},
+   {"-ge", INTGE},
+   {"-gt", INTGT},
+   {"-le", INTLE},
+   {"-lt", INTLT},
+   {"-nt", FILNT},
+   {"-ot", FILOT},
+   {"-ef", FILEQ},
+   {"!",   UNOT},
+   {"-a",  BAND},
+   {"-o",  BOR},
+   {"(",   LPAREN},
+   {")",   RPAREN},
+   {"",0}
 };
 
-static struct t_op const *t_wp_op;
 static int nargc;
 static char **t_wp;
 static int parenlevel;
@@ -295,10 +296,10 @@ primary(enum token n)
parenlevel--;
return res;
}
-   if (t_wp_op && t_wp_op->op_type == UNOP) {
+   if (TOKEN_TYPE(n) == UNOP) {
/* unary expression */
if (--nargc == 0)
-   syntax(t_wp_op->op_text, "argument expected");
+   syntax(NULL, "argument expected"); /* impossible */
switch (n) {
case STREZ:
return strlen(*++t_wp) == 0;
@@ -311,10 +312,8 @@ primary(enum token n)
}
}
 
-   if (t_lex(nargc > 0 ? t_wp[1] : NULL), t_wp_op && t_wp_op->op_type ==
-   BINOP) {
+   if (TOKEN_TYPE(t_lex(nargc > 0 ? t_wp[1] : NULL)) == BINOP)

svn commit: r258798 - in head/sys: conf dev/uart

2013-12-01 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Sun Dec  1 16:02:22 2013
New Revision: 258798
URL: http://svnweb.freebsd.org/changeset/base/258798

Log:
  Make uart_cpu_powerpc work on both FDT and OFW systems. This is the last
  remaining modification required to build kernels that work with both on
  PowerPC.

Modified:
  head/sys/conf/files.powerpc
  head/sys/dev/uart/uart_cpu_powerpc.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Sun Dec  1 15:24:35 2013(r258797)
+++ head/sys/conf/files.powerpc Sun Dec  1 16:02:22 2013(r258798)
@@ -63,8 +63,7 @@ dev/syscons/scterm-teken.coptionalsc
 dev/syscons/scvtb.coptionalsc
 dev/tsec/if_tsec.c optionaltsec
 dev/tsec/if_tsec_fdt.c optionaltsec fdt
-dev/uart/uart_cpu_fdt.coptionaluart fdt
-dev/uart/uart_cpu_powerpc.coptionaluart aim
+dev/uart/uart_cpu_powerpc.coptionaluart
 dev/usb/controller/ehci_fsl.c  optionalehci mpc85xx
 kern/kern_clocksource.cstandard
 kern/subr_dummy_vdso_tc.c  standard

Modified: head/sys/dev/uart/uart_cpu_powerpc.c
==
--- head/sys/dev/uart/uart_cpu_powerpc.cSun Dec  1 15:24:35 2013
(r258797)
+++ head/sys/dev/uart/uart_cpu_powerpc.cSun Dec  1 16:02:22 2013
(r258798)
@@ -61,42 +61,96 @@ ofw_get_uart_console(phandle_t opts, pha
input = OF_finddevice(buf);
if (input == -1)
return (ENXIO);
-   if (OF_getprop(opts, outputdev, buf, sizeof(buf)) == -1)
-   return (ENXIO);
-   if (OF_finddevice(buf) != input)
-   return (ENXIO);
+
+   if (outputdev != NULL) {
+   if (OF_getprop(opts, outputdev, buf, sizeof(buf)) == -1)
+   return (ENXIO);
+   if (OF_finddevice(buf) != input)
+   return (ENXIO);
+   }
 
*result = input;
return (0);
 }
 
+static int
+ofw_get_console_phandle_path(phandle_t node, phandle_t *result,
+const char *prop)
+{
+   union {
+   char buf[64];
+   phandle_t ref;
+   } field;
+   phandle_t output;
+   ssize_t size;
+
+   size = OF_getproplen(node, prop);
+   if (size == -1)
+   return (ENXIO);
+   OF_getprop(node, prop, &field, sizeof(field));
+
+   /* This property might be a phandle or might be a path. Hooray. */
+
+   output = -1;
+   if (field.buf[size - 1] == 0)
+   output = OF_finddevice(field.buf);
+   if (output == -1 && size == 4)
+   output = OF_xref_phandle(field.ref);
+   
+   if (output != -1) {
+   *result = output;
+   return (0);
+   }
+
+   return (ENXIO);
+}
+
 int
 uart_cpu_getdev(int devtype, struct uart_devinfo *di)
 {
char buf[64];
struct uart_class *class;
-   phandle_t input, opts;
+   phandle_t input, opts, chosen;
int error;
 
class = &uart_z8530_class;
if (class == NULL)
return (ENXIO);
 
-   if ((opts = OF_finddevice("/options")) == -1)
-   return (ENXIO);
+   opts = OF_finddevice("/options");
+   chosen = OF_finddevice("/chosen");
switch (devtype) {
case UART_DEV_CONSOLE:
-   if (ofw_get_uart_console(opts, &input, "input-device",
-   "output-device")) {
-   /*
-* At least some G5 Xserves require that we
-* probe input-device-1 as well
-*/
-   
-   if (ofw_get_uart_console(opts, &input, "input-device-1",
-   "output-device-1"))
-   return (ENXIO);
+   error = ENXIO;
+   if (chosen != -1 && error != 0)
+   error = ofw_get_uart_console(chosen, &input,
+   "stdout-path", NULL);
+   if (chosen != -1 && error != 0)
+   error = ofw_get_uart_console(chosen, &input,
+   "linux,stdout-path", NULL);
+   if (chosen != -1 && error != 0)
+   error = ofw_get_console_phandle_path(chosen, &input,
+   "stdout");
+   if (chosen != -1 && error != 0)
+   error = ofw_get_uart_console(chosen, &input,
+   "stdin-path", NULL);
+   if (chosen != -1 && error != 0)
+   error = ofw_get_console_phandle_path(chosen, &input,
+   "stdin");
+   if (opts != -1 && error != 0)
+   error = ofw_get_uart_console(opts, &input,
+   "input-device", "output-device");
+ 

svn commit: r258797 - head/release

2013-12-01 Thread Hiroki Sato
Author: hrs
Date: Sun Dec  1 15:24:35 2013
New Revision: 258797
URL: http://svnweb.freebsd.org/changeset/base/258797

Log:
  Use standard CLEANFILES/CLEANDIRS and clean target in bsd.obj.mk.

Modified:
  head/release/Makefile

Modified: head/release/Makefile
==
--- head/release/Makefile   Sun Dec  1 15:06:30 2013(r258796)
+++ head/release/Makefile   Sun Dec  1 15:24:35 2013(r258797)
@@ -91,7 +91,12 @@ IMAGES+= memstick.img
 IMAGES+=   mini-memstick.img
 .endif
 
+CLEANFILES=packagesystem *.txz MANIFEST system ${IMAGES}
+CLEANDIRS= dist ftp release bootonly dvd
+beforeclean:
+   chflags -R noschg .
 .include 
+clean: beforeclean
 
 base.txz:
mkdir -p ${DISTDIR}
@@ -233,15 +238,6 @@ release:
${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
 
-clean:
-   chflags -R noschg .
-   rm -rf dist ftp
-   rm -f packagesystem
-   rm -f *.txz MANIFEST
-   rm -f system
-   rm -rf release bootonly dvd
-   rm -f ${IMAGES}
-
 install:
 .if defined(DESTDIR) && !empty(DESTDIR)
mkdir -p ${DESTDIR}
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258796 - head/release

2013-12-01 Thread Hiroki Sato
Author: hrs
Date: Sun Dec  1 15:06:30 2013
New Revision: 258796
URL: http://svnweb.freebsd.org/changeset/base/258796

Log:
  - Prevent TARGET and TARGET_ARCH from being defined as empty when
TARGET="" and/or TARGET_ARCH="" is specified.
  - Remove extra ().

Modified:
  head/release/Makefile

Modified: head/release/Makefile
==
--- head/release/Makefile   Sun Dec  1 14:03:03 2013(r258795)
+++ head/release/Makefile   Sun Dec  1 15:06:30 2013(r258796)
@@ -29,11 +29,15 @@ PORTSDIR?=  /usr/ports
 DOCDIR?=   /usr/doc
 RELNOTES_LANG?= en_US.ISO8859-1
 
-TARGET?=   ${MACHINE}
+.if !defined(TARGET) || empty(TARGET)
+TARGET=${MACHINE}
+.endif
+.if !defined(TARGET_ARCH) || empty(TARGET_ARCH)
 .if ${TARGET} == ${MACHINE}
-TARGET_ARCH?=  ${MACHINE_ARCH}
+TARGET_ARCH=   ${MACHINE_ARCH}
 .else
-TARGET_ARCH?=  ${TARGET}
+TARGET_ARCH=   ${TARGET}
+.endif
 .endif
 IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}
 DISTDIR=   dist
@@ -75,7 +79,7 @@ IMAGES=
 .if exists(${.CURDIR}/${TARGET}/mkisoimages.sh)
 RELEASE_TARGETS+= cdrom
 IMAGES+=   disc1.iso bootonly.iso
-. if(!defined(NODVD))
+. if !defined(NODVD)
 RELEASE_TARGETS+= dvdrom
 IMAGES+=   dvd1.iso
 . endif
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r258779 - in head/sys/dev: cesa drm drm2/i915 drm2/radeon hatm

2013-12-01 Thread David Chisnall
On 1 Dec 2013, at 07:59, Konstantin Belousov  wrote:

> Revert the drm2/i915 changes from this and following commits now.
> You did not contacted obvious maintainer of the file.
> 
> The changes are pointless and make the import of upstream changes
> harder; for i915_reg.h, much harder.
> 
> Not to mention that the whole churn is not needed if the
> -fno-strict-overflow flag is used.

If supporting code that is obviously wrong (as in this case, as the compiler 
will happily tell you if you don't explicitly silence warnings) is the 
justification for wanting -fno-strict-overflow, then this is a very flimsy 
justification.

David

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


svn commit: r258794 - head/lib/libc/sys

2013-12-01 Thread Jilles Tjoelker
Author: jilles
Date: Sun Dec  1 12:24:57 2013
New Revision: 258794
URL: http://svnweb.freebsd.org/changeset/base/258794

Log:
  chmod(2): Document S_ISVTX following SUSv3/SUSv4.
  
  S_ISTXT is non-standard.
  
  While here, also update fchmodat() standards entry to POSIX.1-2008.

Modified:
  head/lib/libc/sys/chmod.2

Modified: head/lib/libc/sys/chmod.2
==
--- head/lib/libc/sys/chmod.2   Sun Dec  1 11:59:37 2013(r258793)
+++ head/lib/libc/sys/chmod.2   Sun Dec  1 12:24:57 2013(r258794)
@@ -28,7 +28,7 @@
 .\" @(#)chmod.28.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd April 10, 2008
+.Dd December 1, 2013
 .Dt CHMOD 2
 .Os
 .Sh NAME
@@ -139,21 +139,24 @@ defined in
 
 #define S_ISUID 0004000/* set user id on execution */
 #define S_ISGID 0002000/* set group id on execution */
-#ifndef __BSD_VISIBLE
-#define S_ISTXT 0001000/* sticky bit */
-#endif
+#define S_ISVTX 0001000/* sticky bit */
 .Ed
 .Pp
+The non-standard
+.Dv S_ISTXT
+is a synonym for
+.Dv S_ISVTX .
+.Pp
 The
 .Fx
 VM system totally ignores the sticky bit
-.Pq Dv ISTXT
+.Pq Dv S_ISVTX
 for executables.
 On UFS-based file systems (FFS, LFS) the sticky
 bit may only be set upon directories.
 .Pp
 If mode
-.Dv ISTXT
+.Dv S_ISVTX
 (the `sticky bit') is set on a directory,
 an unprivileged user may not delete or rename
 files of other users in that directory.
@@ -296,12 +299,15 @@ The
 system call is expected to conform to
 .St -p1003.1-90 ,
 except for the return of
-.Er EFTYPE
-and the use of
-.Dv S_ISTXT .
+.Er EFTYPE .
+The
+.Dv S_ISVTX
+bit on directories is expected to conform to
+.St -susv3 .
 The
 .Fn fchmodat
-system call follows The Open Group Extended API Set 2 specification.
+system call is expected to conform to
+.St -p1003.1-2008 .
 .Sh HISTORY
 The
 .Fn chmod
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258793 - head/lib/libc/sys

2013-12-01 Thread Jilles Tjoelker
Author: jilles
Date: Sun Dec  1 11:59:37 2013
New Revision: 258793
URL: http://svnweb.freebsd.org/changeset/base/258793

Log:
  waitid(2): Do not tell userland programmers to include .
  
  Userland should get these definitions by including .

Modified:
  head/lib/libc/sys/wait.2

Modified: head/lib/libc/sys/wait.2
==
--- head/lib/libc/sys/wait.2Sun Dec  1 09:52:38 2013(r258792)
+++ head/lib/libc/sys/wait.2Sun Dec  1 11:59:37 2013(r258793)
@@ -48,7 +48,7 @@
 .Fn wait "int *status"
 .Ft pid_t
 .Fn waitpid "pid_t wpid" "int *status" "int options"
-.In sys/signal.h
+.In signal.h
 .Ft int
 .Fn waitid "idtype_t idtype" "id_t id" "siginfo_t *info" "int options"
 .In sys/time.h
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258792 - head/sbin

2013-12-01 Thread Pawel Jakub Dawidek
Author: pjd
Date: Sun Dec  1 09:52:38 2013
New Revision: 258792
URL: http://svnweb.freebsd.org/changeset/base/258792

Log:
  Remove trailing backslash.

Modified:
  head/sbin/Makefile

Modified: head/sbin/Makefile
==
--- head/sbin/Makefile  Sun Dec  1 09:41:06 2013(r258791)
+++ head/sbin/Makefile  Sun Dec  1 09:52:38 2013(r258792)
@@ -72,7 +72,7 @@ SUBDIR=adjkerntz \
swapon \
sysctl \
tunefs \
-   umount \
+   umount
 
 .if ${MK_ATM} != "no"
 SUBDIR+=   atm
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r258791 - in head: . lib lib/libpjdlog share/mk

2013-12-01 Thread Pawel Jakub Dawidek
Author: pjd
Date: Sun Dec  1 09:41:06 2013
New Revision: 258791
URL: http://svnweb.freebsd.org/changeset/base/258791

Log:
  Move my simple logging API to a separate library. It is now already used
  by hastctl(8), hastd(8) and auditdistd(8) and will soon be also used
  by casperd(8) and its services. There is no documentation and pjdlog.h
  header file is not installed in /usr/include/ to keep it private.
  Unfortunately we don't have /lib/private/ at this point, only
  /usr/lib/private/, so the library is installed in /lib/.
  
  Sponsored by: The FreeBSD Foundation

Added:
  head/lib/libpjdlog/
  head/lib/libpjdlog/Makefile   (contents, props changed)
  head/lib/libpjdlog/pjdlog.c   (contents, props changed)
  head/lib/libpjdlog/pjdlog.h   (contents, props changed)
Modified:
  head/Makefile.inc1
  head/lib/Makefile
  head/share/mk/bsd.libnames.mk

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Sun Dec  1 08:13:10 2013(r258790)
+++ head/Makefile.inc1  Sun Dec  1 09:41:06 2013(r258791)
@@ -1505,7 +1505,7 @@ _prebuild_libs=   ${_kerberos5_lib_libasn1
lib/libradius lib/libsbuf lib/libtacplus \
${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
${_cddl_lib_libzfs_core} \
-   lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
+   lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \
${_secure_lib_libcrypto} ${_lib_libldns} \
${_secure_lib_libssh} ${_secure_lib_libssl}
 
@@ -1521,6 +1521,8 @@ _lib_libthr=  lib/libthr
 _ofed_lib= contrib/ofed/usr.lib/
 .endif
 
+lib/libpjdlog__L: lib/libutil__L
+
 _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} 
usr.bin/lex/lib ${_ofed_lib}
 .for _DIR in ${LOCAL_LIB_DIRS}
 .if exists(${.CURDIR}/${_DIR}/Makefile)

Modified: head/lib/Makefile
==
--- head/lib/Makefile   Sun Dec  1 08:13:10 2013(r258790)
+++ head/lib/Makefile   Sun Dec  1 09:41:06 2013(r258791)
@@ -35,6 +35,8 @@ SUBDIR_ORDERED=   ${_csu} \
libc_nonshared \
libbsm \
libauditd \
+   libutil \
+   libpjdlog \
libcompiler_rt \
libcrypt \
libelf \
@@ -49,7 +51,6 @@ SUBDIR_ORDERED=   ${_csu} \
librpcsvc \
libsbuf \
libtacplus \
-   libutil \
${_libypclnt} \
${_libcxxrt} \
${_libcplusplus}

Added: head/lib/libpjdlog/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/lib/libpjdlog/Makefile Sun Dec  1 09:41:06 2013(r258791)
@@ -0,0 +1,21 @@
+#
+# $FreeBSD$
+#
+
+SHLIBDIR?= /lib
+
+.include 
+
+LIB=   pjdlog
+SRCS=  pjdlog.c
+
+SHLIB_MAJOR=   0
+
+CFLAGS+=-I${.CURDIR}
+
+DPADD= ${LIBUTIL}
+LDADD= -lutil
+
+WARNS?=6
+
+.include 

Added: head/lib/libpjdlog/pjdlog.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/lib/libpjdlog/pjdlog.c Sun Dec  1 09:41:06 2013(r258791)
@@ -0,0 +1,809 @@
+/*-
+ * Copyright (c) 2009-2010 The FreeBSD Foundation
+ * Copyright (c) 2011 Pawel Jakub Dawidek 
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+

svn commit: r258790 - head/sys/dev/iscsi

2013-12-01 Thread Edward Tomasz Napierala
Author: trasz
Date: Sun Dec  1 08:13:10 2013
New Revision: 258790
URL: http://svnweb.freebsd.org/changeset/base/258790

Log:
  Fix hang on reboot with active iSCSI connections.
  
  MFC after:3 days
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/dev/iscsi/iscsi.c

Modified: head/sys/dev/iscsi/iscsi.c
==
--- head/sys/dev/iscsi/iscsi.c  Sun Dec  1 07:34:21 2013(r258789)
+++ head/sys/dev/iscsi/iscsi.c  Sun Dec  1 08:13:10 2013(r258790)
@@ -2110,10 +2110,12 @@ iscsi_load(void)
sc->sc_cdev->si_drv1 = sc;
 
/*
-* XXX: For some reason this doesn't do its job; active sessions still 
hang out there
-*  after final sync, making the reboot effectively hang.
+* Note that this needs to get run before dashutdown().  Otherwise,
+* when rebooting with iSCSI session with outstanding requests,
+* but disconnected, dashutdown() will hang on cam_periph_runccb().
 */
-   sc->sc_shutdown_eh = EVENTHANDLER_REGISTER(shutdown_post_sync, 
iscsi_shutdown, sc, SHUTDOWN_PRI_DEFAULT);
+   sc->sc_shutdown_eh = EVENTHANDLER_REGISTER(shutdown_post_sync,
+   iscsi_shutdown, sc, SHUTDOWN_PRI_FIRST);
 
return (0);
 }
___
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r258779 - in head/sys/dev: cesa drm drm2/i915 drm2/radeon hatm

2013-12-01 Thread Konstantin Belousov
On Sat, Nov 30, 2013 at 10:16:38PM +, Eitan Adler wrote:
> Author: eadler
> Date: Sat Nov 30 22:16:37 2013
> New Revision: 258779
> URL: http://svnweb.freebsd.org/changeset/base/258779
> 
> Log:
>   Similar to the (1 << 31) case it is not defined to do (2 << 30).
> 
> Modified:
...

>   head/sys/dev/drm2/i915/i915_reg.h

Revert the drm2/i915 changes from this and following commits now.
You did not contacted obvious maintainer of the file.

The changes are pointless and make the import of upstream changes
harder; for i915_reg.h, much harder.

Not to mention that the whole churn is not needed if the
-fno-strict-overflow flag is used.


pgpw_d6f2JqmM.pgp
Description: PGP signature