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

2009-10-15 Thread M. Warner Losh
In message: ecc72cab-de06-4921-b228-1db72f8b9...@mac.com
Marcel Moolenaar xcl...@mac.com writes:
: 
: On Oct 14, 2009, at 9:44 PM, M. Warner Losh wrote:
:  This is also the source of my frustration with the thread, I think.  I
:  don't think that Marcel understood this world view and assumed that no
:  mapping was needed and therefore orm was this horribly x86 specific
:  code.  Since I didn't understand this until today, I reacted badly and
:  lost my temper, for which I'd like to apologize.  I should have
:  stopped and explained this view better.
: 
: Apology accepted. Sorry, if I appeared frustrated as well.
: 
: I can respect the PoV that the hardcoding in drivers are bus addresses.
: I have no problem with that. It isn't my PoV, because it doesn't match
: with the existence of functions like inb(), outb(), inw(), outw(), etc.

inb, etc, aren't part of bus_space and exist outside of it.  These
functions typically don't exist on !x86 platforms, and when they do
they are very platform specific..

: The I/O port numbers passed to those functions are typically absolute
: due to the total lack of newbus involvement. I merely extrapolated the
: memory addresses as behaving in the same way. They do actually, because
: VGA frame buffer memory is at 0xA and part of the PCI specification
: and you don't want to translate that, so how does MD code know when to
: map and when not to? It doesn't, so the only logical interpretation is
: that the addresses are absolute and no mapping can be done.

The PCI specification says that the frame buffer is at 0xa in the
pci bus space.  It doesn't say anything about how that bus space is
mapped into the processor's address space (although it comments on
x86's traditional mapping in many places).

: I don't mind changing the interpretation of I/O ports and memory
: addresses as being ISA bus addresses, but that means that we need to
: get rid off inb(), outb(), et al and use newbus through out. Until
: that's done (and people figure out how to deal with VGA resources) or
: there's a real need for orm(4), it's safest for non-PC platforms to not
: have orm(4) wreck havoc.

There is a real need for orm.  I'm open to ways to improve the
situation without requiring the complete implementation of the ISA
stuff.  The reason that it does wreck havoc is because there's
problems in the ISA implementation on the platforms it wrecks havoc
on.  You can mask these problems by removing orm.  However, any other
isa device that reads memory will have issues on these platforms.

The VGA resource issue should be a simple one to deal with via
bus_spae.  This is the first time I've heard of it, frankly, so would
be interested in learning more about it.

We've also, as a project, have strongly encouraged drivers to move
away from inb, et al, and direct memory access to using bus_space
interfaces since around FreeBSD 4.0.  Many drivers have been
converted.  I think the few stragglers were killed as part of the
network modernization efforts, although some pre-ISA PNP support still
uses inb/outb directly.

I think I'd quibble that it is !x86.  It is specific to powerpc and
itanium platforms.  Sparc64 handles it correctly, as does arm (at east
in the projects/arm tree).  I don't think that mips has any ISA
support, even in the projects/mips tree.

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


svn commit: r198111 - head/sys/netinet

2009-10-15 Thread Qing Li
Author: qingli
Date: Thu Oct 15 06:12:04 2009
New Revision: 198111
URL: http://svn.freebsd.org/changeset/base/198111

Log:
  This patch fixes the following issues in the ARP operation:
  
  1. There is a regression issue in the ARP code. The incomplete
 ARP entry was timing out too quickly (1 second timeout), as
 such, a new entry is created each time arpresolve() is called.
 Therefore the maximum attempts made is always 1. Consequently
 the error code returned to the application is always 0.
  2. Set the expiration of each incomplete entry to a 20-second
 lifetime.
  3. Return incomplete entries to the application.
  
  Reviewed by:  kmacy
  MFC after:3 days

Modified:
  head/sys/netinet/if_ether.c
  head/sys/netinet/in.c

Modified: head/sys/netinet/if_ether.c
==
--- head/sys/netinet/if_ether.c Thu Oct 15 06:02:37 2009(r198110)
+++ head/sys/netinet/if_ether.c Thu Oct 15 06:12:04 2009(r198111)
@@ -88,11 +88,14 @@ VNET_DEFINE(int, useloopback) = 1;  /* us
 /* timer values */
 static VNET_DEFINE(int, arpt_keep) = (20*60);  /* once resolved, good for 20
 * minutes */
+static VNET_DEFINE(int, arpt_down) = 20;  /* keep incomplete entries for
+  * 20 seconds */
 static VNET_DEFINE(int, arp_maxtries) = 5;
 static VNET_DEFINE(int, arp_proxyall);
 static VNET_DEFINE(struct arpstat, arpstat);  /* ARP statistics, see if_arp.h 
*/
 
 #defineV_arpt_keep VNET(arpt_keep)
+#defineV_arpt_down VNET(arpt_down)
 #defineV_arp_maxtries  VNET(arp_maxtries)
 #defineV_arp_proxyall  VNET(arp_proxyall)
 #defineV_arpstat   VNET(arpstat)
@@ -309,7 +312,7 @@ retry:
} 
 
if ((la-la_flags  LLE_VALID) 
-   ((la-la_flags  LLE_STATIC) || la-la_expire  time_uptime)) {
+   ((la-la_flags  LLE_STATIC) || la-la_expire  time_second)) {
bcopy(la-ll_addr, desten, ifp-if_addrlen);
/*
 * If entry has an expiry time and it is approaching,
@@ -317,7 +320,7 @@ retry:
 * arpt_down interval.
 */
if (!(la-la_flags  LLE_STATIC) 
-   time_uptime + la-la_preempt  la-la_expire) {
+   time_second + la-la_preempt  la-la_expire) {
arprequest(ifp, NULL,
SIN(dst)-sin_addr, IF_LLADDR(ifp));
 
@@ -337,7 +340,7 @@ retry:
goto done;
}
 
-   renew = (la-la_asked == 0 || la-la_expire != time_uptime);
+   renew = (la-la_asked == 0 || la-la_expire != time_second);
if ((renew || m != NULL)  (flags  LLE_EXCLUSIVE) == 0) {
flags |= LLE_EXCLUSIVE;
LLE_RUNLOCK(la);
@@ -370,12 +373,12 @@ retry:
error = EWOULDBLOCK;/* First request. */
else
error =
-   (rt0-rt_flags  RTF_GATEWAY) ? EHOSTDOWN : EHOSTUNREACH;
+   (rt0-rt_flags  RTF_GATEWAY) ? EHOSTUNREACH : 
EHOSTDOWN;
 
if (renew) {
LLE_ADDREF(la);
-   la-la_expire = time_uptime;
-   callout_reset(la-la_timer, hz, arptimer, la);
+   la-la_expire = time_second;
+   callout_reset(la-la_timer, hz * V_arpt_down, arptimer, la);
la-la_asked++;
LLE_WUNLOCK(la);
arprequest(ifp, NULL, SIN(dst)-sin_addr,
@@ -687,7 +690,7 @@ match:
EVENTHANDLER_INVOKE(arp_update_event, la);
 
if (!(la-la_flags  LLE_STATIC)) {
-   la-la_expire = time_uptime + V_arpt_keep;
+   la-la_expire = time_second + V_arpt_keep;
callout_reset(la-la_timer, hz * V_arpt_keep,
arptimer, la);
}

Modified: head/sys/netinet/in.c
==
--- head/sys/netinet/in.c   Thu Oct 15 06:02:37 2009(r198110)
+++ head/sys/netinet/in.c   Thu Oct 15 06:12:04 2009(r198111)
@@ -1440,7 +1440,7 @@ in_lltable_dump(struct lltable *llt, str
struct sockaddr_dl *sdl;

/* skip deleted entries */
-   if ((lle-la_flags  (LLE_DELETED|LLE_VALID)) != 
LLE_VALID)
+   if ((lle-la_flags  LLE_DELETED) == LLE_DELETED)
continue;
/* Skip if jailed and not a valid IP of the prison. */
if (prison_if(wr-td-td_ucred, L3_ADDR(lle)) != 0)
@@ -1472,10 +1472,15 @@ in_lltable_dump(struct lltable *llt, str
sdl = arpc.sdl;
sdl-sdl_family = AF_LINK;
sdl-sdl_len 

Re: svn commit: r198111 - head/sys/netinet

2009-10-15 Thread Qing Li
Forgot to mention the return code was incorrect. The function was returning
EHOSTUNEACH when it should be returning EHOSTDOWN. This is also
fixed by this patch.

-- Qing



On Wed, Oct 14, 2009 at 11:12 PM, Qing Li qin...@freebsd.org wrote:
 Author: qingli
 Date: Thu Oct 15 06:12:04 2009
 New Revision: 198111
 URL: http://svn.freebsd.org/changeset/base/198111

 Log:
  This patch fixes the following issues in the ARP operation:

  1. There is a regression issue in the ARP code. The incomplete
     ARP entry was timing out too quickly (1 second timeout), as
     such, a new entry is created each time arpresolve() is called.
     Therefore the maximum attempts made is always 1. Consequently
     the error code returned to the application is always 0.
  2. Set the expiration of each incomplete entry to a 20-second
     lifetime.
  3. Return incomplete entries to the application.

  Reviewed by:  kmacy
  MFC after:    3 days

 Modified:
  head/sys/netinet/if_ether.c
  head/sys/netinet/in.c

 Modified: head/sys/netinet/if_ether.c
 ==
 --- head/sys/netinet/if_ether.c Thu Oct 15 06:02:37 2009        (r198110)
 +++ head/sys/netinet/if_ether.c Thu Oct 15 06:12:04 2009        (r198111)
 @@ -88,11 +88,14 @@ VNET_DEFINE(int, useloopback) = 1;  /* us
  /* timer values */
  static VNET_DEFINE(int, arpt_keep) = (20*60);  /* once resolved, good for 20
                                                 * minutes */
 +static VNET_DEFINE(int, arpt_down) = 20;      /* keep incomplete entries for
 +                                              * 20 seconds */
  static VNET_DEFINE(int, arp_maxtries) = 5;
  static VNET_DEFINE(int, arp_proxyall);
  static VNET_DEFINE(struct arpstat, arpstat);  /* ARP statistics, see 
 if_arp.h */

  #define        V_arpt_keep             VNET(arpt_keep)
 +#define        V_arpt_down             VNET(arpt_down)
  #define        V_arp_maxtries          VNET(arp_maxtries)
  #define        V_arp_proxyall          VNET(arp_proxyall)
  #define        V_arpstat               VNET(arpstat)
 @@ -309,7 +312,7 @@ retry:
        }

        if ((la-la_flags  LLE_VALID) 
 -           ((la-la_flags  LLE_STATIC) || la-la_expire  time_uptime)) {
 +           ((la-la_flags  LLE_STATIC) || la-la_expire  time_second)) {
                bcopy(la-ll_addr, desten, ifp-if_addrlen);
                /*
                 * If entry has an expiry time and it is approaching,
 @@ -317,7 +320,7 @@ retry:
                 * arpt_down interval.
                 */
                if (!(la-la_flags  LLE_STATIC) 
 -                   time_uptime + la-la_preempt  la-la_expire) {
 +                   time_second + la-la_preempt  la-la_expire) {
                        arprequest(ifp, NULL,
                            SIN(dst)-sin_addr, IF_LLADDR(ifp));

 @@ -337,7 +340,7 @@ retry:
                goto done;
        }

 -       renew = (la-la_asked == 0 || la-la_expire != time_uptime);
 +       renew = (la-la_asked == 0 || la-la_expire != time_second);
        if ((renew || m != NULL)  (flags  LLE_EXCLUSIVE) == 0) {
                flags |= LLE_EXCLUSIVE;
                LLE_RUNLOCK(la);
 @@ -370,12 +373,12 @@ retry:
                error = EWOULDBLOCK;    /* First request. */
        else
                error =
 -                   (rt0-rt_flags  RTF_GATEWAY) ? EHOSTDOWN : EHOSTUNREACH;
 +                       (rt0-rt_flags  RTF_GATEWAY) ? EHOSTUNREACH : 
 EHOSTDOWN;

        if (renew) {
                LLE_ADDREF(la);
 -               la-la_expire = time_uptime;
 -               callout_reset(la-la_timer, hz, arptimer, la);
 +               la-la_expire = time_second;
 +               callout_reset(la-la_timer, hz * V_arpt_down, arptimer, la);
                la-la_asked++;
                LLE_WUNLOCK(la);
                arprequest(ifp, NULL, SIN(dst)-sin_addr,
 @@ -687,7 +690,7 @@ match:
                EVENTHANDLER_INVOKE(arp_update_event, la);

                if (!(la-la_flags  LLE_STATIC)) {
 -                       la-la_expire = time_uptime + V_arpt_keep;
 +                       la-la_expire = time_second + V_arpt_keep;
                        callout_reset(la-la_timer, hz * V_arpt_keep,
                            arptimer, la);
                }

 Modified: head/sys/netinet/in.c
 ==
 --- head/sys/netinet/in.c       Thu Oct 15 06:02:37 2009        (r198110)
 +++ head/sys/netinet/in.c       Thu Oct 15 06:12:04 2009        (r198111)
 @@ -1440,7 +1440,7 @@ in_lltable_dump(struct lltable *llt, str
                        struct sockaddr_dl *sdl;

                        /* skip deleted entries */
 -                       if ((lle-la_flags  (LLE_DELETED|LLE_VALID)) != 
 LLE_VALID)
 +                       if ((lle-la_flags  LLE_DELETED) == LLE_DELETED)
                                continue;
                        /* Skip if jailed and not a valid IP of the prison. */
        

svn commit: r198112 - in vendor/clang/dist: include/clang/AST include/clang/Basic lib/AST lib/Analysis lib/CodeGen lib/Frontend lib/Sema test/Analysis test/CodeGen test/CodeGenCXX test/SemaCXX test...

2009-10-15 Thread Roman Divacky
Author: rdivacky
Date: Thu Oct 15 07:44:25 2009
New Revision: 198112
URL: http://svn.freebsd.org/changeset/base/198112

Log:
  Update clang to 84175.

Modified:
  vendor/clang/dist/include/clang/AST/ASTContext.h
  vendor/clang/dist/include/clang/AST/Decl.h
  vendor/clang/dist/include/clang/AST/TypeLoc.h
  vendor/clang/dist/include/clang/AST/TypeLocNodes.def
  vendor/clang/dist/include/clang/AST/TypeLocVisitor.h
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/Decl.cpp
  vendor/clang/dist/lib/AST/TypeLoc.cpp
  vendor/clang/dist/lib/Analysis/CFRefCount.cpp
  vendor/clang/dist/lib/Analysis/RegionStore.cpp
  vendor/clang/dist/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp
  vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp
  vendor/clang/dist/lib/Sema/SemaExpr.cpp
  vendor/clang/dist/lib/Sema/SemaTemplate.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp
  vendor/clang/dist/lib/Sema/SemaType.cpp
  vendor/clang/dist/test/Analysis/NSString.m
  vendor/clang/dist/test/CodeGen/builtins-powi.c
  vendor/clang/dist/test/CodeGen/builtins.c
  vendor/clang/dist/test/CodeGen/const-init.c
  vendor/clang/dist/test/CodeGen/mandel.c
  vendor/clang/dist/test/CodeGenCXX/references.cpp
  vendor/clang/dist/test/CodeGenCXX/virt.cpp
  vendor/clang/dist/test/SemaCXX/incomplete-call.cpp
  vendor/clang/dist/test/SemaTemplate/explicit-instantiation.cpp
  vendor/clang/dist/test/SemaTemplate/temp_explicit.cpp
  vendor/clang/dist/www/comparison.html

Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==
--- vendor/clang/dist/include/clang/AST/ASTContext.hThu Oct 15 06:12:04 
2009(r198111)
+++ vendor/clang/dist/include/clang/AST/ASTContext.hThu Oct 15 07:44:25 
2009(r198112)
@@ -174,7 +174,7 @@ class ASTContext {
   /// This mapping will contain an entry that maps from the VarDecl for
   /// Xint::value to the corresponding VarDecl for XT::value (within the
   /// class template X) and will be marked TSK_ImplicitInstantiation.
-  llvm::DenseMapVarDecl *, MemberSpecializationInfo * 
+  llvm::DenseMapconst VarDecl *, MemberSpecializationInfo * 
 InstantiatedFromStaticDataMember;
 
   /// \brief Keeps track of the UnresolvedUsingDecls from which UsingDecls
@@ -267,7 +267,8 @@ public:
   /// \brief If this variable is an instantiated static data member of a
   /// class template specialization, returns the templated static data member
   /// from which it was instantiated.
-  MemberSpecializationInfo *getInstantiatedFromStaticDataMember(VarDecl *Var);
+  MemberSpecializationInfo *getInstantiatedFromStaticDataMember(
+   const VarDecl *Var);
 
   /// \brief Note that the static data member \p Inst is an instantiation of
   /// the static data member template \p Tmpl of a class template.

Modified: vendor/clang/dist/include/clang/AST/Decl.h
==
--- vendor/clang/dist/include/clang/AST/Decl.h  Thu Oct 15 06:12:04 2009
(r198111)
+++ vendor/clang/dist/include/clang/AST/Decl.h  Thu Oct 15 07:44:25 2009
(r198112)
@@ -584,19 +584,23 @@ public:
 return getDeclContext()-isRecord();
   }
 
+  /// \brief Determine whether this is or was instantiated from an out-of-line 
+  /// definition of a static data member.
+  bool isOutOfLine() const;
+  
   /// \brief If this variable is an instantiated static data member of a
   /// class template specialization, returns the templated static data member
   /// from which it was instantiated.
-  VarDecl *getInstantiatedFromStaticDataMember();
+  VarDecl *getInstantiatedFromStaticDataMember() const;
 
   /// \brief If this variable is a static data member, determine what kind of 
   /// template specialization or instantiation this is.
-  TemplateSpecializationKind getTemplateSpecializationKind();
+  TemplateSpecializationKind getTemplateSpecializationKind() const;
   
   /// \brief If this variable is an instantiation of a static data member of a
   /// class template specialization, retrieves the member specialization
   /// information.
-  MemberSpecializationInfo *getMemberSpecializationInfo();
+  MemberSpecializationInfo *getMemberSpecializationInfo() const;
   
   /// \brief For a static data member that was instantiated from a static
   /// data member of a class template, set the template specialiation kind.

Modified: vendor/clang/dist/include/clang/AST/TypeLoc.h
==
--- vendor/clang/dist/include/clang/AST/TypeLoc.h   Thu Oct 15 06:12:04 
2009

svn commit: r198113 - in vendor/llvm/dist: include/llvm include/llvm/ADT include/llvm/CodeGen include/llvm/CompilerDriver include/llvm/ExecutionEngine include/llvm/Support lib/Analysis lib/CodeGen ...

2009-10-15 Thread Roman Divacky
Author: rdivacky
Date: Thu Oct 15 07:47:49 2009
New Revision: 198113
URL: http://svn.freebsd.org/changeset/base/198113

Log:
  Update llvm to r84175.

Modified:
  vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
  vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h
  vendor/llvm/dist/include/llvm/CompilerDriver/CompilationGraph.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.h
  vendor/llvm/dist/include/llvm/Metadata.h
  vendor/llvm/dist/include/llvm/Operator.h
  vendor/llvm/dist/include/llvm/Pass.h
  vendor/llvm/dist/include/llvm/Support/CommandLine.h
  vendor/llvm/dist/include/llvm/Support/DebugLoc.h
  vendor/llvm/dist/include/llvm/Support/raw_ostream.h
  vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h
  vendor/llvm/dist/lib/CodeGen/CodePlacementOpt.cpp
  vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp
  vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
  vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td
  vendor/llvm/dist/lib/Transforms/Scalar/InstructionCombining.cpp
  vendor/llvm/dist/test/Analysis/BasicAA/2009-10-13-AtomicModRef.ll
  vendor/llvm/dist/test/CodeGen/X86/avoid-loop-align-2.ll
  vendor/llvm/dist/test/CodeGen/X86/avoid-loop-align.ll
  vendor/llvm/dist/tools/opt/opt.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp

Modified: vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
==
--- vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.hThu Oct 15 07:44:25 
2009(r198112)
+++ vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.hThu Oct 15 07:47:49 
2009(r198113)
@@ -89,7 +89,7 @@ template struct DenseMapInfounsigned 
   static inline unsigned long long getEmptyKey() { return ~0ULL; }
   static inline unsigned long long getTombstoneKey() { return ~0ULL - 1ULL; }
   static unsigned getHashValue(const unsigned long long Val) {
-return Val * 37ULL;
+return (unsigned)Val * 37ULL;
   }
   static bool isPod() { return true; }
   static bool isEqual(const unsigned long long LHS,

Modified: vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
==
--- vendor/llvm/dist/include/llvm/ADT/ImmutableSet.hThu Oct 15 07:44:25 
2009(r198112)
+++ vendor/llvm/dist/include/llvm/ADT/ImmutableSet.hThu Oct 15 07:47:49 
2009(r198113)
@@ -988,8 +988,8 @@ public:
 BumpPtrAllocator getAllocator() { return F.getAllocator(); }
 
   private:
-Factory(const Factory RHS) {};
-void operator=(const Factory RHS) {};
+Factory(const Factory RHS) {}
+void operator=(const Factory RHS) {}
   };
 
   friend class Factory;

Modified: vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h
==
--- vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h Thu Oct 15 07:44:25 
2009(r198112)
+++ vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h Thu Oct 15 07:47:49 
2009(r198113)
@@ -500,8 +500,8 @@ namespace llvm {
 /// ComputeOperandLatency - Override dependence edge latency using
 /// operand use/def information
 ///
-virtual void ComputeOperandLatency(SUnit *Def, SUnit *Use,
-   SDep dep) const { };
+virtual void ComputeOperandLatency(SUnit *, SUnit *,
+   SDep) const { }
 
 /// Schedule - Order nodes according to selected style, filling
 /// in the Sequence member.

Modified: vendor/llvm/dist/include/llvm/CompilerDriver/CompilationGraph.h
==
--- vendor/llvm/dist/include/llvm/CompilerDriver/CompilationGraph.h Thu Oct 
15 07:44:25 2009(r198112)
+++ vendor/llvm/dist/include/llvm/CompilerDriver/CompilationGraph.h Thu Oct 
15 07:47:49 2009(r198113)
@@ -43,7 +43,7 @@ namespace llvmc {
   class Edge : public llvm::RefCountedBaseVPTREdge {
   public:
 Edge(const std::string T) : ToolName_(T) {}
-virtual ~Edge() {};
+virtual ~Edge() {}
 
 const std::string ToolName() const { return ToolName_; }
 virtual unsigned Weight(const InputLanguagesSet InLangs) const = 0;

Modified: vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.h
==
--- vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.hThu Oct 
15 07:44:25 2009(r198112)
+++ vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.hThu Oct 
15 07:47:49 2009

Re: svn commit: r198113 - in vendor/llvm/dist: include/llvm include/llvm/ADT include/llvm/CodeGen include/llvm/CompilerDriver include/llvm/ExecutionEngine include/llvm/Support lib/Analysis lib/CodeGen

2009-10-15 Thread Roman Divacky
On Thu, Oct 15, 2009 at 07:47:49AM +, Roman Divacky wrote:
 Author: rdivacky
 Date: Thu Oct 15 07:47:49 2009
 New Revision: 198113
 URL: http://svn.freebsd.org/changeset/base/198113
 
 Log:
   Update llvm to r84175.

it's r84176 actually.
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198114 - in head/release/doc: . en_US.ISO8859-1/errata share/mk share/sgml

2009-10-15 Thread Hiroki Sato
Author: hrs
Date: Thu Oct 15 07:58:01 2009
New Revision: 198114
URL: http://svn.freebsd.org/changeset/base/198114

Log:
  Bump version numbers and update descriptions for the 9-CURRENT
  world. The %[no]include.historic knobs are removed because they
  are not used for a long time.

Modified:
  head/release/doc/README
  head/release/doc/en_US.ISO8859-1/errata/article.sgml
  head/release/doc/share/mk/doc.relnotes.mk
  head/release/doc/share/sgml/release.dsl
  head/release/doc/share/sgml/release.ent

Modified: head/release/doc/README
==
--- head/release/doc/README Thu Oct 15 07:47:49 2009(r198113)
+++ head/release/doc/README Thu Oct 15 07:58:01 2009(r198114)
@@ -99,9 +99,10 @@ element will be included.  For example:
 
para arch=sparc64SPARC64-specific text/para
 
-The currently-supported architectures are i386, sparc64, and
-ia64.  An element may appear for multiple architectures by specifying
-a comma-separated list of architectures (i.e. arch=sparc64,ia64).
+The currently-supported architectures are amd64, arm, i386, ia64,
+pc98, powerpc, and sparc64.  An element may appear for multiple
+architectures by specifying a comma-separated list of architectures
+(i.e. arch=sparc64,ia64).
 
 When creating a translation, make a new directory under this
 directory with a language code (paralleling the DocProj directory

Modified: head/release/doc/en_US.ISO8859-1/errata/article.sgml
==
--- head/release/doc/en_US.ISO8859-1/errata/article.sgmlThu Oct 15 
07:47:49 2009(r198113)
+++ head/release/doc/en_US.ISO8859-1/errata/article.sgmlThu Oct 15 
07:58:01 2009(r198114)
@@ -16,7 +16,6 @@
 
 !ENTITY % release PUBLIC -//FreeBSD//ENTITIES Release Specification//EN
 %release;
-!ENTITY release.bugfix 5.2.1-RELEASE
 ]
 
 article

Modified: head/release/doc/share/mk/doc.relnotes.mk
==
--- head/release/doc/share/mk/doc.relnotes.mk   Thu Oct 15 07:47:49 2009
(r198113)
+++ head/release/doc/share/mk/doc.relnotes.mk   Thu Oct 15 07:58:01 2009
(r198114)
@@ -11,23 +11,6 @@ DSLHTML?=${RELN_ROOT}/share/sgml/defaul
 DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl
 
 #
-# Tweakable Makefile variables
-#
-# INCLUDE_HISTORIC Used by relnotes document only.  When set,
-#  causes all release notes entries to be printed,
-#  even those marked as historic.  If not set
-#  (the default), only print non-historic
-#  release note entries.  To designate a release
-#  note entry as historic, add a role=historic
-#  attribute to the applicable element(s).
-#
-.if defined(INCLUDE_HISTORIC)
-JADEFLAGS+=-iinclude.historic
-.else
-JADEFLAGS+=-ino.include.historic
-.endif
-
-#
 # Automatic device list generation:
 #
 .if exists(${RELN_ROOT}/../man4)

Modified: head/release/doc/share/sgml/release.dsl
==
--- head/release/doc/share/sgml/release.dsl Thu Oct 15 07:47:49 2009
(r198113)
+++ head/release/doc/share/sgml/release.dsl Thu Oct 15 07:58:01 2009
(r198114)
@@ -3,8 +3,6 @@
 !DOCTYPE style-sheet PUBLIC -//James Clark//DTD DSSSL Style Sheet//EN [
 !ENTITY % output.html IGNORE
 !ENTITY % output.printIGNORE
-!ENTITY % include.historicIGNORE
-!ENTITY % no.include.historic IGNORE
 !ENTITY freebsd.dsl PUBLIC -//FreeBSD//DOCUMENT DocBook Stylesheet//EN 
CDATA DSSSL
 !ENTITY % release.ent PUBLIC -//FreeBSD//ENTITIES Release Specification//EN
 %release.ent;
@@ -14,14 +12,6 @@
   style-specification use=docbook
 style-specification-body
 
-; Configure behavior of this stylesheet
-![ %include.historic; [
-  (define %include-historic% #t)
-]]
-![ %no.include.historic; [
-  (define %include-historic% #f)
-]]
-
 ; String manipulation functions
 (define (split-string-to-list STR)
   ;; return list of STR separated with char #\ or #\,
@@ -54,36 +44,6 @@
  ((equal? STR (car s)) #t)
  (else (loop (cdr s))
 
-; Deal with conditional inclusion of text via entities.
-(default
-  (let* ((role (attribute-string (normalize role)))
-(for-arch (entity-text arch)))
-(cond
-
- ;; If role=historic, and we're not printing historic things, then
- ;; don't output this element.
- ((and (equal? role historic)
-  (not %include-historic%))
-  (empty-sosofo))
-
- ;; None of the above
- (else (next-match)
-
-(mode qandatoc
-  (default
-(let* ((role (attribute-string (normalize role)))
-  (for-arch (entity-text arch)))
-  (cond
-
-   ;; If role=historic, and we're not printing historic things, then
-   ;; don't output this element.
-   ((and 

svn commit: r198118 - head/usr.bin/netstat

2009-10-15 Thread Robert Watson
Author: rwatson
Date: Thu Oct 15 10:31:24 2009
New Revision: 198118
URL: http://svn.freebsd.org/changeset/base/198118

Log:
  Print routing statistics as unsigned short rather than unsigned int,
  otherwise sign extension leads to unlikely values when in the negative
  range of the signed short structure fields that hold the statistics.
  The type used to hold routing statistics is arguably also incorrect.
  
  MFC after:3 days

Modified:
  head/usr.bin/netstat/route.c

Modified: head/usr.bin/netstat/route.c
==
--- head/usr.bin/netstat/route.cThu Oct 15 08:55:43 2009
(r198117)
+++ head/usr.bin/netstat/route.cThu Oct 15 10:31:24 2009
(r198118)
@@ -1008,11 +1008,11 @@ rt_stats(u_long rtsaddr, u_long rttaddr)
 #definep(f, m) if (rtstat.f || sflag = 1) \
printf(m, rtstat.f, plural(rtstat.f))
 
-   p(rts_badredirect, \t%u bad routing redirect%s\n);
-   p(rts_dynamic, \t%u dynamically created route%s\n);
-   p(rts_newgateway, \t%u new gateway%s due to redirects\n);
-   p(rts_unreach, \t%u destination%s found unreachable\n);
-   p(rts_wildcard, \t%u use%s of a wildcard route\n);
+   p(rts_badredirect, \t%hu bad routing redirect%s\n);
+   p(rts_dynamic, \t%hu dynamically created route%s\n);
+   p(rts_newgateway, \t%hu new gateway%s due to redirects\n);
+   p(rts_unreach, \t%hu destination%s found unreachable\n);
+   p(rts_wildcard, \t%hu use%s of a wildcard route\n);
 #undef p
 
if (rttrash || sflag = 1)
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198125 - head/share/man/man4

2009-10-15 Thread Christian Brueffer
Author: brueffer
Date: Thu Oct 15 11:32:05 2009
New Revision: 198125
URL: http://svn.freebsd.org/changeset/base/198125

Log:
  Use our standard section 4 SYNOPSIS.
  
  MFC after:3 days

Modified:
  head/share/man/man4/sbp_targ.4
  head/share/man/man4/targ.4

Modified: head/share/man/man4/sbp_targ.4
==
--- head/share/man/man4/sbp_targ.4  Thu Oct 15 11:12:53 2009
(r198124)
+++ head/share/man/man4/sbp_targ.4  Thu Oct 15 11:32:05 2009
(r198125)
@@ -38,16 +38,24 @@
 .Nm sbp_targ
 .Nd Serial Bus Protocol 2 (SBP-2) Target Mode devices driver
 .Sh SYNOPSIS
-.Cd kldload firewire
-.Cd kldload cam
-.Cd kldload sbp_targ
-.Pp
-or
-.Pp
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
 .Cd device sbp_targ
 .Cd device firewire
 .Cd device scbus
 .Cd device targ
+.Ed
+.Pp
+Alternatively, to load the driver as a
+module at boot time, place the following lines in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+firewire_load=YES
+cam_load=YES
+sbp_targ_loadYES
+.Ed
 .Sh DESCRIPTION
 The
 .Nm

Modified: head/share/man/man4/targ.4
==
--- head/share/man/man4/targ.4  Thu Oct 15 11:12:53 2009(r198124)
+++ head/share/man/man4/targ.4  Thu Oct 15 11:32:05 2009(r198125)
@@ -31,7 +31,12 @@
 .Nm targ
 .Nd SCSI target emulator driver
 .Sh SYNOPSIS
-.Cd device targ
+To compile this driver into the kernel,
+place the following line in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd device targ
+.Ed
 .Sh DESCRIPTION
 The
 .Nm
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198133 - in stable/8/sys: . amd64/include/xen cddl/contrib/opensolaris contrib/dev/acpica contrib/pf dev/xen/xenpci nfsclient

2009-10-15 Thread Robert Watson
Author: rwatson
Date: Thu Oct 15 14:39:59 2009
New Revision: 198133
URL: http://svn.freebsd.org/changeset/base/198133

Log:
  Add a MODULE_DEPEND() on the NFS client from dtnfsclient so that dtnfsclient
  can access NFS client symbols.
  
  Discussed with:   kib
  Reported by:  markm
  Approved by:  re (kib)

Modified:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/nfsclient/nfs_kdtrace.c

Modified: stable/8/sys/nfsclient/nfs_kdtrace.c
==
--- stable/8/sys/nfsclient/nfs_kdtrace.cThu Oct 15 14:18:35 2009
(r198132)
+++ stable/8/sys/nfsclient/nfs_kdtrace.cThu Oct 15 14:39:59 2009
(r198133)
@@ -543,3 +543,4 @@ DEV_MODULE(dtnfsclient, dtnfsclient_mode
 MODULE_VERSION(dtnfsclient, 1);
 MODULE_DEPEND(dtnfsclient, dtrace, 1, 1, 1);
 MODULE_DEPEND(dtnfsclient, opensolaris, 1, 1, 1);
+MODULE_DEPEND(dtnfsclient, nfs, 1, 1, 1);
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198134 - in head: share/man/man9 sys/amd64/amd64 sys/amd64/include sys/i386/i386 sys/i386/include sys/kern sys/sys

2009-10-15 Thread John Baldwin
Author: jhb
Date: Thu Oct 15 14:54:35 2009
New Revision: 198134
URL: http://svn.freebsd.org/changeset/base/198134

Log:
  Add a facility for associating optional descriptions with active interrupt
  handlers.  This is primarily intended as a way to allow devices that use
  multiple interrupts (e.g. MSI) to meaningfully distinguish the various
  interrupt handlers.
  - Add a new BUS_DESCRIBE_INTR() method to the bus interface to associate
a description with an active interrupt handler setup by BUS_SETUP_INTR.
It has a default method (bus_generic_describe_intr()) which simply passes
the request up to the parent device.
  - Add a bus_describe_intr() wrapper around BUS_DESCRIBE_INTR() that supports
printf(9) style formatting using var args.
  - Reserve MAXCOMLEN bytes in the intr_handler structure to hold the name of
an interrupt handler and copy the name passed to intr_event_add_handler()
into that buffer instead of just saving the pointer to the name.
  - Add a new intr_event_describe_handler() which appends a description string
to an interrupt handler's name.
  - Implement support for interrupt descriptions on amd64 and i386 by having
the nexus(4) driver supply a custom bus_describe_intr method that invokes
a new intr_describe() MD routine which in turn looks up the associated
interrupt event and invokes intr_event_describe_handler().
  
  Requested by: many
  Reviewed by:  scottl
  MFC after:2 weeks

Added:
  head/share/man/man9/BUS_DESCRIBE_INTR.9   (contents, props changed)
Modified:
  head/share/man/man9/Makefile
  head/sys/amd64/amd64/intr_machdep.c
  head/sys/amd64/amd64/nexus.c
  head/sys/amd64/include/intr_machdep.h
  head/sys/i386/i386/intr_machdep.c
  head/sys/i386/i386/nexus.c
  head/sys/i386/include/intr_machdep.h
  head/sys/kern/bus_if.m
  head/sys/kern/kern_intr.c
  head/sys/kern/subr_bus.c
  head/sys/sys/bus.h
  head/sys/sys/interrupt.h

Added: head/share/man/man9/BUS_DESCRIBE_INTR.9
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man9/BUS_DESCRIBE_INTR.9 Thu Oct 15 14:54:35 2009
(r198134)
@@ -0,0 +1,104 @@
+.\ -*- nroff -*-
+.\
+.\ Copyright (c) 2009 Advanced Computing Technologies LLC
+.\ Written by: John H. Baldwin j...@freebsd.org
+.\ 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.
+.\
+.\ $FreeBSD$
+.\
+.Dd October 14, 2009
+.Dt BUS_DESCRIBE_INTR 9
+.Os
+.Sh NAME
+.Nm BUS_DESCRIBE_INTR ,
+.Nm bus_describe_intr
+.Nd associate a description with an active interrupt handler
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/bus.h
+.Ft int
+.Fo BUS_BIND_INTR
+.Fa device_t dev device_t child struct resource *irq void *cookie
+.Fa const char *descr
+.Fc
+.Ft int
+.Fo bus_describe_intr
+.Fa device_t dev struct resource *irq void *cookie const char *fmt
+.Fa ... 
+.Fc
+.Sh DESCRIPTION
+The
+.Fn BUS_DESCRIBE_INTR
+method associates a description with an active interrupt handler.
+The
+.Fa cookie
+parameter must be the value returned by a successful call to
+.Xr BUS_SETUP_INTR 9
+for the interrupt
+.Fa irq .
+.Pp
+The
+.Fn bus_describe_intr
+function is a simple wrapper around
+.Fn BUS_DESCRIBE_INTR .
+As a convenience,
+.Fn bus_describe_intr
+allows the caller to use
+.Xr printf 9
+style formatting to build the description string using
+.Fa fmt .
+.Pp
+When an interrupt handler is established by
+.Xr BUS_SETUP_INTR 9 ,
+the handler is named after the device the handler is established for.
+This name is then used in various places such as interrupt statistics
+displayed by
+.Xr systat 1
+and
+.Xr vmstat 8 .
+For devices that use a single interrupt,
+the device name is 

svn commit: r198135 - head/sys/sys

2009-10-15 Thread John Baldwin
Author: jhb
Date: Thu Oct 15 14:55:11 2009
New Revision: 198135
URL: http://svn.freebsd.org/changeset/base/198135

Log:
  Style fixes to the function prototypes for bus_alloc_resources() and
  bus_release_resources().

Modified:
  head/sys/sys/bus.h

Modified: head/sys/sys/bus.h
==
--- head/sys/sys/bus.h  Thu Oct 15 14:54:35 2009(r198134)
+++ head/sys/sys/bus.h  Thu Oct 15 14:55:11 2009(r198135)
@@ -347,8 +347,10 @@ struct resource_spec {
int flags;
 };
 
-int bus_alloc_resources(device_t dev, struct resource_spec *rs, struct 
resource **res);
-void bus_release_resources(device_t dev, const struct resource_spec *rs, 
struct resource **res);
+intbus_alloc_resources(device_t dev, struct resource_spec *rs,
+   struct resource **res);
+void   bus_release_resources(device_t dev, const struct resource_spec *rs,
+ struct resource **res);
 
 struct resource *bus_alloc_resource(device_t dev, int type, int *rid,
 u_long start, u_long end, u_long count,
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


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

2009-10-15 Thread M. Warner Losh
In message: 200910150833.54252@freebsd.org
John Baldwin j...@freebsd.org writes:
: On Wednesday 14 October 2009 6:11:15 pm M. Warner Losh wrote:
:  In message: 200910141738.43910@freebsd.org
:  John Baldwin j...@freebsd.org writes:
:  : On Wednesday 14 October 2009 5:20:38 pm Marcel Moolenaar wrote:
:  :  
:  :  On Oct 14, 2009, at 1:45 PM, John Baldwin wrote:
:  :  
:  :   On Wednesday 14 October 2009 2:35:16 pm Marcel Moolenaar wrote:
:  :   On Oct 14, 2009, at 10:39 AM, Warner Losh wrote:
:  :  
:  :   I can't be more clear than this.  You keep ignoring me, and it is  
:  :   very
:  :   frustrating.
:  :  
:  :   I'm not ignoring you. I'm still talking. You simply haven't convinced
:  :   me. While it's possible (likely?) that I don't understand the issues,
:  :   all you've achieved so far is that I'm more convinced that limiting
:  :   orm(4) to i386 and amd64 is the right thing, because the alternative
:  :   is not at all appealing.
:  :  
:  :   The problem is that the
:  :   powerpc and itanium isa modules allow memory ranges that shouldn't  
:  :   be
:  :   allowed.  That's the platform specific code that needs to be fixed.
:  :  
:  :   isa_set_resource() is MI code and it happily adds whatever resources
:  :   a driver wants. The only chance MD code has is to fail the  
:  :   allocation,
:  :   but since the whole ISA code bypasses the newbus hierarchy, there's
:  :   no way we know in the isa MD code what is valid and what isn't unless
:  :   we add kluges to platform code.
:  :  
:  :   If you want to fix it for real, does that mean fix it for real or
:  :   does that mean add kluges to platform code?
:  :  
:  :   Shouldn't we have ISA bridges obtain the set of valid resources
:  :   from their parent in the newbus hierarchy?
:  :  
:  :   Hmm, can we even know that?  PCI-ISA bridges in x86 at least don't  
:  :   have any
:  :   I/O limit registers like PCI-PCI bridges, instead they are  
:  :   subtractively
:  :   decoded, i.e. they eat any memory request that no one else claims.
:  :  
:  :  The key here being requests that reach the PCI-ISA bridge. It's entirely
:  :  platform specific which I/O memory addresses generated by the CPU gets
:  :  decoded and forwarded in such a way that it's visible to the PCI-ISA
:  :  bridge. This is what needs to be obtained from the parent in the newbus
:  :  hierarchy. Rather than hardcoding [0xC .. 0x10 as the ISA  
:  :  option
:  :  ROM memory range, it should be something like [isa_mem_base+0xC ..
:  :  isa_mem_base + 0x10 or even [isa_rom_base .. isa_rom_base +  
:  :  0x4.
:  : 
:  : That might certainly be a reasonable IVAR for isab(4) to provide to 
isa(4): a 
:  : ROM base.  However, orm(4) should be enabled for all ISA bridges assuming 
:  : that is fixed.  OTOH, the way many bus drivers I've seen handle this so 
far 
:  : is to change the base address of SYS_RES_MEMORY objects as they pass 
through 
:  : the relevant bridge so that the actual memory address is properly 
adjusted 
:  : when it gets to the equivalent of the nexus.  This is how many of the 
:  : Foo-PCI bridges in arm that I've looked at work, and I think this is 
more 
:  : inline with Warner's original patch which is to allow the various 
:  : platform-specific ISA bridge drivers reject memory ranges they do not 
decode 
:  : and provide any needed adjustments to ranges they do decode to transform 
them 
:  : into suitable resources for their parent.  Then orm(4) would just see 
it's 
:  : attempts to do bus_alloc_resource() fail and end up DTRT.  Given that, I 
do 
:  : think this logic belongs in the ISA bridge drivers rather than in 
individual 
:  : ISA drivers.  We don't make ISA peripheral drivers add an 'isa_mem_base' 
or 
:  : equivalent to their I/O resources, and in terms of I/O resources, orm(4) 
is 
:  : just a special blackhole device (much like the ACPI or PnPBIOS system 
:  : resource devices, or the ram0 or apic0 devices on x86).
:  
:  This is exactly what I've been trying to say: the memory addresses
:  that orm is using are ISA BUS addresses.  These just happen to map 1:1
:  on x86, but will map to something else on other platforms.  But our
:  kernel API is that the driver requests the bus address, and that any
:  necessary translation happen in the bus_space layer.
:  
:  I disagree that it belongs entirely in the isa bridge drivers.  They
:  may communicate information to the bus_space implementation, but it is
:  bus_space that ultimately does this translation.
: 
: I think it actually depends on the platform as to where it belongs.  If you
: have some Foo-ISA bridge that uses a window on the Foo bus to map ISA space,
: then I think it makes sense to handle that in the Foo-ISA bridge, especially
: if it is a relocatable window.  If the ISA bus is instead assigned a fixed
: range in the system address space then that probably belongs in the bus_space
: support.

I'd think it would be the opposite.  

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

2009-10-15 Thread John Baldwin
On Thursday 15 October 2009 10:59:10 am M. Warner Losh wrote:
 In message: 200910150833.54252@freebsd.org
 John Baldwin j...@freebsd.org writes:
 : On Wednesday 14 October 2009 6:11:15 pm M. Warner Losh wrote:
 :  In message: 200910141738.43910@freebsd.org
 :  John Baldwin j...@freebsd.org writes:
 :  : On Wednesday 14 October 2009 5:20:38 pm Marcel Moolenaar wrote:
 :  :  
 :  :  On Oct 14, 2009, at 1:45 PM, John Baldwin wrote:
 :  :  
 :  :   On Wednesday 14 October 2009 2:35:16 pm Marcel Moolenaar wrote:
 :  :   On Oct 14, 2009, at 10:39 AM, Warner Losh wrote:
 :  :  
 :  :   I can't be more clear than this.  You keep ignoring me, and it 
is  
 :  :   very
 :  :   frustrating.
 :  :  
 :  :   I'm not ignoring you. I'm still talking. You simply haven't 
convinced
 :  :   me. While it's possible (likely?) that I don't understand the 
issues,
 :  :   all you've achieved so far is that I'm more convinced that 
limiting
 :  :   orm(4) to i386 and amd64 is the right thing, because the 
alternative
 :  :   is not at all appealing.
 :  :  
 :  :   The problem is that the
 :  :   powerpc and itanium isa modules allow memory ranges that 
shouldn't  
 :  :   be
 :  :   allowed.  That's the platform specific code that needs to be 
fixed.
 :  :  
 :  :   isa_set_resource() is MI code and it happily adds whatever 
resources
 :  :   a driver wants. The only chance MD code has is to fail the  
 :  :   allocation,
 :  :   but since the whole ISA code bypasses the newbus hierarchy, 
there's
 :  :   no way we know in the isa MD code what is valid and what isn't 
unless
 :  :   we add kluges to platform code.
 :  :  
 :  :   If you want to fix it for real, does that mean fix it for real or
 :  :   does that mean add kluges to platform code?
 :  :  
 :  :   Shouldn't we have ISA bridges obtain the set of valid resources
 :  :   from their parent in the newbus hierarchy?
 :  :  
 :  :   Hmm, can we even know that?  PCI-ISA bridges in x86 at least don't  
 :  :   have any
 :  :   I/O limit registers like PCI-PCI bridges, instead they are  
 :  :   subtractively
 :  :   decoded, i.e. they eat any memory request that no one else 
claims.
 :  :  
 :  :  The key here being requests that reach the PCI-ISA bridge. It's 
entirely
 :  :  platform specific which I/O memory addresses generated by the CPU 
gets
 :  :  decoded and forwarded in such a way that it's visible to the PCI-ISA
 :  :  bridge. This is what needs to be obtained from the parent in the 
newbus
 :  :  hierarchy. Rather than hardcoding [0xC .. 0x10 as the ISA  
 :  :  option
 :  :  ROM memory range, it should be something like 
[isa_mem_base+0xC ..
 :  :  isa_mem_base + 0x10 or even [isa_rom_base .. isa_rom_base +  
 :  :  0x4.
 :  : 
 :  : That might certainly be a reasonable IVAR for isab(4) to provide to 
isa(4): a 
 :  : ROM base.  However, orm(4) should be enabled for all ISA bridges 
assuming 
 :  : that is fixed.  OTOH, the way many bus drivers I've seen handle this 
so far 
 :  : is to change the base address of SYS_RES_MEMORY objects as they pass 
through 
 :  : the relevant bridge so that the actual memory address is properly 
adjusted 
 :  : when it gets to the equivalent of the nexus.  This is how many of the 
 :  : Foo-PCI bridges in arm that I've looked at work, and I think this is 
more 
 :  : inline with Warner's original patch which is to allow the various 
 :  : platform-specific ISA bridge drivers reject memory ranges they do not 
decode 
 :  : and provide any needed adjustments to ranges they do decode to 
transform them 
 :  : into suitable resources for their parent.  Then orm(4) would just see 
it's 
 :  : attempts to do bus_alloc_resource() fail and end up DTRT.  Given that, 
I do 
 :  : think this logic belongs in the ISA bridge drivers rather than in 
individual 
 :  : ISA drivers.  We don't make ISA peripheral drivers add 
an 'isa_mem_base' or 
 :  : equivalent to their I/O resources, and in terms of I/O resources, 
orm(4) is 
 :  : just a special blackhole device (much like the ACPI or PnPBIOS system 
 :  : resource devices, or the ram0 or apic0 devices on x86).
 :  
 :  This is exactly what I've been trying to say: the memory addresses
 :  that orm is using are ISA BUS addresses.  These just happen to map 1:1
 :  on x86, but will map to something else on other platforms.  But our
 :  kernel API is that the driver requests the bus address, and that any
 :  necessary translation happen in the bus_space layer.
 :  
 :  I disagree that it belongs entirely in the isa bridge drivers.  They
 :  may communicate information to the bus_space implementation, but it is
 :  bus_space that ultimately does this translation.
 : 
 : I think it actually depends on the platform as to where it belongs.  If 
you
 : have some Foo-ISA bridge that uses a window on the Foo bus to map ISA 
space,
 : then I think it makes sense to handle that in the Foo-ISA bridge, 
especially
 : if it is a relocatable window.  If 

svn commit: r198136 - head/tools/tools/netrate/netsend

2009-10-15 Thread Luigi Rizzo
Author: luigi
Date: Thu Oct 15 15:30:41 2009
New Revision: 198136
URL: http://svn.freebsd.org/changeset/base/198136

Log:
  Support the specification of a range of destination ports e.g.
  
netsend 127.0.0.1 - [payloadsize] [packet_rate] [duration]
  
  This is useful to test the behaviour of systems that do some kind
  of flow classifications and so exhibit different behaviour depending
  on the number of flows that hit them.
  I plan to add a similar extension to sweep on a range of IP addresses,
  so we can issue a single command to flood (obviously, for testing
  purposes!) a number of different destinations.
  
  When there is only one destination, we do a preliminary connect()
  of the socket so we can use send() instead of sendto().
  When we have multiple ports, the socket is not connect()'ed and we
  do a sendto() instead. There is a performance hit in this case,
  as the throughput on the loopback interface (with a firewall rule
  that blocks the transmission) goes down from 900kpps to 490kpps on
  my test machine.
  
  If the number of different destinations is limited, one option to
  explore is to have multiple connect()ed sockets.
  
  MFC after:1 month

Modified:
  head/tools/tools/netrate/netsend/netsend.c

Modified: head/tools/tools/netrate/netsend/netsend.c
==
--- head/tools/tools/netrate/netsend/netsend.c  Thu Oct 15 14:55:11 2009
(r198135)
+++ head/tools/tools/netrate/netsend/netsend.c  Thu Oct 15 15:30:41 2009
(r198136)
@@ -39,12 +39,23 @@
 #include stdlib.h
 #include string.h
 
+/* program arguments */
+struct _a {
+   int s;
+   struct timespec interval;
+   int port, port_max;
+   long duration;
+   struct sockaddr_in sin;
+   int packet_len;
+   void *packet;
+};
+
 static void
 usage(void)
 {
 
fprintf(stderr,
-   netsend [ip] [port] [payloadsize] [rate] [duration]\n);
+   netsend [ip] [port[-port_max]] [payloadsize] [packet_rate] 
[duration]\n);
exit(-1);
 }
 
@@ -114,10 +125,12 @@ wait_time(struct timespec ts, struct tim
  * Calculate a second-aligned starting time for the packet stream.  Busy
  * wait between our calculated interval and dropping the provided packet
  * into the socket.  If we hit our duration limit, bail.
+ * We sweep the ports from a-port to a-port_max included.
+ * If the two ports are the same we connect() the socket upfront, which
+ * almost halves the cost of the sendto() call.
  */
 static int
-timing_loop(int s, struct timespec interval, long duration, u_char *packet,
-u_int packet_len)
+timing_loop(struct _a *a)
 {
struct timespec nexttime, starttime, tmptime;
long long waited;
@@ -127,18 +140,19 @@ timing_loop(int s, struct timespec inter
/* do not call gettimeofday more than every 20us */
long minres_ns = 2;
int ic, gettimeofday_cycles;
+   int cur_port;
 
if (clock_getres(CLOCK_REALTIME, tmptime) == -1) {
perror(clock_getres);
return (-1);
}
 
-   if (timespec_ge(tmptime, interval))
+   if (timespec_ge(tmptime, a-interval))
fprintf(stderr,
warning: interval (%jd.%09ld) less than resolution 
(%jd.%09ld)\n,
-   (intmax_t)interval.tv_sec, interval.tv_nsec,
+   (intmax_t)a-interval.tv_sec, a-interval.tv_nsec,
(intmax_t)tmptime.tv_sec, tmptime.tv_nsec);
-   if (tmptime.tv_nsec  minres_ns) {
+   if (a-interval.tv_nsec  minres_ns) {
gettimeofday_cycles = minres_ns/(tmptime.tv_nsec + 1);
fprintf(stderr,
calling time every %d cycles\n, gettimeofday_cycles);
@@ -156,14 +170,23 @@ timing_loop(int s, struct timespec inter
if (wait_time(starttime, NULL, NULL) == -1)
return (-1);
nexttime = starttime;
-   finishtime = starttime.tv_sec + duration;
+   finishtime = starttime.tv_sec + a-duration;
 
send_errors = send_calls = 0;
counter = 0;
waited = 0;
ic = gettimeofday_cycles;
+   cur_port = a-port;
+   if (a-port == a-port_max) {
+   if (connect(a-s, (struct sockaddr *)a-sin, sizeof(a-sin))) {
+   perror(connect);
+   return (-1);
+   }
+   }
while (1) {
-   timespec_add(nexttime, interval);
+   int ret;
+
+   timespec_add(nexttime, a-interval);
if (--ic = 0) {
ic = gettimeofday_cycles;
if (wait_time(nexttime, tmptime, waited) == -1)
@@ -178,17 +201,28 @@ timing_loop(int s, struct timespec inter
 * previous send, the error will turn up the current send
 * operation, causing the current sequence number also to be
 * skipped.
+* The 

Re: svn commit: r198136 - head/tools/tools/netrate/netsend

2009-10-15 Thread Robert Watson


On Thu, 15 Oct 2009, Luigi Rizzo wrote:


 Support the specification of a range of destination ports e.g.

netsend 127.0.0.1 - [payloadsize] [packet_rate] [duration]


All sounds very useful -- consider making some of these changes (where 
appropriate) to netblast as well?


Also, I can't remember if netsend / netblast know about calling bind() before 
commencing, but if not they should be taught.  That should (a) eliminate 
significant overhead and (b) use weaker locking so that greater concurrency 
can be exploited by multiple instances.  The connect(2) case should force 
binding, but in absence of connect(2), a per-packet source address selection 
decision needs to be made.


Robert



 This is useful to test the behaviour of systems that do some kind
 of flow classifications and so exhibit different behaviour depending
 on the number of flows that hit them.
 I plan to add a similar extension to sweep on a range of IP addresses,
 so we can issue a single command to flood (obviously, for testing
 purposes!) a number of different destinations.

 When there is only one destination, we do a preliminary connect()
 of the socket so we can use send() instead of sendto().
 When we have multiple ports, the socket is not connect()'ed and we
 do a sendto() instead. There is a performance hit in this case,
 as the throughput on the loopback interface (with a firewall rule
 that blocks the transmission) goes down from 900kpps to 490kpps on
 my test machine.

 If the number of different destinations is limited, one option to
 explore is to have multiple connect()ed sockets.

 MFC after: 1 month

Modified:
 head/tools/tools/netrate/netsend/netsend.c

Modified: head/tools/tools/netrate/netsend/netsend.c
==
--- head/tools/tools/netrate/netsend/netsend.c  Thu Oct 15 14:55:11 2009
(r198135)
+++ head/tools/tools/netrate/netsend/netsend.c  Thu Oct 15 15:30:41 2009
(r198136)
@@ -39,12 +39,23 @@
#include stdlib.h
#include string.h

+/* program arguments */
+struct _a {
+   int s;
+   struct timespec interval;
+   int port, port_max;
+   long duration;
+   struct sockaddr_in sin;
+   int packet_len;
+   void *packet;
+};
+
static void
usage(void)
{

fprintf(stderr,
-   netsend [ip] [port] [payloadsize] [rate] [duration]\n);
+   netsend [ip] [port[-port_max]] [payloadsize] [packet_rate] 
[duration]\n);
exit(-1);
}

@@ -114,10 +125,12 @@ wait_time(struct timespec ts, struct tim
 * Calculate a second-aligned starting time for the packet stream.  Busy
 * wait between our calculated interval and dropping the provided packet
 * into the socket.  If we hit our duration limit, bail.
+ * We sweep the ports from a-port to a-port_max included.
+ * If the two ports are the same we connect() the socket upfront, which
+ * almost halves the cost of the sendto() call.
 */
static int
-timing_loop(int s, struct timespec interval, long duration, u_char *packet,
-u_int packet_len)
+timing_loop(struct _a *a)
{
struct timespec nexttime, starttime, tmptime;
long long waited;
@@ -127,18 +140,19 @@ timing_loop(int s, struct timespec inter
/* do not call gettimeofday more than every 20us */
long minres_ns = 2;
int ic, gettimeofday_cycles;
+   int cur_port;

if (clock_getres(CLOCK_REALTIME, tmptime) == -1) {
perror(clock_getres);
return (-1);
}

-   if (timespec_ge(tmptime, interval))
+   if (timespec_ge(tmptime, a-interval))
fprintf(stderr,
warning: interval (%jd.%09ld) less than resolution 
(%jd.%09ld)\n,
-   (intmax_t)interval.tv_sec, interval.tv_nsec,
+   (intmax_t)a-interval.tv_sec, a-interval.tv_nsec,
(intmax_t)tmptime.tv_sec, tmptime.tv_nsec);
-   if (tmptime.tv_nsec  minres_ns) {
+   if (a-interval.tv_nsec  minres_ns) {
gettimeofday_cycles = minres_ns/(tmptime.tv_nsec + 1);
fprintf(stderr,
calling time every %d cycles\n, gettimeofday_cycles);
@@ -156,14 +170,23 @@ timing_loop(int s, struct timespec inter
if (wait_time(starttime, NULL, NULL) == -1)
return (-1);
nexttime = starttime;
-   finishtime = starttime.tv_sec + duration;
+   finishtime = starttime.tv_sec + a-duration;

send_errors = send_calls = 0;
counter = 0;
waited = 0;
ic = gettimeofday_cycles;
+   cur_port = a-port;
+   if (a-port == a-port_max) {
+   if (connect(a-s, (struct sockaddr *)a-sin, sizeof(a-sin))) {
+   perror(connect);
+   return (-1);
+   }
+   }
while (1) {
-   timespec_add(nexttime, interval);
+   int ret;
+
+   timespec_add(nexttime, a-interval);
   

svn commit: r198138 - in vendor/llvm/dist: docs/HistoricalNotes examples/Kaleidoscope include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/Config include/llvm/Debug...

2009-10-15 Thread Roman Divacky
Author: rdivacky
Date: Thu Oct 15 16:26:17 2009
New Revision: 198138
URL: http://svn.freebsd.org/changeset/base/198138

Log:
  Delete all stale files.

Deleted:
  vendor/llvm/dist/docs/HistoricalNotes/2001-07-08-InstructionSelection.txt
  vendor/llvm/dist/docs/HistoricalNotes/2001-07-08-InstructionSelection2.txt
  vendor/llvm/dist/examples/Kaleidoscope/toy.cpp
  vendor/llvm/dist/include/llvm/ADT/HashExtras.h
  vendor/llvm/dist/include/llvm/ADT/Tree.h
  vendor/llvm/dist/include/llvm/Analysis/LoopVR.h
  vendor/llvm/dist/include/llvm/CodeGen/LazyLiveness.h
  vendor/llvm/dist/include/llvm/Config/alloca.h
  vendor/llvm/dist/include/llvm/Debugger/
  vendor/llvm/dist/include/llvm/MDNode.h
  vendor/llvm/dist/include/llvm/Support/Annotation.h
  vendor/llvm/dist/include/llvm/Support/Streams.h
  vendor/llvm/dist/include/llvm/Target/DarwinTargetAsmInfo.h
  vendor/llvm/dist/include/llvm/Target/ELFTargetAsmInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetAsmInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetMachineRegistry.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/InlineCost.h
  vendor/llvm/dist/lib/Analysis/LoopVR.cpp
  vendor/llvm/dist/lib/CodeGen/LazyLiveness.cpp
  vendor/llvm/dist/lib/CodeGen/PBQP.cpp
  vendor/llvm/dist/lib/CodeGen/PBQP.h
  vendor/llvm/dist/lib/CodeGen/RegAllocBigBlock.cpp
  vendor/llvm/dist/lib/CodeGen/RegAllocSimple.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp
  vendor/llvm/dist/lib/Debugger/
  vendor/llvm/dist/lib/Support/Annotation.cpp
  vendor/llvm/dist/lib/Support/Streams.cpp
  vendor/llvm/dist/lib/System/LICENSE.TXT
  vendor/llvm/dist/lib/Target/ARM/ARMTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/Alpha/AlphaTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/CellSPU/SPUTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/CellSPU/SPUTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/DarwinTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/ELFTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/IA64/
  vendor/llvm/dist/lib/Target/MSP430/MSP430AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430TargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430TargetAsmInfo.h
  vendor/llvm/dist/lib/Target/Mips/MipsTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/PIC16/PIC16AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16AsmPrinter.h
  vendor/llvm/dist/lib/Target/PIC16/PIC16TargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16TargetAsmInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/Sparc/SparcTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcTargetAsmInfo.h
  vendor/llvm/dist/lib/Target/TargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/TargetMachineRegistry.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
  vendor/llvm/dist/lib/Target/X86/X86TargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetAsmInfo.h
  vendor/llvm/dist/lib/Target/XCore/XCoreAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreTargetAsmInfo.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreTargetAsmInfo.h
  vendor/llvm/dist/lib/Transforms/Scalar/GVNPRE.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/PredicateSimplifier.cpp
  vendor/llvm/dist/lib/Transforms/Utils/CloneTrace.cpp
  vendor/llvm/dist/lib/Transforms/Utils/InlineCost.cpp
  vendor/llvm/dist/test/Analysis/BasicAA/licmtest.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/local-array.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/no-array.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/siv-strong1.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/siv-strong2.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/ziv1.ll
  vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/ziv2.ll
  vendor/llvm/dist/test/Archive/extract_GNU.ll
  vendor/llvm/dist/test/Archive/extract_MacOSX.ll
  vendor/llvm/dist/test/Archive/extract_SVR4.ll
  vendor/llvm/dist/test/Archive/extract_xpg4.ll
  vendor/llvm/dist/test/Bindings/Ocaml/ocaml.exp
  vendor/llvm/dist/test/BugPoint/misopt-basictest.ll
  vendor/llvm/dist/test/CodeGen/ARM/branch.ll
  vendor/llvm/dist/test/CodeGen/ARM/vabal.ll
  vendor/llvm/dist/test/CodeGen/ARM/vabdl.ll
  vendor/llvm/dist/test/CodeGen/ARM/vacge.ll
  vendor/llvm/dist/test/CodeGen/ARM/vacgt.ll
  vendor/llvm/dist/test/CodeGen/ARM/vaddhn.ll
  vendor/llvm/dist/test/CodeGen/ARM/vaddl.ll
  vendor/llvm/dist/test/CodeGen/ARM/vaddw.ll
  vendor/llvm/dist/test/CodeGen/ARM/vand.ll
  vendor/llvm/dist/test/CodeGen/ARM/vbic.ll
  vendor/llvm/dist/test/CodeGen/ARM/vcls.ll
  vendor/llvm/dist/test/CodeGen/ARM/vclz.ll
 

svn commit: r198143 - in vendor/clang/dist: lib/AST lib/Frontend lib/Sema utils/test

2009-10-15 Thread Roman Divacky
Author: rdivacky
Date: Thu Oct 15 17:07:18 2009
New Revision: 198143
URL: http://svn.freebsd.org/changeset/base/198143

Log:
  Delete some more files.

Deleted:
  vendor/clang/dist/lib/AST/CFG.cpp
  vendor/clang/dist/lib/Frontend/ResolveLocation.cpp
  vendor/clang/dist/lib/Sema/SemaInherit.cpp
  vendor/clang/dist/lib/Sema/SemaInherit.h
  vendor/clang/dist/lib/Sema/SemaNamedCast.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiateExpr.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiateStmt.cpp
  vendor/clang/dist/utils/test/Makefile.multi
  vendor/clang/dist/utils/test/MultiTestRunner.py
  vendor/clang/dist/utils/test/ProgressBar.py
  vendor/clang/dist/utils/test/TestRunner.py
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198148 - in head/bin: cat uuidgen

2009-10-15 Thread Ruslan Ermilov
Author: ru
Date: Thu Oct 15 18:17:29 2009
New Revision: 198148
URL: http://svn.freebsd.org/changeset/base/198148

Log:
  Removed redundant WARNS setting.
  
  Submitted by: Ulrich Spörlein

Modified:
  head/bin/cat/Makefile
  head/bin/uuidgen/Makefile

Modified: head/bin/cat/Makefile
==
--- head/bin/cat/Makefile   Thu Oct 15 17:40:45 2009(r198147)
+++ head/bin/cat/Makefile   Thu Oct 15 18:17:29 2009(r198148)
@@ -2,6 +2,5 @@
 # $FreeBSD$
 
 PROG=  cat
-WARNS?=6
 
 .include bsd.prog.mk

Modified: head/bin/uuidgen/Makefile
==
--- head/bin/uuidgen/Makefile   Thu Oct 15 17:40:45 2009(r198147)
+++ head/bin/uuidgen/Makefile   Thu Oct 15 18:17:29 2009(r198148)
@@ -1,6 +1,5 @@
 # $FreeBSD$
 
 PROG=  uuidgen
-WARNS?=6
 
 .include bsd.prog.mk
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


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

2009-10-15 Thread Jung-uk Kim
  :  implementation, but it is bus_space that ultimately does this
  :  translation.
  :
  : I think it actually depends on the platform as to where it
  : belongs.  If

 you

  : have some Foo-ISA bridge that uses a window on the Foo bus to
  : map ISA

 space,

  : then I think it makes sense to handle that in the Foo-ISA
  : bridge,

 especially

  : if it is a relocatable window.  If the ISA bus is instead
  : assigned a fixed range in the system address space then that
  : probably belongs in the

 bus_space

  : support.
 
  I'd think it would be the opposite.  bus_space needs to know how
  to map the request, since it is the last one involved.  If this
  is mappable or movable, then it needs to know that too.

 It depends I think.  If the Foo bus just maps a Foo memory resource
 and then sub-allocates that to satisfy ISA ranges then from
 bus_space's perspective it is just working with Foo resources.  It
 would never know about ISA nor would it need to know.

  However, adjusting the resources that you give to a child on the
  way through the bridge is just assisting bus_space doing the
  right thing if the bus_space on that architecture just implements
  one or two global spaces.

 I think we are mostly agreeing actually.  My main statement is that
 how ISA memory resources are actually mapped, etc. is
 platform-dependent but that different platforms may implement that
 support using different means.

This is actually very interesting discussion for me because one of my 
pet projects is extending x86bios to support non-PC architectures.  
If anyone is interested, the current source tarball is here:

http://people.freebsd.org/~jkim/x86bios-20091015.tar.bz2

Especially, please see the code around #ifdef X86BIOS_COMPAT_ARCH.  
Basically, mapping I/O ports and orm(4) is missing.  We don't have to 
implement I/O ports but orm(4) vs. bus_space(9) is critical to make 
it a reality.  Please consider it as a real practical example for 
orm, not just a blackhole driver. :-)

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


svn commit: r198149 - head/sys/kern

2009-10-15 Thread John Baldwin
Author: jhb
Date: Thu Oct 15 18:51:19 2009
New Revision: 198149
URL: http://svn.freebsd.org/changeset/base/198149

Log:
  Use language more closely resembling English in a panic message.
  
  Pointy hat to:jhb
  Submitted by: pluknet

Modified:
  head/sys/kern/kern_intr.c

Modified: head/sys/kern/kern_intr.c
==
--- head/sys/kern/kern_intr.c   Thu Oct 15 18:17:29 2009(r198148)
+++ head/sys/kern/kern_intr.c   Thu Oct 15 18:51:19 2009(r198149)
@@ -684,7 +684,7 @@ intr_event_describe_handler(struct intr_
}
if (ih == NULL) {
mtx_unlock(ie-ie_lock);
-   panic(handler %p not find in interrupt event %p, cookie, ie);
+   panic(handler %p not found in interrupt event %p, cookie, ie);
}
 #endif
ih = cookie;
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198150 - stable/8/sbin/mount_nfs

2009-10-15 Thread Rick Macklem
Author: rmacklem
Date: Thu Oct 15 19:50:00 2009
New Revision: 198150
URL: http://svn.freebsd.org/changeset/base/198150

Log:
  MFC r197298:
  Change the default transport protocol for use by the Mount protocol
  and the NFS Null RPC done by mount_nfs from UDP to TCP, so that it is
  consistent with the kernel, which already uses NFS over TCP by
  default. Without this change, doing an NFS mount
  against a server that only supports UDP results in an unusable
  mount point if a transport protocol option wasn't specified for the
  mount.
  
  Approved by:  re (kib)

Modified:
  stable/8/sbin/mount_nfs/   (props changed)
  stable/8/sbin/mount_nfs/mount_nfs.c

Modified: stable/8/sbin/mount_nfs/mount_nfs.c
==
--- stable/8/sbin/mount_nfs/mount_nfs.c Thu Oct 15 18:51:19 2009
(r198149)
+++ stable/8/sbin/mount_nfs/mount_nfs.c Thu Oct 15 19:50:00 2009
(r198150)
@@ -104,7 +104,7 @@ struct nfhret {
 #defineOF_NOINET6  8
 int retrycnt = -1;
 int opflags = 0;
-int nfsproto = IPPROTO_UDP;
+int nfsproto = IPPROTO_TCP;
 int mnttcp_ok = 1;
 int noconn = 0;
 char *portspec = NULL; /* Server nfs port; NULL means look up via rpcbind. */
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198151 - in head/sys/dev: pci usb/controller

2009-10-15 Thread Andrew Thompson
Author: thompsa
Date: Thu Oct 15 20:07:08 2009
New Revision: 198151
URL: http://svn.freebsd.org/changeset/base/198151

Log:
  Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover for
  all host controllers at the same time, we avoid problems where the BIOS will
  actually write to the USB registers of all the USB host controllers every time
  we handover one of them, and consequently reset the OS programmed values.
  
  Submitted by: avg
  Reviewed by:  jhb

Added:
  head/sys/dev/usb/controller/ehcireg.h   (contents, props changed)
  head/sys/dev/usb/controller/ohcireg.h   (contents, props changed)
  head/sys/dev/usb/controller/uhcireg.h   (contents, props changed)
Modified:
  head/sys/dev/pci/pci.c
  head/sys/dev/usb/controller/ehci.c
  head/sys/dev/usb/controller/ehci.h
  head/sys/dev/usb/controller/ehci_ixp4xx.c
  head/sys/dev/usb/controller/ehci_mbus.c
  head/sys/dev/usb/controller/ehci_pci.c
  head/sys/dev/usb/controller/ohci.c
  head/sys/dev/usb/controller/ohci.h
  head/sys/dev/usb/controller/ohci_atmelarm.c
  head/sys/dev/usb/controller/ohci_pci.c
  head/sys/dev/usb/controller/uhci.c
  head/sys/dev/usb/controller/uhci.h
  head/sys/dev/usb/controller/uhci_pci.c

Modified: head/sys/dev/pci/pci.c
==
--- head/sys/dev/pci/pci.c  Thu Oct 15 19:50:00 2009(r198150)
+++ head/sys/dev/pci/pci.c  Thu Oct 15 20:07:08 2009(r198151)
@@ -62,6 +62,10 @@ __FBSDID($FreeBSD$);
 #include dev/pci/pcivar.h
 #include dev/pci/pci_private.h
 
+#include dev/usb/controller/ehcireg.h
+#include dev/usb/controller/ohcireg.h
+#include dev/usb/controller/uhcireg.h
+
 #include pcib_if.h
 #include pci_if.h
 
@@ -270,6 +274,13 @@ TUNABLE_INT(hw.pci.honor_msi_blacklist
 SYSCTL_INT(_hw_pci, OID_AUTO, honor_msi_blacklist, CTLFLAG_RD,
 pci_honor_msi_blacklist, 1, Honor chipset blacklist for MSI);
 
+static int pci_usb_takeover = 1;
+TUNABLE_INT(hw.pci.usb_early_takeover, pci_usb_takeover);
+SYSCTL_INT(_hw_pci, OID_AUTO, usb_early_takeover, CTLFLAG_RD | CTLFLAG_TUN,
+pci_usb_takeover, 1, Enable early takeover of USB controllers.\n\
+Disable this if you depend on BIOS emulation of USB devices, that is\n\
+you use USB devices (like keyboard or mouse) but do not load USB drivers);
+
 /* Find a device_t by bus/slot/function in domain 0 */
 
 device_t
@@ -2569,6 +2580,106 @@ pci_assign_interrupt(device_t bus, devic
resource_list_add(dinfo-resources, SYS_RES_IRQ, 0, irq, irq, 1);
 }
 
+/* Perform early OHCI takeover from SMM. */
+static void
+ohci_early_takeover(device_t self)
+{
+   struct resource *res;
+   uint32_t ctl;
+   int rid;
+   int i;
+
+   rid = PCIR_BAR(0);
+   res = bus_alloc_resource_any(self, SYS_RES_MEMORY, rid, RF_ACTIVE);
+   if (res == NULL)
+   return;
+
+   ctl = bus_read_4(res, OHCI_CONTROL);
+   if (ctl  OHCI_IR) {
+   if (bootverbose)
+   printf(ohci early: 
+   SMM active, request owner change\n);
+   bus_write_4(res, OHCI_COMMAND_STATUS, OHCI_OCR);
+   for (i = 0; (i  100)  (ctl  OHCI_IR); i++) {
+   DELAY(1000);
+   ctl = bus_read_4(res, OHCI_CONTROL);
+   }
+   if (ctl  OHCI_IR) {
+   if (bootverbose)
+   printf(ohci early: 
+   SMM does not respond, resetting\n);
+   bus_write_4(res, OHCI_CONTROL, OHCI_HCFS_RESET);
+   }
+   }
+
+   bus_release_resource(self, SYS_RES_MEMORY, rid, res);
+}
+
+/* Perform early UHCI takeover from SMM. */
+static void
+uhci_early_takeover(device_t self)
+{
+   /*
+* Set the PIRQD enable bit and switch off all the others. We don't
+* want legacy support to interfere with us XXX Does this also mean
+* that the BIOS won't touch the keyboard anymore if it is connected
+* to the ports of the root hub?
+*/
+   pci_write_config(self, PCI_LEGSUP, PCI_LEGSUP_USBPIRQDEN, 2);
+}
+
+/* Perform early EHCI takeover from SMM. */
+static void
+ehci_early_takeover(device_t self)
+{
+   struct resource *res;
+   uint32_t cparams;
+   uint32_t eec;
+   uint8_t eecp;
+   uint8_t bios_sem;
+   int rid;
+   int i;
+
+   rid = PCIR_BAR(0);
+   res = bus_alloc_resource_any(self, SYS_RES_MEMORY, rid, RF_ACTIVE);
+   if (res == NULL)
+   return;
+
+   cparams = bus_read_4(res, EHCI_HCCPARAMS);
+
+   /* Synchronise with the BIOS if it owns the controller. */
+   for (eecp = EHCI_HCC_EECP(cparams); eecp != 0;
+   eecp = EHCI_EECP_NEXT(eec)) {
+   eec = pci_read_config(self, eecp, 4);
+   if (EHCI_EECP_ID(eec) != EHCI_EC_LEGSUP) {
+   continue;
+   }
+   bios_sem = pci_read_config(self, 

svn commit: r198152 - head/sys/dev/usb/input

2009-10-15 Thread Andrew Thompson
Author: thompsa
Date: Thu Oct 15 20:09:27 2009
New Revision: 198152
URL: http://svn.freebsd.org/changeset/base/198152

Log:
  Only poll ukbd if KDB is active.
  
  Submitted by: HPS

Modified:
  head/sys/dev/usb/input/ukbd.c

Modified: head/sys/dev/usb/input/ukbd.c
==
--- head/sys/dev/usb/input/ukbd.c   Thu Oct 15 20:07:08 2009
(r198151)
+++ head/sys/dev/usb/input/ukbd.c   Thu Oct 15 20:09:27 2009
(r198152)
@@ -67,6 +67,7 @@ __FBSDID($FreeBSD$);
 #include sys/callout.h
 #include sys/malloc.h
 #include sys/priv.h
+#include sys/kdb.h
 
 #include dev/usb/usb.h
 #include dev/usb/usbdi.h
@@ -328,6 +329,9 @@ ukbd_do_poll(struct ukbd_softc *sc, uint
 {
DPRINTFN(2, polling\n);
 
+   if (kdb_active == 0)
+   return; /* Only poll if KDB is active */
+
while (sc-sc_inputs == 0) {
 
usbd_transfer_poll(sc-sc_xfer, UKBD_N_TRANSFER);
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198153 - head/sys/dev/usb/net

2009-10-15 Thread Andrew Thompson
Author: thompsa
Date: Thu Oct 15 20:15:29 2009
New Revision: 198153
URL: http://svn.freebsd.org/changeset/base/198153

Log:
  Correct offset calcluation for the NCM implementation.
  
  Submitted by: HPS

Modified:
  head/sys/dev/usb/net/if_cdce.c

Modified: head/sys/dev/usb/net/if_cdce.c
==
--- head/sys/dev/usb/net/if_cdce.c  Thu Oct 15 20:09:27 2009
(r198152)
+++ head/sys/dev/usb/net/if_cdce.c  Thu Oct 15 20:15:29 2009
(r198153)
@@ -1088,7 +1088,7 @@ cdce_ncm_fill_tx_frames(struct usb_xfer 
sc-sc_ncm.hdr.dwSignature[2] = 'M';
sc-sc_ncm.hdr.dwSignature[3] = 'H';
USETW(sc-sc_ncm.hdr.wHeaderLength, sizeof(sc-sc_ncm.hdr));
-   USETW(sc-sc_ncm.hdr.wBlockLength, offset);
+   USETW(sc-sc_ncm.hdr.wBlockLength, last_offset);
USETW(sc-sc_ncm.hdr.wSequence, sc-sc_ncm.tx_seq);
USETW(sc-sc_ncm.hdr.wDptIndex, sizeof(sc-sc_ncm.hdr));
 
@@ -1243,25 +1243,24 @@ cdce_ncm_bulk_read_callback(struct usb_x
 
offset = UGETW(sc-sc_ncm.dp[x].wFrameIndex);
temp = UGETW(sc-sc_ncm.dp[x].wFrameLength);
-   if ((offset + temp)  actlen) {
-   DPRINTFN(1, invalid frame detected 
(ignored)\n);
-   m = NULL;
 
-   } else if (temp = sizeof(struct ether_header)) {
-   /*
-* allocate a suitable memory buffer, if
-* possible
-*/
-   if (temp  (MCLBYTES - ETHER_ALIGN)) {
-   m = NULL;
-   continue;
-   } if (temp  (MHLEN - ETHER_ALIGN)) {
-   m = m_getcl(M_DONTWAIT, MT_DATA, 
M_PKTHDR);
-   } else {
-   m = m_gethdr(M_DONTWAIT, MT_DATA);
-   }
+   if ((offset == 0) ||
+   (temp  sizeof(struct ether_header)) ||
+   (temp  (MCLBYTES - ETHER_ALIGN))) {
+   DPRINTFN(1, NULL frame detected at %d\n, x);
+   m = NULL;
+   /* silently ignore this frame */
+   continue;
+   } else if ((offset + temp)  actlen) {
+   DPRINTFN(1, invalid frame 
+   detected at %d\n, x);
+   m = NULL;
+   /* silently ignore this frame */
+   continue;
+   } else if (temp  (MHLEN - ETHER_ALIGN)) {
+   m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
} else {
-   m = NULL;   /* dump it */
+   m = m_gethdr(M_DONTWAIT, MT_DATA);
}
 
DPRINTFN(16, frame %u, offset = %u, length = %u \n,
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198162 - head/etc

2009-10-15 Thread Doug Barton
Author: dougb
Date: Thu Oct 15 23:20:23 2009
New Revision: 198162
URL: http://svn.freebsd.org/changeset/base/198162

Log:
  Allow $name_program to override $command in a more robust way that
  will not cause the value to be null if $command is not set.

Modified:
  head/etc/rc.subr

Modified: head/etc/rc.subr
==
--- head/etc/rc.subrThu Oct 15 21:20:12 2009(r198161)
+++ head/etc/rc.subrThu Oct 15 23:20:23 2009(r198162)
@@ -616,7 +616,7 @@ run_rc_command()
esac
 
eval _override_command=\$${name}_program
-   command=${command:+${_override_command:-$command}}
+   command=${_override_command:-$command}
 
_keywords=start stop restart rcvar $extra_commands
rc_pid=
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r198164 - in stable/8/etc: . rc.d

2009-10-15 Thread Doug Barton
Author: dougb
Date: Fri Oct 16 00:17:09 2009
New Revision: 198164
URL: http://svn.freebsd.org/changeset/base/198164

Log:
  MFC r197947:
  
  In regards to the Starting foo: type messages at boot time, create
  and employ a more generic solution, and use it in the individual rc.d
  scripts that also have an $rc_quiet test:
  
  1. Add check_startmsgs() to rc.subr.
  2. In the rc.d scripts that use rc_quiet (and rc.subr) substitute
  variations of [ -z $rc_quiet ] with check_startmsgs
  3. In savecore add a trailing '.' to the end of the message to make it
  more consistent with other scripts.
  4. In newsyslog remove a : before the terminal '.' since we do not
  expect there to be anything printed out in between to make it more
  consistent.
  5. In the following scripts change quotes to 'quotes' where no
  variables exist in the message: savecore pf newsyslog
  6. [Does not apply in RELENG_8]
  7. In the following scripts separate the Starting foo: from the
  terminal '.' to make them more consistent: moused hostname pf
  8. In nfsclient move the message to its own line to avoid a style bug
  9. In pf rc_quiet does not apply to the _stop method, so remove the
  test there.
  10. In motd add 'quotes' around the terminal '.' for consistency
  
  Approved by:  re (kib)

Modified:
  stable/8/etc/   (props changed)
  stable/8/etc/rc.d/bgfsck
  stable/8/etc/rc.d/cleartmp
  stable/8/etc/rc.d/fsck
  stable/8/etc/rc.d/hostid
  stable/8/etc/rc.d/hostname
  stable/8/etc/rc.d/ldconfig
  stable/8/etc/rc.d/motd
  stable/8/etc/rc.d/mountcritlocal
  stable/8/etc/rc.d/moused
  stable/8/etc/rc.d/netif
  stable/8/etc/rc.d/newsyslog
  stable/8/etc/rc.d/nfsclient
  stable/8/etc/rc.d/pf
  stable/8/etc/rc.d/savecore
  stable/8/etc/rc.subr

Modified: stable/8/etc/rc.d/bgfsck
==
--- stable/8/etc/rc.d/bgfsckThu Oct 15 23:30:56 2009(r198163)
+++ stable/8/etc/rc.d/bgfsckFri Oct 16 00:17:09 2009(r198164)
@@ -31,7 +31,7 @@ bgfsck_start ()
bgfsck_msg=${bgfsck_msg} in ${background_fsck_delay} seconds
fi
if [ -z ${rc_force} ]; then
-   [ -z ${rc_quiet} ]  echo ${bgfsck_msg}.
+   check_startmsgs  echo ${bgfsck_msg}.
fi
 
(sleep ${background_fsck_delay}; nice -4 fsck -B -p) 21 | \

Modified: stable/8/etc/rc.d/cleartmp
==
--- stable/8/etc/rc.d/cleartmp  Thu Oct 15 23:30:56 2009(r198163)
+++ stable/8/etc/rc.d/cleartmp  Fri Oct 16 00:17:09 2009(r198164)
@@ -25,7 +25,7 @@ cleartmp_start()
   ${tmp}/.ICE-unix ${tmp}/.font-unix
 
if checkyesno ${rcvar1}; then
-   [ -z ${rc_quiet} ]  echo Clearing ${tmp}.
+   check_startmsgs  echo Clearing ${tmp}.
 
# This is not needed for mfs, but doesn't hurt anything.
# Things to note:
@@ -44,7 +44,7 @@ cleartmp_start()
elif checkyesno clear_tmp_X; then
# Remove X lock files, since they will prevent you from
# restarting X.  Remove other X related directories.
-   [ -z ${rc_quiet} ]  echo Clearing ${tmp} (X related).
+   check_startmsgs  echo Clearing ${tmp} (X related).
rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs}
fi
if checkyesno clear_tmp_X; then

Modified: stable/8/etc/rc.d/fsck
==
--- stable/8/etc/rc.d/fsck  Thu Oct 15 23:30:56 2009(r198163)
+++ stable/8/etc/rc.d/fsck  Fri Oct 16 00:17:09 2009(r198164)
@@ -23,7 +23,7 @@ fsck_start()
# During fsck ignore SIGQUIT
trap : 3
 
-   [ -z ${rc_quiet} ]  echo Starting file system checks:
+   check_startmsgs  echo Starting file system checks:
if checkyesno background_fsck; then
fsck -F -p
else

Modified: stable/8/etc/rc.d/hostid
==
--- stable/8/etc/rc.d/hostidThu Oct 15 23:30:56 2009(r198163)
+++ stable/8/etc/rc.d/hostidFri Oct 16 00:17:09 2009(r198164)
@@ -49,9 +49,9 @@ hostid_set()
 
# Set both kern.hostuuid and kern.hostid.
#
-   [ -z ${rc_quiet} ]  echo Setting hostuuid: ${uuid}.
+   check_startmsgs  echo Setting hostuuid: ${uuid}.
${SYSCTL_W} kern.hostuuid=${uuid} /dev/null
-   [ -z ${rc_quiet} ]  echo Setting hostid: ${id}.
+   check_startmsgs  echo Setting hostid: ${id}.
${SYSCTL_W} kern.hostid=${id} /dev/null
 }
 

Modified: stable/8/etc/rc.d/hostname
==
--- stable/8/etc/rc.d/hostname  Thu Oct 15 23:30:56 2009(r198163)
+++ stable/8/etc/rc.d/hostname  

Re: svn commit: r198118 - head/usr.bin/netstat

2009-10-15 Thread Bruce Evans

On Thu, 15 Oct 2009, Robert Watson wrote:


Log:
 Print routing statistics as unsigned short rather than unsigned int,
 otherwise sign extension leads to unlikely values when in the negative
 range of the signed short structure fields that hold the statistics.
 The type used to hold routing statistics is arguably also incorrect.


This enlarges the bug.  With signed types you get advance warning of
overflow (you actually get overflow earlier but it usually just results
in obviously wrong values being printed), and repeated warnings on
overflow (every time the overflowing values wrap back to negative).
With unsigned types or this change, you get unobviously wrong values
after the first overflow, and no repeated warnings (unless you watch
the values carefully enough to see them go backwards).  Using unsigned
bytes only delays the overflow for a whole factor of 2.

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


Re: svn commit: r198151 - in head/sys/dev: pci usb/controller

2009-10-15 Thread Andriy Gapon
on 15/10/2009 23:07 Andrew Thompson said the following:
 Author: thompsa
 Date: Thu Oct 15 20:07:08 2009
 New Revision: 198151
 URL: http://svn.freebsd.org/changeset/base/198151
 
 Log:
   Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover 
 for
   all host controllers at the same time, we avoid problems where the BIOS will
   actually write to the USB registers of all the USB host controllers every 
 time
   we handover one of them, and consequently reset the OS programmed values.

This should fix the boot-time problems with AMD SB600/SB7xx controllers.
Many thanks to Hans for a lot of help.

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