From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 08:35:19 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B4687F74 for ; Sun, 12 Jan 2014 08:35:19 +0000 (UTC) Received: from nm42-vm2.bullet.mail.bf1.yahoo.com (nm42-vm2.bullet.mail.bf1.yahoo.com [216.109.114.189]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2EEC31FB8 for ; Sun, 12 Jan 2014 08:35:18 +0000 (UTC) Received: from [98.139.212.153] by nm42.bullet.mail.bf1.yahoo.com with NNFMP; 12 Jan 2014 08:32:25 -0000 Received: from [98.139.212.194] by tm10.bullet.mail.bf1.yahoo.com with NNFMP; 12 Jan 2014 08:32:25 -0000 Received: from [127.0.0.1] by omp1003.mail.bf1.yahoo.com with NNFMP; 12 Jan 2014 08:32:25 -0000 X-Yahoo-Newman-Property: ymail-5 X-Yahoo-Newman-Id: 892223.74519.bm@omp1003.mail.bf1.yahoo.com Received: (qmail 84792 invoked by uid 60001); 12 Jan 2014 08:32:25 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1389515545; bh=1pZ0oCyIommyZssfyUGXLIlT3UUtNuUvPGlyu/KoeV4=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=lV6j5Rab59DWfNez+Yy1DF+kF+GBsIXemfU3l9mu0upDg34Hbwt+vK4fGk8+Fn3j2Bo08PARxN1M66aJ9OP7ZI7i7bJrTMyQ0IBs7NencWH3fw2jomKpCNLQpcRwYRknSrhCqSYajFGV2DX2XFcQHhEuT3BzO8vr4XRtN3VMWIc= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=mCX+pUqreBMWQGHf4FSvqmG/sJZxwVr50vXQejZJRqByNFKb4JXncOaLOjtCIprL4XXr1zQ2DYHNDVB3UUnAHWbWO3Vm/ZgRnWkYQNtpZJap5oL8MA5yhydpOCUavA/rcFpgheRQM3wSq6zy+GgqFR0ALZh9rs7WelzcpeolL7A=; X-YMail-OSG: wQzwWtUVM1mRcSeZPHuABRJKRt5vLnTISIYJTPDptPiOQgt KZn9EPlcPJt3T7Y7CZPThEUpLslNBAk7WwaSZBCcwncy025CXpLJ9FCDc8hQ BPCzIswqxlLBi.ZePin1_gT2aIB1aMolmbW2T79.8pWvCejBYSPH4oiq9oV8 dQko7iew.BCPeQ54UwTVpQtPviVaPrTYliZTAnCyUGHLCfm_T040mw8sheyh 6jmuwJgoADE3_f5yBq1VxffFzPBuGDhN.IIIvfdt_Bk3LfIg__d0gNILYkMf 88arUVxdzs6M3z4MwkfL210Ern74fF0Wb0xnNwrD4Yh1O4ZccoC67Ebp2Dcw lBIYF1VBUMeneIEd.S3YJ7tfNr.8RJiu4PyyqWqWhAmR8BRLP2tKjd67qLEo X38Hdub7WsH.vh9m3j9gDVzA2QZ2n35Lsh.COe7VGw5izuPxW7xkrsNOkQ9f 9rer8PXpZLob6pp0kokT6y6cwouhT2p3IySlvaAlZ0sXF2TKzecLt4PG9fOR 40eaHiE_hKPWJYCEv5NMhy6Fm Received: from [89.165.120.140] by web162704.mail.bf1.yahoo.com via HTTP; Sun, 12 Jan 2014 00:32:25 PST X-Rocket-MIMEInfo: 002.001, SGkgbGlzdApBbnkgZXhwZXJpZW5jZXMgb24gaG93IHRvIGRvIHNvPyBQbGVhc2UgdGVsbCBtZSBpZiB5b3Uga25vdyBob3cgY2FuIEkgZG8gdGhhdD8KClRoYW5rcyBpbiBhZHZhbmNlATABAQEB X-Mailer: YahooMailWebService/0.8.172.614 Message-ID: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> Date: Sun, 12 Jan 2014 00:32:25 -0800 (PST) From: Nomad Esst Subject: Access pci devices' serial numbers programmatically To: "freebsd-drivers@freebsd.org" , "freebsd-hackers@freebsd.org" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: Nomad Esst List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 08:35:19 -0000 Hi list Any experiences on how to do so? Please tell me if you know how can I do that? Thanks in advance From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 10:26:15 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 83FD5F18 for ; Sun, 12 Jan 2014 10:26:15 +0000 (UTC) Received: from mail-la0-f53.google.com (mail-la0-f53.google.com [209.85.215.53]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1020C1605 for ; Sun, 12 Jan 2014 10:26:14 +0000 (UTC) Received: by mail-la0-f53.google.com with SMTP id e16so1593456lan.40 for ; Sun, 12 Jan 2014 02:26:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=8St4lGhoi1CI2flLivtyVm1fNiieQPIkm31q9pCY8fE=; b=EdTYQ5N/9oPgFlKnU1z7UpT/ZSdCyIyJBcZVvDgNOVOAmZMoqoGPeXbHubNkXvIfG4 I+olcFpE1811ycryNRfcSAUqXIPEEZmcV09XyrdCsNaRi3eMCrLEZRwv7+76uafiMP5L FoVUNE3WbcyU0wYOTpOmADuaMzK09lIui+PBsmCkc5jea2BvPjBbZF8lfhHLVbwCE2QI +7WpKOK2Zu2pSaU6b9wPc0pRpeMo6zIXQwWJRQzJIc0fPJmIWGDfydEoYE+JzVken+Ul ez+E/1puH/KRJVoO4jdgkJqTLZT237a3YZgOuReF0JVrL4X7+ngPlRGjVQ7DDe+hyi3y Zriw== X-Gm-Message-State: ALoCoQlbvyJxhGQbcuOCqj8EtZmrE9374qO/6+a9qjCs5H/xt39JS7mKylbaQcGBCN4xItTNGQBt X-Received: by 10.112.14.34 with SMTP id m2mr7394216lbc.13.1389522366984; Sun, 12 Jan 2014 02:26:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.112.129.101 with HTTP; Sun, 12 Jan 2014 02:25:46 -0800 (PST) X-Originating-IP: [62.57.0.127] From: Julio Merino Date: Sun, 12 Jan 2014 11:25:46 +0100 Message-ID: Subject: Where to put common Makefile code To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 10:26:15 -0000 Hello, I have some common Makefile boilerplate code for both lib/atf/ and usr.bin/atf/ that I'm unsure about where to best put it. The code in question is the definition of a set of useful variables and target rules that can be depended on where necessary to, e.g. obtain atf's version number from the files in contrib/atf/ The fragment is not "long enough" to be a big deal if it were duplicated in 3 different Makefiles, but obviously I'd prefer to avoid the copy/paste. So where would you put this? An option that comes to mind is to add a Makefile.inc file to contrib/atf/ that I can explicitly include. But I'm not sure if that makes sense because this file wouldn't come from the vendor branch. Another option is to just stick the code in the existing lib/atf/Makefile.inc (the "lowermost component in the dependency chain" for atf) and just include that file from usr.bin/atf/Makefile.inc . Thoughts? Thanks, -- Julio Merino / @jmmv From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 14:43:32 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0AF99624 for ; Sun, 12 Jan 2014 14:43:32 +0000 (UTC) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B9D961689 for ; Sun, 12 Jan 2014 14:43:31 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::45d8:cd15:7900:2480] (unknown [IPv6:2001:7b8:3a7:0:45d8:cd15:7900:2480]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 67C585C43; Sun, 12 Jan 2014 15:43:22 +0100 (CET) Subject: Re: Where to put common Makefile code Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Content-Type: multipart/signed; boundary="Apple-Mail=_1512ECB6-0AEB-474C-AD7F-E2C597DA5163"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.1 (6062eb4) From: Dimitry Andric In-Reply-To: Date: Sun, 12 Jan 2014 15:43:08 +0100 Message-Id: <37F0C6E7-A2E4-4B86-A6D3-71FD451A471C@FreeBSD.org> References: To: Julio Merino X-Mailer: Apple Mail (2.1827) Cc: freebsd-hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 14:43:32 -0000 --Apple-Mail=_1512ECB6-0AEB-474C-AD7F-E2C597DA5163 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 12 Jan 2014, at 11:25, Julio Merino wrote: > > I have some common Makefile boilerplate code for both lib/atf/ and > usr.bin/atf/ that I'm unsure about where to best put it. > > The code in question is the definition of a set of useful variables > and target rules that can be depended on where necessary to, e.g. > obtain atf's version number from the files in contrib/atf/ > > The fragment is not "long enough" to be a big deal if it were > duplicated in 3 different Makefiles, but obviously I'd prefer to avoid > the copy/paste. > > So where would you put this? For an example (admittedly not the most elegant, but it works), have a look at lib/clang/clang.build.mk, which contains the common make-related bits for clang and llvm. This is included by the clang and llvm libraries (which live under lib/clang) via lib/clang/clang.lib.mk, and by the clang and llvm programs (which live under usr.bin/clang) via usr.bin/clang/clang.prog.mk. -Dimitry --Apple-Mail=_1512ECB6-0AEB-474C-AD7F-E2C597DA5163 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iEYEARECAAYFAlLSqgYACgkQsF6jCi4glqNPjQCg2QiZoOpSeOzXOfLOJV7FWNNg 5Y0AoIxUSog2PBd/HCO/eR1Qu0+9n8V1 =LPG2 -----END PGP SIGNATURE----- --Apple-Mail=_1512ECB6-0AEB-474C-AD7F-E2C597DA5163-- From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 22:00:16 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4733FBF5; Sun, 12 Jan 2014 22:00:16 +0000 (UTC) Received: from pp1.rice.edu (proofpoint1.mail.rice.edu [128.42.201.100]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 00EE61498; Sun, 12 Jan 2014 22:00:15 +0000 (UTC) Received: from pps.filterd (pp1.rice.edu [127.0.0.1]) by pp1.rice.edu (8.14.5/8.14.5) with SMTP id s0CLv1ep006750; Sun, 12 Jan 2014 16:00:10 -0600 Received: from mh3.mail.rice.edu (mh3.mail.rice.edu [128.42.199.10]) by pp1.rice.edu with ESMTP id 1h9yfeh7xf-1; Sun, 12 Jan 2014 16:00:09 -0600 X-Virus-Scanned: by amavis-2.7.0 at mh3.mail.rice.edu, auth channel Received: from 108-254-203-201.lightspeed.hstntx.sbcglobal.net (108-254-203-201.lightspeed.hstntx.sbcglobal.net [108.254.203.201]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh3.mail.rice.edu (Postfix) with ESMTPSA id 19CFA40040; Sun, 12 Jan 2014 16:00:09 -0600 (CST) Message-ID: <52D31068.6080007@rice.edu> Date: Sun, 12 Jan 2014 16:00:08 -0600 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Hans Petter Selasky , Alfred Perlstein , Neel Natu , FreeBSD Hackers Subject: Re: usb + other drivers stop working on 128GB+ memory machines References: <50BDB148.1060607@mu.org> In-Reply-To: X-Enigmail-Version: 1.6 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 kscore.is_bulkscore=0 kscore.compositescore=0 circleOfTrustscore=0 compositescore=0.248919945447816 urlsuspect_oldscore=0.248919945447816 suspectscore=71 recipient_domain_to_sender_totalscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 recipient_to_sender_totalscore=0 recipient_domain_to_sender_domain_totalscore=0 rbsscore=0.248919945447816 spamscore=0 recipient_to_sender_domain_totalscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1305240000 definitions=main-1401120179 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: Tommy Stiansen X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 22:00:16 -0000 On 01/10/2014 16:09, Hans Petter Selasky wrote: > RE: usb + other drivers stop working on 128GB+ memory machines > Hi, > > The newer XHCI chipset does support full 64-bit ranges, if the HW guys did their job. We've seen in the past 32-bit hardware being cut down to 2GB of RAM in the hardware because some OS'es don't support more :-) > > I think in general that keeping DMA buffers below 4GB is a good idea. Wasn't the allocator changed some years back to allocate from the top of memory instead of the bottom? > That was the very old O(n^2) contigmalloc() from the early part of last decade. We haven't used that allocator since ~2007. Alan > > -----Original message----- > > From:Alfred Perlstein > > > Sent: Friday 10th January 2014 22:43 > > To: Alan Cox >; Hans Petter Selasky >; Neel Natu >; FreeBSD Hackers > > > Cc: Tommy Stiansen > > > Subject: usb + other drivers stop working on 128GB+ memory machines > > > > Hey Alan, Neel and Hans, > > > > We're testing FreeBSD 10 here and still having problems, once we go over > > 128GB of memory then USB stops working. When we artificially limit > > memory to 128GB or lower we are OK. > > > > Is there any chance we can revisit this patch so that large memory > > systems don't use up the lower memory space which seems to be needed by > > some drivers? > > > > I'm having a bit of trouble explaining to people that too much memory == > > no keyboard on FreeBSD. > > > > I have the patch that seemed to work for us before. Any chance this can > > go into FreeBSD soon? > > > > > > > > -Alfred > > > > > > -------- Original Message -------- > > Subject: Re: Questions about FreeBSD amd64 memory layout. > > Date: Tue, 04 Dec 2012 00:16:08 -0800 > > From: Alfred Perlstein > > > To: Alan Cox > > > CC: Alan Cox >, Xin LI > > > > > > > > > On 12/3/12 11:23 PM, Alan Cox wrote: > > > On 12/03/2012 18:15, Alfred Perlstein wrote: > > >> Hello Alan, > > >> > > >> The other day I ran a copy of FreeBSD 9.1 with my maxusers patches > > >> (from current). > > >> > > >> The machine had 256 gigs of RAM. > > >> > > >> Due to that much memory, maxusers was upwards of 24860. > > >> > > >> What then happened was that the mfi driver, and I think also the USB > > >> driver would not work. > > >> > > >> The mfi driver stopped working because it got the following error: > > >> mfi0: Cannot allocate verbuf_h_dmamap memory > > >> > > >> This appears to be due to this in the mfi driver: > > >>> /* Start: LSIP200113393 */ > > >>> if (bus_dma_tag_create( sc->mfi_parent_dmat, /** parent **/ > > >>> 1, 0, /* algnmnt, > > >>> boundary */ > > >>> BUS_SPACE_MAXADDR_32BIT,/** lowaddr **/ > > >>> BUS_SPACE_MAXADDR, /** highaddr **/ > > >>> NULL, NULL, /* filter, > > >>> filterarg */ > > >>> MEGASAS_MAX_NAME*sizeof(bus_addr_t), /** maxsize **/ > > >>> 1, /** msegments **/ > > >>> MEGASAS_MAX_NAME*sizeof(bus_addr_t), /** maxsegsize **/ > > >>> 0, /** flags **/ > > >>> NULL, NULL, /* lockfunc, > > >>> lockarg */ > > >>> &sc->verbuf_h_dmat)) { > > >>> device_printf(sc->mfi_dev, "Cannot allocate > > >>> verbuf_h_dmat DMA tag\n"); > > >>> return (ENOMEM); > > >>> } > > >>> if (bus_dmamem_alloc(sc->verbuf_h_dmat, (void **)&sc->verbuf, > > >>> BUS_DMA_NOWAIT, &sc->verbuf_h_dmamap)) { > > >>> device_printf(sc->mfi_dev, "Cannot allocate > > >>> verbuf_h_dmamap memory\n"); > > >> What I'm thinking is happening is that by the time we get to mfi > > >> driver enough of the below 4GB memory is used up by callout wheels, > > >> nbufs, various hash tables, etc that we wind up unable to get memory > > >> in this region. > > >> > > >> This could (and probably is) a wrong assumption, but it's what makes > > >> sense to me right now. > > >> > > > > > > I can believe it, or more precisely I know of nothing that immediately > > > disproves it. > > > > > > > > >> I'm wondering how the kernel map gets populated, and if it would be > > >> possible, and if it would be advisable to change the allocation > > >> strategy to come from the tail end of physical memory instead of the > > >> front. > > >> > > > > > > There is no intentional "allocation strategy" in the sense that you are > > > using the phrase here. Much of the VM system, including the physical > > > memory allocator, is initialized early in the boot process, in fact, > > > before callout wheels, nbufs, etc. are allocated. So, the standard > > > physical memory allocator is being used for callout wheels, nbufs, etc., > > > and this allocator takes pages from the cache/free page queues in > > > whatever arbitrary order they happen to be in. I can believe that we > > > currently initialize the cache/free page queues in an order that results > > > in the allocation of pages from low physical addresses first. > > > > > > The physical memory allocator does, however, have a way of dealing with > > > low physical address ranges that you don't want to allocate from except > > > explicitly, e.g., contigmalloc()/kmem_alloc_contig(), or as a last > > > resort. This is currently only used for the physical address range for > > > ISA DMA. > > > > > > I've attached a patch that abuses the ISA DMA range, extending it to > > > 4GB. See if this patch enables you to boot. > > > > > > > > It does! Everything is fixed now. > > > > What now? Can I help somehow? > > > > Ëœ % sysctl -a| grep maxuser > > kern.maxusers: 33049 > > Ëœ % dmesg| grep mfi > > mfi0: port 0x8000-0x80ff mem > > 0xc7a60000-0xc7a63fff,0xc7a00000-0xc7a3ffff irq 26 at device 0.0 on pci1 > > mfi0: Using MSI > > mfi0: Megaraid SAS driver Ver 4.23 > > mfi0: MaxCmd = 3f0 MaxSgl = 46 state = b75003f0 > > mfi0: 1436 (407894536s/0x0020/info) - Shutdown command received from host > > mfi0: 1437 (boot + 4s/0x0020/info) - Firmware initialization started > > (PCI ID 005b/1000/0690/15d9) > > mfi0: 1438 (boot + 4s/0x0020/info) - Firmware version 3.190.05-1669 > > mfi0: 1439 (boot + 5s/0x0020/info) - Package version 23.7.0-0029 > > mfi0: 1440 (boot + 5s/0x0020/info) - Board Revision > > mfi0: 1441 (boot + 25s/0x0002/info) - Inserted: PD 10(e0xfc/s0) > > mfi0: 1442 (boot + 25s/0x0002/info) - Inserted: PD 10(e0xfc/s0) Info: > > enclPd=fc, scsiType=0, portMap=00, sasAddr=4433221103000000,0000000000000000 > > mfi0: 1443 (boot + 26s/0x0001/info) - Policy change on VD 00/0 to > > [ID=00,dcp=65,ccp=64,ap=0,dc=0] from [ID=00,dcp=65,ccp=65,ap=0,dc=0] > > mfi0: 1444 (407894583s/0x0020/info) - Time established as 12/04/12 > > 0:03:03; (37 seconds since power on) > > mfi0: 1445 (407894819s/0x0020/info) - Host driver is loaded and operational > > mfid0 on mfi0 > > mfid0: 2861022MB (5859373056 sectors) RAID volume (no label) is optimal > > Trying to mount root from ufs:/dev/mfid0p2 [rw]... > > > > > > > > _______________________________________________ > > freebsd-hackers@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org " From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 22:09:44 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7F6DBF67; Sun, 12 Jan 2014 22:09:44 +0000 (UTC) Received: from pp1.rice.edu (proofpoint1.mail.rice.edu [128.42.201.100]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3C8661553; Sun, 12 Jan 2014 22:09:44 +0000 (UTC) Received: from pps.filterd (pp1.rice.edu [127.0.0.1]) by pp1.rice.edu (8.14.5/8.14.5) with SMTP id s0CM6trZ019721; Sun, 12 Jan 2014 16:09:41 -0600 Received: from mh3.mail.rice.edu (mh3.mail.rice.edu [128.42.199.10]) by pp1.rice.edu with ESMTP id 1h9yfeh81f-1; Sun, 12 Jan 2014 16:09:41 -0600 X-Virus-Scanned: by amavis-2.7.0 at mh3.mail.rice.edu, auth channel Received: from 108-254-203-201.lightspeed.hstntx.sbcglobal.net (108-254-203-201.lightspeed.hstntx.sbcglobal.net [108.254.203.201]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh3.mail.rice.edu (Postfix) with ESMTPSA id 7FD3140040; Sun, 12 Jan 2014 16:09:40 -0600 (CST) Message-ID: <52D312A2.6070802@rice.edu> Date: Sun, 12 Jan 2014 16:09:38 -0600 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Alfred Perlstein , Hans Petter Selasky , Neel Natu , FreeBSD Hackers Subject: Re: usb + other drivers stop working on 128GB+ memory machines References: <50BDB148.1060607@mu.org> <52D06954.9000304@freebsd.org> In-Reply-To: <52D06954.9000304@freebsd.org> X-Enigmail-Version: 1.6 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 kscore.is_bulkscore=1.11022302462516e-16 kscore.compositescore=0 circleOfTrustscore=0 compositescore=0.248919945447816 urlsuspect_oldscore=0.248919945447816 suspectscore=11 recipient_domain_to_sender_totalscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 recipient_to_sender_totalscore=0 recipient_domain_to_sender_domain_totalscore=0 rbsscore=0.248919945447816 spamscore=0 recipient_to_sender_domain_totalscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1305240000 definitions=main-1401120181 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: Tommy Stiansen X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 22:09:44 -0000 On 01/10/2014 15:42, Alfred Perlstein wrote: > Hey Alan, Neel and Hans, > > We're testing FreeBSD 10 here and still having problems, once we go > over 128GB of memory then USB stops working. When we artificially > limit memory to 128GB or lower we are OK. > > Is there any chance we can revisit this patch so that large memory > systems don't use up the lower memory space which seems to be needed > by some drivers? > > I'm having a bit of trouble explaining to people that too much memory > == no keyboard on FreeBSD. > > I have the patch that seemed to work for us before. Any chance this > can go into FreeBSD soon? > Sorry, I completely forgot about this issue. If you want to file a PR and assign it to me, that would be good. That way, I'll get a weekly reminder. :-) The only issue with this patch is that it will pessimize the speed of physical memory allocation on amd64 machines with small amounts of memory. I need to augment the attached patch, which just changes some #define's, with some changes to vm_phys.c to avoid creating excess free page queues on small memory machines. Alan > > > -------- Original Message -------- > Subject: Re: Questions about FreeBSD amd64 memory layout. > Date: Tue, 04 Dec 2012 00:16:08 -0800 > From: Alfred Perlstein > To: Alan Cox > CC: Alan Cox , Xin LI > > > > On 12/3/12 11:23 PM, Alan Cox wrote: > > On 12/03/2012 18:15, Alfred Perlstein wrote: > >> Hello Alan, > >> > >> The other day I ran a copy of FreeBSD 9.1 with my maxusers patches > >> (from current). > >> > >> The machine had 256 gigs of RAM. > >> > >> Due to that much memory, maxusers was upwards of 24860. > >> > >> What then happened was that the mfi driver, and I think also the USB > >> driver would not work. > >> > >> The mfi driver stopped working because it got the following error: > >> mfi0: Cannot allocate verbuf_h_dmamap memory > >> > >> This appears to be due to this in the mfi driver: > >>> /* Start: LSIP200113393 */ > >>> if (bus_dma_tag_create( sc->mfi_parent_dmat, /* parent */ > >>> 1, 0, /* algnmnt, > >>> boundary */ > >>> BUS_SPACE_MAXADDR_32BIT,/* lowaddr */ > >>> BUS_SPACE_MAXADDR, /* highaddr */ > >>> NULL, NULL, /* filter, > >>> filterarg */ > >>> MEGASAS_MAX_NAME*sizeof(bus_addr_t), /* maxsize */ > >>> 1, /* msegments */ > >>> MEGASAS_MAX_NAME*sizeof(bus_addr_t), /* maxsegsize */ > >>> 0, /* flags */ > >>> NULL, NULL, /* lockfunc, > >>> lockarg */ > >>> &sc->verbuf_h_dmat)) { > >>> device_printf(sc->mfi_dev, "Cannot allocate > >>> verbuf_h_dmat DMA tag\n"); > >>> return (ENOMEM); > >>> } > >>> if (bus_dmamem_alloc(sc->verbuf_h_dmat, (void **)&sc->verbuf, > >>> BUS_DMA_NOWAIT, &sc->verbuf_h_dmamap)) { > >>> device_printf(sc->mfi_dev, "Cannot allocate > >>> verbuf_h_dmamap memory\n"); > >> What I'm thinking is happening is that by the time we get to mfi > >> driver enough of the below 4GB memory is used up by callout wheels, > >> nbufs, various hash tables, etc that we wind up unable to get memory > >> in this region. > >> > >> This could (and probably is) a wrong assumption, but it's what makes > >> sense to me right now. > >> > > > > I can believe it, or more precisely I know of nothing that immediately > > disproves it. > > > > > >> I'm wondering how the kernel map gets populated, and if it would be > >> possible, and if it would be advisable to change the allocation > >> strategy to come from the tail end of physical memory instead of the > >> front. > >> > > > > There is no intentional "allocation strategy" in the sense that you are > > using the phrase here. Much of the VM system, including the physical > > memory allocator, is initialized early in the boot process, in fact, > > before callout wheels, nbufs, etc. are allocated. So, the standard > > physical memory allocator is being used for callout wheels, nbufs, etc., > > and this allocator takes pages from the cache/free page queues in > > whatever arbitrary order they happen to be in. I can believe that we > > currently initialize the cache/free page queues in an order that results > > in the allocation of pages from low physical addresses first. > > > > The physical memory allocator does, however, have a way of dealing with > > low physical address ranges that you don't want to allocate from except > > explicitly, e.g., contigmalloc()/kmem_alloc_contig(), or as a last > > resort. This is currently only used for the physical address range for > > ISA DMA. > > > > I've attached a patch that abuses the ISA DMA range, extending it to > > 4GB. See if this patch enables you to boot. > > > > > It does! Everything is fixed now. > > What now? Can I help somehow? > > ~ % sysctl -a| grep maxuser > kern.maxusers: 33049 > ~ % dmesg| grep mfi > mfi0: port 0x8000-0x80ff mem > 0xc7a60000-0xc7a63fff,0xc7a00000-0xc7a3ffff irq 26 at device 0.0 on pci1 > mfi0: Using MSI > mfi0: Megaraid SAS driver Ver 4.23 > mfi0: MaxCmd = 3f0 MaxSgl = 46 state = b75003f0 > mfi0: 1436 (407894536s/0x0020/info) - Shutdown command received from host > mfi0: 1437 (boot + 4s/0x0020/info) - Firmware initialization started > (PCI ID 005b/1000/0690/15d9) > mfi0: 1438 (boot + 4s/0x0020/info) - Firmware version 3.190.05-1669 > mfi0: 1439 (boot + 5s/0x0020/info) - Package version 23.7.0-0029 > mfi0: 1440 (boot + 5s/0x0020/info) - Board Revision > mfi0: 1441 (boot + 25s/0x0002/info) - Inserted: PD 10(e0xfc/s0) > mfi0: 1442 (boot + 25s/0x0002/info) - Inserted: PD 10(e0xfc/s0) Info: > enclPd=fc, scsiType=0, portMap=00, sasAddr=4433221103000000,0000000000000000 > mfi0: 1443 (boot + 26s/0x0001/info) - Policy change on VD 00/0 to > [ID=00,dcp=65,ccp=64,ap=0,dc=0] from [ID=00,dcp=65,ccp=65,ap=0,dc=0] > mfi0: 1444 (407894583s/0x0020/info) - Time established as 12/04/12 > 0:03:03; (37 seconds since power on) > mfi0: 1445 (407894819s/0x0020/info) - Host driver is loaded and operational > mfid0 on mfi0 > mfid0: 2861022MB (5859373056 sectors) RAID volume (no label) is optimal > Trying to mount root from ufs:/dev/mfid0p2 [rw]... > > > From owner-freebsd-hackers@FreeBSD.ORG Sun Jan 12 23:44:34 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 14C15624 for ; Sun, 12 Jan 2014 23:44:34 +0000 (UTC) Received: from mail-we0-f177.google.com (mail-we0-f177.google.com [74.125.82.177]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9D2D71C8A for ; Sun, 12 Jan 2014 23:44:33 +0000 (UTC) Received: by mail-we0-f177.google.com with SMTP id x55so3654796wes.22 for ; Sun, 12 Jan 2014 15:44:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=tQqCw1tZy8/zNu9IZbufqd64R6b+q9fOvSxArSrTmGo=; b=HxJae5n33x6D4Dcyimg9isW61i1VD0N0Zr4Sjl3PqPTB7cu0g1O9kFTTsWqhU3fGck eevsCZvQvclpo0CkPthq/nXPBoGfp9KJ95/uDVL6/Lbe+C4lhJ5GqpQRqbt4SG+IqYul snHC6MUqdKXDqdB/2i2Lrd9eDjbiA76VNQcmfQ6FjbX1XYPEeRrlZ3r/F4wHhIOi6azV viRXgCnAbtIox4Sp40fQzIaCD9o2aHZH2hCW1NOZ360OY6oR+UEbkBJFJRRlLP6v4bF+ 4tqnrIm4yLcbZzPTrWByxfn6fI34CQ8yKnnw7wnalXbz2S2dH2GHMf1DFVrJr6B/NELi /o7w== X-Gm-Message-State: ALoCoQlpEBEYycJxDeR3QkKqVrGhn74quTLTagkWVk/925SBf+6IciyY5KInq2mR1NmMLqU430u7 X-Received: by 10.194.1.195 with SMTP id 3mr202581wjo.77.1389566501066; Sun, 12 Jan 2014 14:41:41 -0800 (PST) Received: from [192.168.1.118] (62.57.0.127.dyn.user.ono.com. [62.57.0.127]) by mx.google.com with ESMTPSA id x4sm14719804wif.0.2014.01.12.14.41.38 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 12 Jan 2014 14:41:40 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: Where to put common Makefile code From: Julio Merino In-Reply-To: <37F0C6E7-A2E4-4B86-A6D3-71FD451A471C@FreeBSD.org> Date: Sun, 12 Jan 2014 23:41:33 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <2FA79428-C0DD-4B19-890B-D537F992D7F0@meroh.net> References: <37F0C6E7-A2E4-4B86-A6D3-71FD451A471C@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1827) Cc: freebsd-hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jan 2014 23:44:34 -0000 On Jan 12, 2014, at 15:43, Dimitry Andric wrote: > On 12 Jan 2014, at 11:25, Julio Merino wrote: >>=20 >> I have some common Makefile boilerplate code for both lib/atf/ and >> usr.bin/atf/ that I'm unsure about where to best put it. >>=20 >> The code in question is the definition of a set of useful variables >> and target rules that can be depended on where necessary to, e.g. >> obtain atf's version number from the files in contrib/atf/ >>=20 >> The fragment is not "long enough" to be a big deal if it were >> duplicated in 3 different Makefiles, but obviously I'd prefer to = avoid >> the copy/paste. >>=20 >> So where would you put this? >=20 > For an example (admittedly not the most elegant, but it works), have a > look at lib/clang/clang.build.mk, which contains the common = make-related > bits for clang and llvm. This is included by the clang and llvm > libraries (which live under lib/clang) via lib/clang/clang.lib.mk, and > by the clang and llvm programs (which live under usr.bin/clang) via > usr.bin/clang/clang.prog.mk. OK, so because there was prior art in just adding a file to the = corresponding lib/ subdirectory and using it outside of lib/, I went = ahead and did it. Thanks!= From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 20:19:23 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6BBFA6CE; Mon, 13 Jan 2014 20:19:23 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 44CC0135E; Mon, 13 Jan 2014 20:19:23 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 44432B9A0; Mon, 13 Jan 2014 15:19:22 -0500 (EST) From: John Baldwin To: freebsd-drivers@freebsd.org, Nomad Esst Subject: Re: Access pci devices' serial numbers programmatically Date: Mon, 13 Jan 2014 13:49:06 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> In-Reply-To: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201401131349.06456.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 13 Jan 2014 15:19:22 -0500 (EST) Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 20:19:23 -0000 On Sunday, January 12, 2014 3:32:25 am Nomad Esst wrote: > Hi list > Any experiences on how to do so? Please tell me if you know how can I do that? There are methods available to query VPD data in dev/pci/pcivar.h if the serial number is stored in VPD (specifically you can call pci_get_vpd_readonly()). -- John Baldwin From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 20:19:24 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 77E566CF for ; Mon, 13 Jan 2014 20:19:24 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 520161360 for ; Mon, 13 Jan 2014 20:19:24 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 07477B9AB; Mon, 13 Jan 2014 15:19:23 -0500 (EST) From: John Baldwin To: freebsd-hackers@freebsd.org Subject: Re: [patch] libc/resolv: use poll() instead of kqueue() Date: Mon, 13 Jan 2014 14:19:45 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <20140108225951.GB87058@stack.nl> In-Reply-To: <20140108225951.GB87058@stack.nl> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201401131419.45188.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 13 Jan 2014 15:19:23 -0500 (EST) Cc: Jilles Tjoelker X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 20:19:24 -0000 On Wednesday, January 08, 2014 5:59:52 pm Jilles Tjoelker wrote: > The resolver in libc creates a kqueue for watching a single file > descriptor. This can be done using poll() which should be lighter on the > kernel and reduce possible problems with rlimits (file descriptors, > kqueues). I agree that a kqueue for a single fd is a bit silly in terms of overhead compared to just calling poll. -- John Baldwin From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 20:19:26 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9D9D76D0 for ; Mon, 13 Jan 2014 20:19:26 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 761DF1361 for ; Mon, 13 Jan 2014 20:19:26 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 54ED8B9B9; Mon, 13 Jan 2014 15:19:25 -0500 (EST) From: John Baldwin To: freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 Date: Mon, 13 Jan 2014 14:28:47 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <52CF850A.9060906@erdgeist.org> In-Reply-To: <52CF850A.9060906@erdgeist.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201401131428.47517.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 13 Jan 2014 15:19:25 -0500 (EST) Cc: Dirk Engling X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 20:19:26 -0000 On Friday, January 10, 2014 12:28:42 am Dirk Engling wrote: > Dear fellow hackers, > > after upgrade my atom board to use the newer zfs features, I could not > use my network cards anymore, neither the builtin realtek, nor my intel > e1000 card. > > You can see it in the http://erdgeist.org/MOPNV10J/dmesg (here one from > FreeBSD-10.0-RC5, but 9.1 and 9.2 behave the same) > > re0: PHY read failed > re0: attaching PHYs failed > ... > em0: port > 0x1000-0x103f irq 21 at device 0.0 on pci5 > em0: Setup of Shared code failed > device_attach: em0 attach returned 6 > > Searching the forums and mailing lists I found this might be related to > the new pcib code and indeed I found in every dmesg since 9.1: > > pcib1: at device 28.0 on pci0 > pcib1: failed to allocate initial prefetch window: 0xe0000000-0xe00fffff This is because it tries to allocate the same space used for AGP. It would really be helpful if you could provide a verbose dmesg when it fails and a verbose dmesg from a working kernel. pciconf -lb output from a working system would be useful as well. -- John Baldwin From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 20:21:56 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 55EF2B07 for ; Mon, 13 Jan 2014 20:21:56 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id 981F3144B for ; Mon, 13 Jan 2014 20:21:55 +0000 (UTC) Received: (qmail 12685 invoked from network); 13 Jan 2014 20:21:48 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 13 Jan 2014 20:21:48 -0000 Message-ID: <52D44ADB.3000404@erdgeist.org> Date: Mon, 13 Jan 2014 21:21:47 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: John Baldwin , FreeBSD Hackers Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> In-Reply-To: <201401131428.47517.jhb@freebsd.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 20:21:56 -0000 On 13.01.14 20:28, John Baldwin wrote: > This is because it tries to allocate the same space used for AGP. It would > really be helpful if you could provide a verbose dmesg when it fails and a > verbose dmesg from a working kernel. pciconf -lb output from a working system > would be useful as well. Sure can do, what is a "verbose" dmesg? How do I enable that? Regards, erdgeist From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 20:34:27 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB73ADA9 for ; Mon, 13 Jan 2014 20:34:27 +0000 (UTC) Received: from aussmtpmrkpc120.us.dell.com (aussmtpmrkpc120.us.dell.com [143.166.82.159]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9984F155F for ; Mon, 13 Jan 2014 20:34:26 +0000 (UTC) X-Loopcount0: from 64.238.244.148 X-IronPort-AV: E=Sophos;i="4.95,654,1384322400"; d="scan'208";a="67553960" Message-ID: <52D44DBB.4030500@vangyzen.net> Date: Mon, 13 Jan 2014 14:34:03 -0600 From: Eric van Gyzen User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Dirk Engling , FreeBSD Hackers Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D44ADB.3000404@erdgeist.org> In-Reply-To: <52D44ADB.3000404@erdgeist.org> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 20:34:28 -0000 On 01/13/2014 14:21, Dirk Engling wrote: > On 13.01.14 20:28, John Baldwin wrote: > >> This is because it tries to allocate the same space used for AGP. It would >> really be helpful if you could provide a verbose dmesg when it fails and a >> verbose dmesg from a working kernel. pciconf -lb output from a working system >> would be useful as well. > Sure can do, what is a "verbose" dmesg? How do I enable that? I believe there is an option in the boot loader menu. If not, interrupt the loader to get a loader command prompt and boot with "boot -v". Eric From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 21:03:43 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B55B7B22 for ; Mon, 13 Jan 2014 21:03:43 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id 036E617F0 for ; Mon, 13 Jan 2014 21:03:42 +0000 (UTC) Received: (qmail 20249 invoked from network); 13 Jan 2014 21:03:41 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 13 Jan 2014 21:03:41 -0000 Message-ID: <52D454AD.1030000@erdgeist.org> Date: Mon, 13 Jan 2014 22:03:41 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: John Baldwin , freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> In-Reply-To: <201401131428.47517.jhb@freebsd.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 21:03:43 -0000 On 13.01.14 20:28, John Baldwin wrote: > This is because it tries to allocate the same space used for AGP. It would > really be helpful if you could provide a verbose dmesg when it fails and a > verbose dmesg from a working kernel. pciconf -lb output from a working system > would be useful as well. Okay, now from a working FreeBSD 9.0-RELEASE, booted of memstick image: https://erdgeist.org/MOPNV10J/working/dmesg-v https://erdgeist.org/MOPNV10J/working/pciconf https://erdgeist.org/MOPNV10J/working/devinfo https://erdgeist.org/MOPNV10J/working/acpidump versus the not working FreeBSD 10.0-RC5 (although the behaviour started from 9.1-RELEASE) https://erdgeist.org/MOPNV10J/dmesg-v https://erdgeist.org/MOPNV10J/pciconf https://erdgeist.org/MOPNV10J/devinfo https://erdgeist.org/MOPNV10J/acpidump Regards and TIA, erdgeist From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 13 21:45:09 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E15412DD for ; Mon, 13 Jan 2014 21:45:09 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9D8691B36 for ; Mon, 13 Jan 2014 21:45:09 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W2pJg-0005SZ-EN for freebsd-hackers@freebsd.org; Mon, 13 Jan 2014 22:45:04 +0100 Received: from 97.96.39.205 ([97.96.39.205]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 13 Jan 2014 22:45:04 +0100 Received: from dpejesh by 97.96.39.205 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 13 Jan 2014 22:45:04 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-hackers@freebsd.org From: David Shane Holden Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 Date: Mon, 13 Jan 2014 16:37:18 -0500 Lines: 8 Message-ID: References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 97.96.39.205 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: <52D454AD.1030000@erdgeist.org> X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jan 2014 21:45:09 -0000 It looks like you're running an original BIOS from when those boards first came out. I'd highly suggest upgrading it and seeing if that fixes your problem. I have 2 running 10.0-RC5 without any problems, one's at MOPNV10J.86A.0311 and the other is at MOPNV10N.86A.0542 while yours appears to be a MOPNV10J.86A.0115. Skimming over the release notes, it appears that between 0115 and 0311 there was numerous video, dvmt, realtek, and pci fixes that went in into it. From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 00:28:56 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C1E54308 for ; Tue, 14 Jan 2014 00:28:56 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id 0916118C2 for ; Tue, 14 Jan 2014 00:28:55 +0000 (UTC) Received: (qmail 57638 invoked from network); 14 Jan 2014 00:28:53 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 14 Jan 2014 00:28:53 -0000 Message-ID: <52D484C5.2040704@erdgeist.org> Date: Tue, 14 Jan 2014 01:28:53 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: David Shane Holden , freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 00:28:56 -0000 On 13.01.14 22:37, David Shane Holden wrote: > It looks like you're running an original BIOS from when those boards > first came out. I'd highly suggest upgrading it and seeing if that > fixes your problem. I have 2 running 10.0-RC5 without any problems, Thank your for the hint, but neither upgrading to MOPNV10J.86A.0311.2010.0802.2346 nor then continuing to upgrade to MOPNV10N.86A.0400.2010.0919.1014 fixed the problem. Regards, erdgeist From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 00:39:33 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5556E735 for ; Tue, 14 Jan 2014 00:39:33 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id 90AFE19B4 for ; Tue, 14 Jan 2014 00:39:32 +0000 (UTC) Received: (qmail 59306 invoked from network); 14 Jan 2014 00:39:31 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 14 Jan 2014 00:39:31 -0000 Message-ID: <52D48742.4070808@erdgeist.org> Date: Tue, 14 Jan 2014 01:39:30 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> <52D484C5.2040704@erdgeist.org> In-Reply-To: <52D484C5.2040704@erdgeist.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 00:39:33 -0000 On 14.01.14 01:28, Dirk Engling wrote: > Thank your for the hint, but neither upgrading to > MOPNV10J.86A.0311.2010.0802.2346 nor then continuing to upgrade to > MOPNV10N.86A.0400.2010.0919.1014 fixed the problem. And FYI: Further upgrading to MOPNV10N.86A.0542 also did not fix it. erdgeist From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 02:11:36 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4694B5F4 for ; Tue, 14 Jan 2014 02:11:36 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 007EA1196 for ; Tue, 14 Jan 2014 02:11:35 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W2tTW-0006aO-Jv for freebsd-hackers@freebsd.org; Tue, 14 Jan 2014 03:11:30 +0100 Received: from 97.96.39.205 ([97.96.39.205]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Jan 2014 03:11:30 +0100 Received: from dpejesh by 97.96.39.205 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Jan 2014 03:11:30 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-hackers@freebsd.org From: David Shane Holden Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 Date: Mon, 13 Jan 2014 21:11:17 -0500 Lines: 21 Message-ID: References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> <52D484C5.2040704@erdgeist.org> <52D48742.4070808@erdgeist.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 97.96.39.205 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: <52D48742.4070808@erdgeist.org> X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 02:11:36 -0000 On 01/13/14 19:39, Dirk Engling wrote: > On 14.01.14 01:28, Dirk Engling wrote: > >> Thank your for the hint, but neither upgrading to >> MOPNV10J.86A.0311.2010.0802.2346 nor then continuing to upgrade to >> MOPNV10N.86A.0400.2010.0919.1014 fixed the problem. > > And FYI: Further upgrading to MOPNV10N.86A.0542 also did not fix it. > > erdgeist > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" > You're gonna love this... I've been able to reproduce your problem with one of my boards. Looks like if you have AHCI disabled *and* on-board audio disabled then this happens. So either re-enable the on-board audio or switch to AHCI. From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 02:41:21 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CCE80C4F for ; Tue, 14 Jan 2014 02:41:21 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id 14382136E for ; Tue, 14 Jan 2014 02:41:20 +0000 (UTC) Received: (qmail 83818 invoked from network); 14 Jan 2014 02:41:13 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 14 Jan 2014 02:41:13 -0000 Message-ID: <52D4A3C9.50201@erdgeist.org> Date: Tue, 14 Jan 2014 03:41:13 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: David Shane Holden , freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> <52D484C5.2040704@erdgeist.org> <52D48742.4070808@erdgeist.org> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 02:41:21 -0000 On 14.01.14 03:11, David Shane Holden wrote: > You're gonna love this... I've been able to reproduce your problem with > one of my boards. Looks like if you have AHCI disabled *and* on-board > audio disabled then this happens. So either re-enable the on-board > audio or switch to AHCI. Thank you, sir ;) Although enabling on board audio did not help, switching to AHCI did. Enjoying my home router again. Best, erdgeist From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 02:51:47 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC95CEC3 for ; Tue, 14 Jan 2014 02:51:47 +0000 (UTC) Received: from nm6.bullet.mail.bf1.yahoo.com (nm6.bullet.mail.bf1.yahoo.com [98.139.212.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 388CE146A for ; Tue, 14 Jan 2014 02:51:46 +0000 (UTC) Received: from [98.139.212.152] by nm6.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 02:51:39 -0000 Received: from [68.142.230.70] by tm9.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 02:51:39 -0000 Received: from [127.0.0.1] by smtp227.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 02:51:39 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1389667899; bh=i5tQaMxaM7LVVgi/uaHYEAPi0bxma7koRAERfY9PCBo=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:X-Rocket-Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=hiE2rQfDRHMo2hOsPR2qdTPrXidFxEJcj+sYjD3aN0Y9F69ouIXvBYEfaAg4nEXtDHjXOt85FT2GWsoLOocrag5lJObcUYjSplHWyTC8L52XSBc/RqN6SfPvYOsR+ORhWSWtYfOciI0c5WBmX17fNu2N5n3oMyD1UfP61ThNDjo= X-Yahoo-Newman-Id: 802168.68929.bm@smtp227.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: Jb5myboVM1kWG3TReHbHj.MfCz1kv3mD2OsqmqZl0ltsnd1 Jd4wucq1OijgZSC83Y0mf31pdRuiUGhjeFRMQaGhVu9FPEVg6dNCbh1yRytc 4z6utyTXkcQsWyF5xaPfnd6VPuvo8h9s8W17sdMEDd_Zd4bp05vnF7fjRwBG Wj5qYpWNA3VhuSrDGMK87KL93FMBelwR6lpCGh3Awfvsq4F6D3OPe.BQde2o 5js7.aqkI60fnWNnCIYdrOwPbfkJTX._F1JHyL1bDN7dv5vIeY5r53Uhc_L1 fk7r_EWT2kmL9U1QZcyrtqNcbtdFyZZvCC0qlg8n6PhEfIvf1vmFlCtxLsTI esMzIZJvf5X_12GJOVDTINzed4vwtguHfwGvlDSBhjdy.mjYacK7sAKDqQGD UCMl8GJ5LujeUxICO3l4VCHyE.w9.Csj1qAeMpjJ1sdvejHr0jeNGCvAwRnh 9Tq3VoxbpJnM97ndeYWxhrX3IkEjUQTRTlnspPoS9t9bAJjtWermqHpu4YVC .sCc5XyibbzIGxGBMvC.D9yFhPls26L3hu669C._eiGMSfPU- X-Yahoo-SMTP: 4VhmBaWswBBKhhYsa0wE5OAFfRI- X-Rocket-Received: from i7x.pr1.dpejesh.net (dpejesh@97.96.39.205 with plain [98.139.211.125]) by smtp227.mail.bf1.yahoo.com with SMTP; 14 Jan 2014 02:51:39 +0000 UTC Message-ID: <52D4A63A.5040808@yahoo.com> Date: Mon, 13 Jan 2014 21:51:38 -0500 From: David Shane Holden User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <201401131428.47517.jhb@freebsd.org> <52D454AD.1030000@erdgeist.org> <52D484C5.2040704@erdgeist.org> <52D48742.4070808@erdgeist.org> <52D4A3C9.50201@erdgeist.org> In-Reply-To: <52D4A3C9.50201@erdgeist.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 02:51:47 -0000 On 01/13/14 21:41, Dirk Engling wrote: > On 14.01.14 03:11, David Shane Holden wrote: > >> You're gonna love this... I've been able to reproduce your problem >> with one of my boards. Looks like if you have AHCI disabled *and* >> on-board audio disabled then this happens. So either re-enable >> the on-board audio or switch to AHCI. > > Thank you, sir ;) > > Although enabling on board audio did not help, switching to AHCI did. > Enjoying my home router again. > > Best, > > erdgeist _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To > unsubscribe, send any mail to > "freebsd-hackers-unsubscribe@freebsd.org" > That's weird. It would work in IDE mode with audio or AHCI without audio for me, just not in IDE without audio. Either way, glad it works and if there's any devs who might have an idea what might cause this and want me to do further testing just let me know, I've got one of these boards doing nothing at the moment. From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 06:09:03 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B35B21EB for ; Tue, 14 Jan 2014 06:09:03 +0000 (UTC) Received: from nm46-vm10.bullet.mail.bf1.yahoo.com (nm46-vm10.bullet.mail.bf1.yahoo.com [216.109.114.203]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5992B1289 for ; Tue, 14 Jan 2014 06:09:02 +0000 (UTC) Received: from [98.139.212.153] by nm46.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 06:08:55 -0000 Received: from [98.139.212.211] by tm10.bullet.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 06:08:55 -0000 Received: from [127.0.0.1] by omp1020.mail.bf1.yahoo.com with NNFMP; 14 Jan 2014 06:08:55 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 381241.53512.bm@omp1020.mail.bf1.yahoo.com Received: (qmail 80963 invoked by uid 60001); 14 Jan 2014 06:08:55 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1389679735; bh=oIyyZW2xMenB4j8JtrvddJYljfOJvcJqF6N4VZ+zkZI=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=UK6q4AH3DFs7G+mAA19tG7kXzY4mpGL1+K6/xy/FtuNQG0qkbHO+dWC4dvWd656Ey5MWA96o6TLEc70vf1GuHnHxcxSO/R5nbSNunjUHIDr6POoHNtCm32xvxs4PEyGCBeoGGuGwgNijZ4tc9HKNdQbrgp1HeVCdKyQ7aXo+KQE= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=j95ZBqGsVBOK7AYQTTwyhUpm+7gFDarNBpV5VcE1/iyegOud9nAtIwY/XBnQY9So+R0FU5+qWkjbJaE7iRyMNNhPwL2d6cNPbMEUMUyef4+Mf/Q8Y+Rc8FJDVqUWdcscv/IaaVy8x0xPbPzlLIrvGTSTaGfwubtq6ZiByzLK/AE=; X-YMail-OSG: kuJfiF4VM1mUbTheSwapIzGYPLM3vH0KLOf2nueNQV5EUsE I2eiTdHBDzoqAEbNxZNV2wwr_0J0UcBCm00JM1GkUFnhaf0neE76RGYMrjD8 9v9A0n3.80rYaM9GRJog4BRmeg2fqDVUyi2NvSw2Hg5NHHZqnNqQr4jwV6rx HmQtvW85mxw.CyzPrL40H1GY5PhRP8CpsJ8zV9PRJ5RByrpauzaPL2AMo3DD AMrU3_xYXupNditvAuMjpun_xgzFO.iy6AaNlQeTOCK4zbpFFzXpkB4LZ3cL F9Xt8xBq_NaGNt.Dm0eyvN90LJKwGFUZmn726ozrucItmlBMavUGqpRH.s_H 69r.KKTGe65EmwegW0VFPc9nYbqmWR4Yyx0bRpPZm5zv6DeS5O8CFwLM2Kz8 Rc9Imf0F69aGeny02mqEr3EMoZ2d0cd_rDJR7uA6u41x.hf1TDt6J1uGGeYx 7lECrFOwgII7cc7yYVt6NIgBxJ.gsgqQopoduwFgc_m1xiwTzlsI8.KcP39e TTazB0q6eCrUMZBC4kic- Received: from [89.165.120.140] by web162702.mail.bf1.yahoo.com via HTTP; Mon, 13 Jan 2014 22:08:55 PST X-Rocket-MIMEInfo: 002.001, VGhhbmsgeW91LiBUaGUgdGhpbmcgaXMgb25lIG9mIHRoZSBpbnB1dCBhcmd1bWVudHMgb2YgdGhpcyBmdW5jdGlvbiBpcyBkZXZpY2VfdC4gSG93IGNhbiBJIGdldCB0aGlzIHN0cnVjdCBieSBkZXZpY2UgbmFtZSBzbyBJIGNhbiBwYXNzIGl0IHRvIHBjaV9nZXRfdnBkX3JlYWRvbmx5IGZ1bmN0aW9uPwo.Q29uc2lkZXIgdGhhdCBJJ20gdHJ5aW5nIHRvIHJlYWQgZW0ncyB2cGQsIGhvdyBjYW4gZ2V0IGVtJ3MgcmVsYXRlZCBkZXZpY2VfdCBzdHJ1Y3QgYnkgaXQncyBuYW1lP8KgCj5Tb21ldGhpbmcgbGlrZToBMAEBAQE- X-Mailer: YahooMailWebService/0.8.172.614 References: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> <201401131349.06456.jhb@freebsd.org> <1389678825.62302.YahooMailNeo@web162702.mail.bf1.yahoo.com> Message-ID: <1389679735.19797.YahooMailNeo@web162702.mail.bf1.yahoo.com> Date: Mon, 13 Jan 2014 22:08:55 -0800 (PST) From: Nomad Esst Subject: Access pci devices' serial numbers programmatically To: "freebsd-hackers@freebsd.org" In-Reply-To: <1389678825.62302.YahooMailNeo@web162702.mail.bf1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: Nomad Esst List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 06:09:03 -0000 Thank you. The thing is one of the input arguments of this function is devi= ce_t. How can I get this struct by device name so I can pass it to pci_get_= vpd_readonly function?=0A>Consider that I'm trying to read em's vpd, how ca= n get em's related device_t struct by it's name?=A0=0A>Something like:=0A>d= evice_t get_device_by_name(char dev_name)=0A>=0A>=0A>=0A>=0A>On Monday, Jan= uary 13, 2014 11:49 PM, John Baldwin wrote:=0A>=0A>On Sun= day, January 12, 2014 3:32:25 am Nomad Esst wrote:=0A>>> Hi list=0A>>> Any = experiences on how to do so? Please tell me if you know how can I do =0A>>t= hat?=0A>>=0A>>There are methods available to query VPD data in dev/pci/pciv= ar.h if the=0A>>serial number is stored in VPD (specifically you can call = =0A>>pci_get_vpd_readonly()).=0A>>=0A>>-- =0A>>John Baldwin=0A>>___________= ____________________________________=0A>>freebsd-hackers@freebsd.org mailin= g list=0A>>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers=0A>>= =0A>>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.= org=0A>>"=0A>>=0A>>=0A>>=0A>_______________________________________________= =0A>freebsd-drivers@freebsd.org mailing list=0A>http://lists.freebsd.org/ma= ilman/listinfo/freebsd-drivers=0A>To unsubscribe, send any mail to "freebsd= -drivers-unsubscribe@freebsd.org=0A>"=0A>=0A> From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 11:53:44 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 02E15F6F; Tue, 14 Jan 2014 11:53:44 +0000 (UTC) Received: from mail-lb0-x235.google.com (mail-lb0-x235.google.com [IPv6:2a00:1450:4010:c04::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DDCD21D7A; Tue, 14 Jan 2014 11:53:42 +0000 (UTC) Received: by mail-lb0-f181.google.com with SMTP id z5so3896311lbh.26 for ; Tue, 14 Jan 2014 03:53:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=d6UGhFGwE9hczC/NOeLPxylzHppyN6k8ZO1SMaxmvDw=; b=JmHZNgDCV5WlJvWr8L8t1bAahh9sawwGZp2yRkarSFStDvZe3VQFYPw3r2tUPlNGhN wgBWwB4F4zOiVW2WdCxtZMBKllYpr8Tm4QNXwvUPziTxQX0738SvMOAqnAMj71u+9SiJ Z9+Ci7zOgoVqRz9M1/DFewldHt2ZLS8nzDXgs6hjsXiIfBHvAEv/xE8edkI3Es8BBnVV QdSvlbQPagEks4JSzaeDgAvhM5NdjhUirLq6n/ofwb2EbOHoCJx4eqsmWCkYNbj3Onh5 MhwKJIAeQQq7q1jCrGMh4yMFrWYoveRYdStpnc7M7m/CW829hbCSlf3YiyaCd0tSAL+S HP7A== MIME-Version: 1.0 X-Received: by 10.112.137.229 with SMTP id ql5mr244715lbb.76.1389700420936; Tue, 14 Jan 2014 03:53:40 -0800 (PST) Received: by 10.112.129.2 with HTTP; Tue, 14 Jan 2014 03:53:40 -0800 (PST) Date: Tue, 14 Jan 2014 06:53:40 -0500 Message-ID: Subject: Proposed change to Bootstrapping and Kernel Initialization in FreeBSD Architecture Handbook From: =?ISO-8859-1?Q?Sergio_Andr=E9s_G=F3mez_del_Real?= To: freebsd-hackers@freebsd.org, freebsd-doc@freebsd.org Content-Type: multipart/mixed; boundary=089e01176f01ef40cf04efecd7a9 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 11:53:44 -0000 --089e01176f01ef40cf04efecd7a9 Content-Type: text/plain; charset=ISO-8859-1 I started studying the FreeBSD boot system and found that the documentation is limited and, in some cases, not true; for example it doesn't address appropriately the boot1 stage, stating erroneously that it is limited for booting with a floppy. Anyway, I've been working on an up-to-date version, and would like to hear some feedback. I attach the diff file for doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.xml. Thanks. --089e01176f01ef40cf04efecd7a9 Content-Type: text/plain; charset=US-ASCII; name="boot.diff" Content-Disposition: attachment; filename="boot.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hqe2zlqx0 SW5kZXg6IGJvb3QvY2hhcHRlci54bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYm9vdC9jaGFwdGVyLnhtbAko cmV2aXNpb24gNDM0NjkpCisrKyBib290L2NoYXB0ZXIueG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z LDYgKzMsNyBAQAogVGhlIEZyZWVCU0QgRG9jdW1lbnRhdGlvbiBQcm9qZWN0CiAKIENvcHlyaWdo dCAoYykgMjAwMiBTZXJnZXkgTHl1YmthIDxkZXZudWxsQHVwdHNvZnQuY29tPgorQ29weXJpZ2h0 IChjKSAyMDE0IFNlcmdpbyBBbmRy6XMgR/NtZXogZGVsIFJlYWwgPFNlcmdpby5HLkRlbFJlYWxA Z21haWwuY29tPgogQWxsIHJpZ2h0cyByZXNlcnZlZAogJEZyZWVCU0QkCiAtLT4KQEAgLTEwLDYg KzExLDcgQEAKICAgPGluZm8+PHRpdGxlPkJvb3RzdHJhcHBpbmcgYW5kIEtlcm5lbCBJbml0aWFs aXphdGlvbjwvdGl0bGU+CiAgICAgPGF1dGhvcmdyb3VwPgogICAgICAgPGF1dGhvcj48cGVyc29u bmFtZT48Zmlyc3RuYW1lPlNlcmdleTwvZmlyc3RuYW1lPjxzdXJuYW1lPkx5dWJrYTwvc3VybmFt ZT48L3BlcnNvbm5hbWU+PGNvbnRyaWI+Q29udHJpYnV0ZWQgYnkgPC9jb250cmliPjwvYXV0aG9y PiA8IS0tIGRldm51bGxAdXB0c29mdC5jb20gIDEyIEp1biAyMDAyIC0tPgorICAgICAgPGF1dGhv cj48cGVyc29ubmFtZT48Zmlyc3RuYW1lPlNlcmdpbyBBbmRy6XM8L2ZpcnN0bmFtZT48c3VybmFt ZT5H821leiBkZWwgUmVhbDwvc3VybmFtZT48L3BlcnNvbm5hbWU+PC9hdXRob3I+IDwhLS0gSmFu IDIwMTQgLS0+CiAgICAgPC9hdXRob3Jncm91cD4KICAgPC9pbmZvPgogICAKQEAgLTIzLDcgKzI1 LDEwIEBACiAgICAgPGluZGV4dGVybT48cHJpbWFyeT5JQS0zMjwvcHJpbWFyeT48L2luZGV4dGVy bT4KICAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5PmJvb3Rpbmc8L3ByaW1hcnk+PC9pbmRleHRlcm0+ CiAgICAgPGluZGV4dGVybT48cHJpbWFyeT5zeXN0ZW0gaW5pdGlhbGl6YXRpb248L3ByaW1hcnk+ PC9pbmRleHRlcm0+Ci0gICAgPHBhcmE+VGhpcyBjaGFwdGVyIGlzIGFuIG92ZXJ2aWV3IG9mIHRo ZSBib290IGFuZCBzeXN0ZW0KKyAgICA8cGFyYT5UaGUgRnJlZUJTRCBCb290IFN5c3RlbSBpcyBu b3QgYSB0cml2aWFsIHNvZnR3YXJlLiBBcyBzb29uIGFzIHdlIGdldCBleGVjdXRpb24gY29udHJv bCBmcm9tIHRoZSBCSU9TLCB3ZSBtdXN0IGhhbmRsZSBhIGNvbnNpZGVyYWJsZSBhbW91bnQgb2Yg bG93LWxldmVsIGNvbmZpZ3VyYXRpb24gYmVmb3JlIHRoZSBrZXJuZWwgY2FuIGJlIGxvYWRlZCBh bmQgZXhlY3V0ZWQuIFdlIG11c3QsIG1vcmVvdmVyLCBkbyB0aGlzIGluIGEgc2ltcGxlIGFuZCBm bGV4aWJsZSBtYW5uZXIsIGFzIHRvIGFsbG93IHRoZSB1c2VyIGEgZ3JlYXQgZGVhbCBvZiBjdXN0 b21pemF0aW9uIHBvc3NpYmlsaXRpZXMuCisKKworVGhpcyBjaGFwdGVyIGlzIGFuIG92ZXJ2aWV3 IG9mIHRoZSBib290IGFuZCBzeXN0ZW0KICAgICAgIGluaXRpYWxpemF0aW9uIHByb2Nlc3MsIHN0 YXJ0aW5nIGZyb20gdGhlIEJJT1MgKGZpcm13YXJlKSBQT1NULAogICAgICAgdG8gdGhlIGZpcnN0 IHVzZXIgcHJvY2VzcyBjcmVhdGlvbi4gIFNpbmNlIHRoZSBpbml0aWFsIHN0ZXBzIG9mCiAgICAg ICBzeXN0ZW0gc3RhcnR1cCBhcmUgdmVyeSBhcmNoaXRlY3R1cmUgZGVwZW5kZW50LCB0aGUgSUEt MzIKQEAgLTMzLDMxICszOCwxNCBAQAogICA8c2VjdDEgeG1sOmlkPSJib290LW92ZXJ2aWV3Ij4K ICAgICA8dGl0bGU+T3ZlcnZpZXc8L3RpdGxlPgogCi0gICAgPHBhcmE+QSBjb21wdXRlciBydW5u aW5nIEZyZWVCU0QgY2FuIGJvb3QgYnkgc2V2ZXJhbCBtZXRob2RzLAotICAgICAgYWx0aG91Z2gg dGhlIG1vc3QgY29tbW9uIG1ldGhvZCwgYm9vdGluZyBmcm9tIGEgaGFyZGRpc2sgd2hlcmUKLSAg ICAgIHRoZSBPUyBpcyBpbnN0YWxsZWQsIHdpbGwgYmUgZGlzY3Vzc2VkIGhlcmUuICBUaGUgYm9v dCBwcm9jZXNzCi0gICAgICBpcyBkaXZpZGVkIGludG8gc2V2ZXJhbCBzdGVwczo8L3BhcmE+Cisg ICAgPHBhcmE+VGhlIEJvb3QgUHJvY2VzcyBpcyBhbiBleHRyZW1lbHkgbWFjaGluZS1kZXBlbmRl bnQgYWN0aXZpdHk7IG5vdCBvbmx5IGNvZGUgbXVzdCBiZSB3cml0dGVuIGZvciBldmVyeSBjb21w dXRlciBhcmNoaXRlY3R1cmUgY2FzZSwgYnV0IHRoZXJlIG1heSBhbHNvIGJlIGRpZmZlcmVudCBm b3JtcyB0byBib290IHVuZGVyIHRoZSBzYW1lIGFyY2hpdGVjdHVyZS4gRm9yIGV4YW1wbGUsIHRh a2luZyBhIGxvb2sgYXQgdGhlIDxmaWxlbmFtZT4vdXNyL3N5cy9zcmMvYm9vdDwvZmlsZW5hbWU+ IGRpcmVjdG9yeSB3aWxsIHJldmVhbCBhIGdyZWF0IGFtb3VudCBvZiBhcmNoaXRlY3R1cmUtZGVw ZW5kZW50IGNvZGU7IHRoZXJlIGlzIGEgZGlyZWN0b3J5IGZvciBlYWNoIG9mIHRoZSB2YXJpb3Vz IHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzLiBGb3IgaW5zdGFuY2UsIHdlIGZpbmQgdGhlIGRpcmVj dG9yaWVzIDxmaWxlbmFtZT5hcm0sIGkzODYsIGlhNjQsIHBvd2VycGMsIDwvZmlsZW5hbWU+ZXRj LiBNb3Jlb3ZlciwgaWYgd2UgZW50ZXIgdGhlIGRpcmVjdG9yeSBzcGVjaWZpYyB0byB0aGUgeDg2 IGFyY2hpdGVjdHVyZSAodGhhdCBpcywgPGZpbGVuYW1lPmkzODY8L2ZpbGVuYW1lPiksIHdlIGNh biBzZWUgZGlyZWN0b3JpZXMgYmVsb25naW5nIHRvIGRpZmZlcmVudCBib290IHN0YW5kYXJkcy4g Rm9yIGV4YW1wbGUsIDxmaWxlbmFtZT5tYnI8L2ZpbGVuYW1lPiwgd2hpY2ggc3RhbmRzIGZvciBN YXN0ZXIgQm9vdCBSZWNvcmQsIDxmaWxlbmFtZT5ncHQ8L2ZpbGVuYW1lPiwgd2hpY2ggc3RhbmRz IGZvciBHVUlEIFBhcnRpdGlvbiBUYWJsZSwgb3IgPGZpbGVuYW1lPmVmaTwvZmlsZW5hbWU+LCB3 aGljaCBzdGFuZHMgZm9yIEV4dGVuc2libGUgRmlybXdhcmUgSW50ZXJmYWNlLiBFYWNoIGJvb3Qg c3RhbmRhcmQgaGFzIGdvdCBpdHMgb3duIGNvbnZlbnRpb25zIGFuZCBkYXRhIHN0cnVjdHVyZXMg dGhhdCBjb25mb3JtIHRvIHRoYXQgc3RhbmRhcmQuCiAKLSAgICA8aXRlbWl6ZWRsaXN0PgotICAg ICAgPGxpc3RpdGVtPjxwYXJhPkJJT1MgUE9TVDwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgPGxp c3RpdGVtPjxwYXJhPjxsaXRlcmFsPmJvb3QwPC9saXRlcmFsPiBzdGFnZTwvcGFyYT48L2xpc3Rp dGVtPgotICAgICAgPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmJvb3QyPC9saXRlcmFsPiBzdGFn ZTwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgPGxpc3RpdGVtPjxwYXJhPmxvYWRlciBzdGFnZTwv cGFyYT48L2xpc3RpdGVtPgotICAgICAgPGxpc3RpdGVtPjxwYXJhPmtlcm5lbCBpbml0aWFsaXph dGlvbjwvcGFyYT48L2xpc3RpdGVtPgotICAgIDwvaXRlbWl6ZWRsaXN0PgorSGVyZSB3ZSBzdHVk eSBpbiBkZXRhaWwgdGhlIGJvb3QgcHJvY2VzcyBmb3IgdGhlIHg4NiBhcmNoaXRlY3R1cmUgdXNp bmcgdGhlIE1CUiBib290IHN0YW5kYXJkLjwvcGFyYT4KKzxwYXJhPlRoZSBrZXkgdG8gdW5kZXJz dGFuZCB0aGlzIHByb2Nlc3MgaXMgdGhhdCBpdCBpcyBkaXZpZGVkIGludG8gYSBzZXF1ZW5jZSBv ZiA8ZW1waGFzaXM+c3RhZ2VzPC9lbXBoYXNpcz4sIGVhY2ggb25lIG1vcmUgY29tcGxleCB0aGFu IHRoZSBwcmVjZWRpbmcgb25lLiBUaGVzZSBzdGFnZXMgYXJlIG5hbWVkIDxlbXBoYXNpcz5ib290 MSwgYm9vdDI8L2VtcGhhc2lzPiBhbmQgPGVtcGhhc2lzPmxvYWRlcjwvZW1waGFzaXM+IGluICZt YW4uYm9vdC44OyBmb3IgdGhlIGZpcnN0LCBzZWNvbmQgYW5kIHRoaXJkIHN0YWdlIHJlc3BlY3Rp dmVseS4gVGhlIEJvb3QgU3lzdGVtIGV4ZWN1dGVzIGVhY2ggc3RhZ2UgaW4gc2VxdWVuY2UsIGFu ZCB0aGUgdGhpcmQgYW5kIGxhc3Qgc3RhZ2UsIDxlbXBoYXNpcz5sb2FkZXI8L2VtcGhhc2lzPiwg aXMgcmVzcG9uc2libGUgZm9yIGxvYWRpbmcgdGhlIEZyZWVCU0Qga2VybmVsLiBXZSB3aWxsIGxv b2sgYXQgZWFjaCBzdGFnZSBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLiBBZGRpdGlvbmFsbHks IHByaW9yIHRvIHRoZSBmaXJzdCBzdGFnZSAoPGVtcGhhc2lzPmJvb3QxPC9lbXBoYXNpcz4pLCBh biBhZGRpdGlvbmFsIHN0ZXAgaXMgbmVjZXNzYXJ5IGluIHRoZSBwcm9jZXNzLiBUaGlzIHN0ZXAg aXMgdGhlIE1hc3RlciBCb290IFJlY29yZCwgY29udmVuaWVudGx5IGNhbGxlZCA8ZW1waGFzaXM+ Ym9vdDAuPC9lbXBoYXNpcz48L3BhcmE+CiAKLSAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5PkJJT1Mg UE9TVDwvcHJpbWFyeT48L2luZGV4dGVybT4KLSAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5PmJvb3Qw PC9wcmltYXJ5PjwvaW5kZXh0ZXJtPgotICAgIDxpbmRleHRlcm0+PHByaW1hcnk+Ym9vdDI8L3By aW1hcnk+PC9pbmRleHRlcm0+Ci0gICAgPGluZGV4dGVybT48cHJpbWFyeT5sb2FkZXI8L3ByaW1h cnk+PC9pbmRleHRlcm0+Ci0gICAgPHBhcmE+VGhlIDxsaXRlcmFsPmJvb3QwPC9saXRlcmFsPiBh bmQgPGxpdGVyYWw+Ym9vdDI8L2xpdGVyYWw+Ci0gICAgICBzdGFnZXMgYXJlIGFsc28gcmVmZXJy ZWQgdG8gYXMgPGVtcGhhc2lzPmJvb3RzdHJhcCBzdGFnZXMgMSBhbmQKLSAgICAgIDI8L2VtcGhh c2lzPiBpbiAmbWFuLmJvb3QuODsgYXMgdGhlIGZpcnN0IHN0ZXBzIGluIEZyZWVCU0QncwotICAg ICAgMy1zdGFnZSBib290c3RyYXBwaW5nIHByb2NlZHVyZS4gIFZhcmlvdXMgaW5mb3JtYXRpb24g aXMgcHJpbnRlZAotICAgICAgb24gdGhlIHNjcmVlbiBhdCBlYWNoIHN0YWdlLCBzbyB5b3UgbWF5 IHZpc3VhbGx5IHJlY29nbml6ZSB0aGVtCi0gICAgICB1c2luZyB0aGUgdGFibGUgdGhhdCBmb2xs b3dzLiAgUGxlYXNlIG5vdGUgdGhhdCB0aGUgYWN0dWFsIGRhdGEKLSAgICAgIG1heSBkaWZmZXIg ZnJvbSBtYWNoaW5lIHRvIG1hY2hpbmU6PC9wYXJhPgotCis8cGFyYT4KK0hlcmUgaXMgYW4gZXhh bXBsZSBvZiB0aGUgb3V0cHV0IGdlbmVyYXRlZCBieSB0aGUgZGlmZmVyZW50IGJvb3Qgc3RhZ2Vz LiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBhY3R1YWwgZGF0YSBtYXkgZGlmZmVyIGZyb20gbWFjaGlu ZSB0byBtYWNoaW5lOgorPC9wYXJhPgogICAgIDxpbmZvcm1hbHRhYmxlIGZyYW1lPSJub25lIiBw Z3dpZGU9IjAiPgogICAgICAgPHRncm91cCBjb2xzPSIyIj4KIAk8dGJvZHk+CkBAIC0xMTAsMjYg Kzk4LDQ4IEBACiAJPC90Ym9keT4KICAgICAgIDwvdGdyb3VwPgogICAgIDwvaW5mb3JtYWx0YWJs ZT4KKzxwYXJhPgorVGhlIHJlc3Qgb2YgdGhpcyBjaGFwdGVyIGNvbXByaXNlcyB0aGUgZm9sbG93 aW5nIHNlY3Rpb25zOgorPC9wYXJhPgorCisgICAgPGl0ZW1pemVkbGlzdD4KKyAgICAgIDxsaXN0 aXRlbT48cGFyYT5UaGUgQklPUzwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgPGxpc3RpdGVtPjxw YXJhPlRoZSBNYXN0ZXIgQm9vdCBSZWNvcmQ8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgIDxsaXN0 aXRlbT48cGFyYT48bGl0ZXJhbD5ib290MTwvbGl0ZXJhbD4gc3RhZ2U8L3BhcmE+PC9saXN0aXRl bT4KKyAgICAgIDxsaXN0aXRlbT48cGFyYT5UaGUgQlRYIFNlcnZlcjwvcGFyYT48L2xpc3RpdGVt PgorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmJvb3QyPC9saXRlcmFsPiBzdGFnZTwvcGFyYT48 L2xpc3RpdGVtPgorICAgICAgPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmxvYWRlcjwvbGl0ZXJh bD4gc3RhZ2U8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgIDxsaXN0aXRlbT48cGFyYT5LZXJuZWwg SW5pdGlhbGl6YXRpb248L3BhcmE+PC9saXN0aXRlbT4KKyAgICA8L2l0ZW1pemVkbGlzdD4KKwor ICAgIDxpbmRleHRlcm0+PHByaW1hcnk+QklPUyBQT1NUPC9wcmltYXJ5PjwvaW5kZXh0ZXJtPgor ICAgIDxpbmRleHRlcm0+PHByaW1hcnk+TUJSIGFuZCBib290MDwvcHJpbWFyeT48L2luZGV4dGVy bT4KKyAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5PmJvb3QxPC9wcmltYXJ5PjwvaW5kZXh0ZXJtPgor ICAgIDxpbmRleHRlcm0+PHByaW1hcnk+VGhlIEJUWCBTZXJ2ZXI8L3ByaW1hcnk+PC9pbmRleHRl cm0+CisgICAgPGluZGV4dGVybT48cHJpbWFyeT5CVFggY2xpZW50OiBib290MjwvcHJpbWFyeT48 L2luZGV4dGVybT4KKyAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5PkJUWCBjbGllbnQ6IGxvYWRlcjwv cHJpbWFyeT48L2luZGV4dGVybT4KKwogICA8L3NlY3QxPgogCiAgIDxzZWN0MSB4bWw6aWQ9ImJv b3QtYmlvcyI+Ci0gICAgPHRpdGxlPkJJT1MgUE9TVDwvdGl0bGU+CiAKKyAgICA8dGl0bGU+VGhl IEJJT1M8L3RpdGxlPgorCiAgICAgPHBhcmE+V2hlbiB0aGUgUEMgcG93ZXJzIG9uLCB0aGUgcHJv Y2Vzc29yJ3MgcmVnaXN0ZXJzIGFyZSBzZXQKICAgICAgIHRvIHNvbWUgcHJlZGVmaW5lZCB2YWx1 ZXMuICBPbmUgb2YgdGhlIHJlZ2lzdGVycyBpcyB0aGUKICAgICAgIDxlbXBoYXNpcz5pbnN0cnVj dGlvbiBwb2ludGVyPC9lbXBoYXNpcz4gcmVnaXN0ZXIsIGFuZCBpdHMgdmFsdWUKICAgICAgIGFm dGVyIGEgcG93ZXIgb24gaXMgd2VsbCBkZWZpbmVkOiBpdCBpcyBhIDMyLWJpdCB2YWx1ZSBvZgot ICAgICAgMHhmZmZmZmZmMC4gIFRoZSBpbnN0cnVjdGlvbiBwb2ludGVyIHJlZ2lzdGVyIHBvaW50 cyB0byBjb2RlIHRvCi0gICAgICBiZSBleGVjdXRlZCBieSB0aGUgcHJvY2Vzc29yLiAgT25lIG9m IHRoZSByZWdpc3RlcnMgaXMgdGhlCisgICAgICA8bGl0ZXJhbD4weGZmZmZmZmYwPC9saXRlcmFs Pi4gIFRoZSBpbnN0cnVjdGlvbiBwb2ludGVyIHJlZ2lzdGVyIChhbHNvIGtub3duIGFzIHRoZSBQ cm9ncmFtIENvdW50ZXIpIHBvaW50cyB0byBjb2RlIHRvCisgICAgICBiZSBleGVjdXRlZCBieSB0 aGUgcHJvY2Vzc29yLiAgQW5vdGhlciBpbXBvcnRhbnQgcmVnaXN0ZXIgaXMgdGhlCiAgICAgICA8 bGl0ZXJhbD5jcjA8L2xpdGVyYWw+IDMyLWJpdCBjb250cm9sIHJlZ2lzdGVyLCBhbmQgaXRzIHZh bHVlCi0gICAgICBqdXN0IGFmdGVyIHRoZSByZWJvb3QgaXMgMC4gIE9uZSBvZiB0aGUgY3IwJ3Mg Yml0cywgdGhlIGJpdCBQRQorICAgICAganVzdCBhZnRlciB0aGUgcmVib290IGlzIDxsaXRlcmFs PjA8L2xpdGVyYWw+LiAgT25lIG9mIHRoZSA8bGl0ZXJhbD5jcjA8L2xpdGVyYWw+J3MgYml0cywg dGhlIGJpdCBQRQogICAgICAgKFByb3RlY3Rpb24gRW5hYmxlZCkgaW5kaWNhdGVzIHdoZXRoZXIg dGhlIHByb2Nlc3NvciBpcyBydW5uaW5nCi0gICAgICBpbiBwcm90ZWN0ZWQgb3IgcmVhbCBtb2Rl LiAgU2luY2UgYXQgYm9vdCB0aW1lIHRoaXMgYml0IGlzCi0gICAgICBjbGVhcmVkLCB0aGUgcHJv Y2Vzc29yIGJvb3RzIGluIHJlYWwgbW9kZS4gIFJlYWwgbW9kZSBtZWFucywKKyAgICAgIGluIDMy LWJpdCBwcm90ZWN0ZWQgb3IgMTYtYml0IHJlYWwgbW9kZS4gIFNpbmNlIGF0IGJvb3QgdGltZSB0 aGlzIGJpdCBpcworICAgICAgY2xlYXJlZCwgdGhlIHByb2Nlc3NvciBib290cyBpbiAxNi1iaXQg cmVhbCBtb2RlLiAgUmVhbCBtb2RlIG1lYW5zLAogICAgICAgYW1vbmcgb3RoZXIgdGhpbmdzLCB0 aGF0IGxpbmVhciBhbmQgcGh5c2ljYWwgYWRkcmVzc2VzIGFyZQotICAgICAgaWRlbnRpY2FsLjwv cGFyYT4KKyAgICAgIGlkZW50aWNhbC4gVGhlIHJlYXNvbiBmb3IgdGhlIHByb2Nlc3NvciBub3Qg dG8gc3RhcnQgaW1tZWRpYXRlbHkgaW4gMzItYml0IHByb3RlY3RlZCBtb2RlIGlzIGJhY2t3YXJk cyBjb21wYXRpYmlsaXR5LiBJbiBwYXJ0aWN1bGFyLCB0aGUgYm9vdCBwcm9jZXNzIHJlbGllcyBv biB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgdGhlIEJJT1MsIGFuZCB0aGUgQklPUyBpdHNlbGYg d29yayBpbiBsZWdhY3ksIDE2LWJpdCBjb2RlLjwvcGFyYT4KIAotICAgIDxwYXJhPlRoZSB2YWx1 ZSBvZiAweGZmZmZmZmYwIGlzIHNsaWdodGx5IGxlc3MgdGhlbiA0R2IsIHNvIHVubGVzcworICAg IDxwYXJhPlRoZSB2YWx1ZSBvZiA8bGl0ZXJhbD4weGZmZmZmZmYwPC9saXRlcmFsPiBpcyBzbGln aHRseSBsZXNzIHRoZW4gNEdiLCBzbyB1bmxlc3MKICAgICAgIHRoZSBtYWNoaW5lIGhhcyA0R2Ig cGh5c2ljYWwgbWVtb3J5LCBpdCBjYW5ub3QgcG9pbnQgdG8gYSB2YWxpZAogICAgICAgbWVtb3J5 IGFkZHJlc3MuICBUaGUgY29tcHV0ZXIncyBoYXJkd2FyZSB0cmFuc2xhdGVzIHRoaXMgYWRkcmVz cwogICAgICAgc28gdGhhdCBpdCBwb2ludHMgdG8gYSBCSU9TIG1lbW9yeSBibG9jay48L3BhcmE+ CkBAIC0xMzksNyArMTQ5LDcgQEAKICAgICAgIGhhcyBhIHJlbGF0aXZlbHkgc21hbGwgYW1vdW50 IG9mIHJlYWQtb25seSBtZW1vcnkgKFJPTSkuICBUaGlzCiAgICAgICBtZW1vcnkgY29udGFpbnMg dmFyaW91cyBsb3ctbGV2ZWwgcm91dGluZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8KICAgICAgIHRo ZSBoYXJkd2FyZSBzdXBwbGllZCB3aXRoIHRoZSBtb3RoZXJib2FyZC4gIFNvLCB0aGUgcHJvY2Vz c29yCi0gICAgICB3aWxsIGZpcnN0IGp1bXAgdG8gdGhlIGFkZHJlc3MgMHhmZmZmZmZmMCwgd2hp Y2ggcmVhbGx5IHJlc2lkZXMKKyAgICAgIHdpbGwgZmlyc3QganVtcCB0byB0aGUgYWRkcmVzcyA8 bGl0ZXJhbD4weGZmZmZmZmYwPC9saXRlcmFsPiwgd2hpY2ggcmVhbGx5IHJlc2lkZXMKICAgICAg IGluIHRoZSBCSU9TJ3MgbWVtb3J5LiAgVXN1YWxseSB0aGlzIGFkZHJlc3MgY29udGFpbnMgYSBq dW1wCiAgICAgICBpbnN0cnVjdGlvbiB0byB0aGUgQklPUydzIFBPU1Qgcm91dGluZXMuPC9wYXJh PgogCkBAIC0xNTQsNyArMTY0LDcgQEAKICAgICA8cGFyYT5UaGUgdmVyeSBsYXN0IHRoaW5nIGlu IHRoZSBQT1NUIGlzIHRoZSA8bGl0ZXJhbD5JTlQKIAkweDE5PC9saXRlcmFsPiBpbnN0cnVjdGlv bi4gIFRoYXQgaW5zdHJ1Y3Rpb24gcmVhZHMgNTEyIGJ5dGVzCiAgICAgICBmcm9tIHRoZSBmaXJz dCBzZWN0b3Igb2YgYm9vdCBkZXZpY2UgaW50byB0aGUgbWVtb3J5IGF0IGFkZHJlc3MKLSAgICAg IDB4N2MwMC4gIFRoZSB0ZXJtIDxlbXBoYXNpcz5maXJzdCBzZWN0b3I8L2VtcGhhc2lzPiBvcmln aW5hdGVzCisgICAgICA8bGl0ZXJhbD4weDdjMDA8L2xpdGVyYWw+LiAgVGhlIHRlcm0gPGVtcGhh c2lzPmZpcnN0IHNlY3RvcjwvZW1waGFzaXM+IG9yaWdpbmF0ZXMKICAgICAgIGZyb20gaGFyZGRy aXZlIGFyY2hpdGVjdHVyZSwgd2hlcmUgdGhlIG1hZ25ldGljIHBsYXRlIGlzIGRpdmlkZWQKICAg ICAgIHRvIGEgbnVtYmVyIG9mIGN5bGluZHJpY2FsIHRyYWNrcy4gIFRyYWNrcyBhcmUgbnVtYmVy ZWQsIGFuZAogICAgICAgZXZlcnkgdHJhY2sgaXMgZGl2aWRlZCBieSBhIG51bWJlciAodXN1YWxs eSA2NCkgc2VjdG9ycy4gIFRyYWNrCkBAIC0xNjYsMjggKzE3NiwyOSBAQAogCSAgdXRpbGl0aWVz IHN1Y2ggYXMgJm1hbi5kaXNrbGFiZWwuODsgbWF5IHN0b3JlIHRoZQogCSAgaW5mb3JtYXRpb24g aW4gdGhpcyBhcmVhLCBtb3N0bHkgaW4gdGhlIHNlY29uZAogCSAgc2VjdG9yLjwvcGFyYT48L2Zv b3Rub3RlPi48L3BhcmE+Cis8cGFyYT5UaGlzIHNlY3RvciBpcyBvdXIgYm9vdC1zZXF1ZW5jZSBz dGFydGluZyBwb2ludDsgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgc2VjdG9yIGlzIGluIGZhY3Qgb3Vy IDxmaWxlbmFtZT5ib290MDwvZmlsZW5hbWU+IHByb2dyYW0uIEEganVtcCBpcyBtYWRlIGJ5IHRo ZSBCSU9TIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPiBzbyBpdCBzdGFydHMg ZXhlY3V0aW5nLjwvcGFyYT4KICAgPC9zZWN0MT4KIAogICA8c2VjdDEgeG1sOmlkPSJib290LWJv b3QwIj4KLSAgICA8dGl0bGU+PGxpdGVyYWw+Ym9vdDA8L2xpdGVyYWw+IFN0YWdlPC90aXRsZT4K KyAgICA8dGl0bGU+VGhlIE1hc3RlciBCb290IFJlY29yZDwvdGl0bGU+CiAKICAgICA8aW5kZXh0 ZXJtPjxwcmltYXJ5Pk1CUjwvcHJpbWFyeT48L2luZGV4dGVybT4KLSAgICA8cGFyYT5UYWtlIGEg bG9vayBhdCB0aGUgZmlsZSA8ZmlsZW5hbWU+L2Jvb3QvYm9vdDA8L2ZpbGVuYW1lPi4KLSAgICAg IFRoaXMgaXMgYSBzbWFsbCA1MTItYnl0ZSBmaWxlLCBhbmQgaXQgaXMgZXhhY3RseSB3aGF0IEZy ZWVCU0QncworPHBhcmE+CitBZnRlciBjb250cm9sIGlzIHJlY2VpdmVkIGZyb20gdGhlIEJJT1Mg YXQgbWVtb3J5IGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPiwgPGZpbGVuYW1lPmJv b3QwPC9maWxlbmFtZT4gc3RhcnRzIGV4ZWN1dGluZzsgaXQgaXMgdGhlIGZpcnN0IHBpZWNlIG9m IGNvZGUgdW5kZXIgb3VyIGNvbnRyb2wuIEluIGVzc2VuY2UsIHRoZSB0YXNrIG9mIDxmaWxlbmFt ZT5ib290MDwvZmlsZW5hbWU+IGlzIHF1aXRlIHNpbXBsZTogc2NhbiB0aGUgUGFydGl0aW9uIFRh YmxlIGFuZCBsZXQgdGhlIHVzZXIgY2hvb3NlIHdoaWNoIHBhcnRpdGlvbiB0byBib290IGZyb20u IFRoZSBQYXJ0aXRpb24gVGFibGUgaXMgYSBzcGVjaWFsLCBzdGFuZGFyZCBkYXRhIHN0cnVjdHVy ZSBlbWJlZGRlZCBpbiB0aGUgTUJSIChoZW5jZSBlbWJlZGRlZCBpbiA8ZmlsZW5hbWU+Ym9vdDA8 L2ZpbGVuYW1lPikgZGVzY3JpYmluZyB0aGUgNCBzdGFuZGFyZCBQQyBwYXJ0aXRpb25zIDxmb290 bm90ZT48cGFyYT5lbi53aWtpcGVkaWEub3JnL3dpa2kvTWFzdGVyX2Jvb3RfcmVjb3JkPC9wYXJh PjwvZm9vdG5vdGU+LgorPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gcmVzaWRlcyBpbiB0aGUg ZmlsZXN5c3RlbSBhdCBsb2NhdGlvbiA8ZmlsZW5hbWU+L2Jvb3QvYm9vdDA8L2ZpbGVuYW1lPi4K KyAgICAgIEl0IGlzIGEgc21hbGwgNTEyLWJ5dGUgZmlsZSwgYW5kIGl0IGlzIGV4YWN0bHkgd2hh dCBGcmVlQlNEJ3MKICAgICAgIGluc3RhbGxhdGlvbiBwcm9jZWR1cmUgd3JvdGUgdG8geW91ciBo YXJkZGlzaydzIE1CUiBpZiB5b3UgY2hvc2UKICAgICAgIHRoZSA8cXVvdGU+Ym9vdG1hbmFnZXI8 L3F1b3RlPiBvcHRpb24gYXQgaW5zdGFsbGF0aW9uCi0gICAgICB0aW1lLjwvcGFyYT4KKyAgICAg IHRpbWU7IGluZGVlZCwgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gPGVtcGhhc2lzPmlzPC9l bXBoYXNpcz4gdGhlIE1CUi48L3BhcmE+CiAKICAgICA8cGFyYT5BcyBtZW50aW9uZWQgcHJldmlv dXNseSwgdGhlIDxsaXRlcmFsPklOVCAweDE5PC9saXRlcmFsPgogICAgICAgaW5zdHJ1Y3Rpb24g bG9hZHMgYW4gTUJSLCBpLmUuLCB0aGUgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4KLSAgICAg IGNvbnRlbnQsIGludG8gdGhlIG1lbW9yeSBhdCBhZGRyZXNzIDB4N2MwMC4gIFRha2luZyBhIGxv b2sgYXQKLSAgICAgIHRoZSBmaWxlIDxmaWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL2Jvb3Qw LlM8L2ZpbGVuYW1lPiBjYW4KLSAgICAgIGdpdmUgYSBndWVzcyBhdCB3aGF0IGlzIGhhcHBlbmlu ZyB0aGVyZSAtIHRoaXMgaXMgdGhlIGJvb3QKLSAgICAgIG1hbmFnZXIsIHdoaWNoIGlzIGFuIGF3 ZXNvbWUgcGllY2Ugb2YgY29kZSB3cml0dGVuIGJ5IFJvYmVydAorICAgICAgY29udGVudCwgaW50 byB0aGUgbWVtb3J5IGF0IGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPi4gIFRoZSBz b3VyY2UgZmlsZSBmb3IgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gY2FuIGJlIGZvdW5kIGlu IDxmaWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL2Jvb3QwLlM8L2ZpbGVuYW1lPiAtIHdoaWNo IGlzIGFuIGF3ZXNvbWUgcGllY2Ugb2YgY29kZSB3cml0dGVuIGJ5IFJvYmVydAogICAgICAgTm9y ZGllci48L3BhcmE+CiAKLSAgICA8cGFyYT5UaGUgTUJSLCBvciwgPGZpbGVuYW1lPmJvb3QwPC9m aWxlbmFtZT4sIGhhcyBhIHNwZWNpYWwKLSAgICAgIHN0cnVjdHVyZSBzdGFydGluZyBmcm9tIG9m ZnNldCAweDFiZSwgY2FsbGVkIHRoZQorCisgICAgPHBhcmE+QXMgcG9pbnRlZCBvdXQgZWFybGll ciwgdGhlIE1CUiwgb3IgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4sIGhhcyBhIHNwZWNpYWwK KyAgICAgIHN0cnVjdHVyZSBzdGFydGluZyBmcm9tIG9mZnNldCA8bGl0ZXJhbD4weDFiZTwvbGl0 ZXJhbD4sIGNhbGxlZCB0aGUKICAgICAgIDxlbXBoYXNpcz5wYXJ0aXRpb24gdGFibGU8L2VtcGhh c2lzPi4gIEl0IGhhcyA0IHJlY29yZHMgb2YgMTYKICAgICAgIGJ5dGVzIGVhY2gsIGNhbGxlZCA8 ZW1waGFzaXM+cGFydGl0aW9uIHJlY29yZHM8L2VtcGhhc2lzPiwgd2hpY2gKICAgICAgIHJlcHJl c2VudCBob3cgdGhlIGhhcmRkaXNrKHMpIGFyZSBwYXJ0aXRpb25lZCwgb3IsIGluIEZyZWVCU0Qn cwpAQCAtMjIyLDU2ICsyMzMsNDExIEBACiAgICAgICBkaWZmZXJlbnQgd2F5czogTEJBIChMb2dp Y2FsIEJsb2NrIEFkZHJlc3NpbmcpIGhhcyB0aGUgc3RhcnRpbmcKICAgICAgIHNlY3RvciBmb3Ig dGhlIHBhcnRpdGlvbiBhbmQgdGhlIHBhcnRpdGlvbidzIGxlbmd0aCwgd2hpbGUgQ0hTCiAgICAg ICAoQ3lsaW5kZXIgSGVhZCBTZWN0b3IpIGhhcyBjb29yZGluYXRlcyBmb3IgdGhlIGZpcnN0IGFu ZCBsYXN0Ci0gICAgICBzZWN0b3JzIG9mIHRoZSBwYXJ0aXRpb24uPC9wYXJhPgorICAgICAgc2Vj dG9ycyBvZiB0aGUgcGFydGl0aW9uLiBUaGUgcGFydGl0aW9uIHRhYmxlIGVuZHMgd2l0aCB0aGUg c3BlY2lhbCBzaWduYXR1cmUgPGxpdGVyYWw+MHhhYTU1PC9saXRlcmFsPi48L3BhcmE+Cis8cGFy YT5JdCBpcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0LCBiZWNhdXNlIG9mIHRoZSBzaXplIGNvbnRy YWludCBvZiB0aGUgTUJSIChpdCBtdXN0IGZpdCBpbiA1MTIgYnl0ZXMsIHRoYXQgaXMsIGluIDEg ZGlzayBzZWN0b3IpLCBhbmQgYmVjYXVzZSBjYXJlIG11c3QgYmUgdGFrZW4gd2hlbiBoYW5kbGlu ZyB0aGUgUGFydGl0aW9uIFRhYmxlICh3aGljaCBpcyBlbWJlZGRlZCBpbiB0aGUgTUJSIGl0c2Vs ZiksIHRoaXMgcHJvZ3JhbSBtYWtlIHVzZSBvZiBsaXR0bGUgbG93LWxldmVsICd0cmlja3MnLCBs aWtlIDxxdW90ZT48ZW1waGFzaXM+Li4udXNpbmcgc2lkZSBlZmZlY3RzIG9mIGNlcnRhaW4gaW5z dHJ1Y3Rpb25zLCByZXVzaW5nIHJlZ2lzdGVyIHZhbHVlcyBmcm9tIHByZXZpb3VzIG9wZXJhdGlv bnMsIGV0Yy48L2VtcGhhc2lzPjwvcXVvdGU+LCBzbyBhcyB0byBtYWtlIHRoZSBtb3N0IG91dCBv ZiB0aGUgbGVhc3QgcG9zc2libGUgaW5zdHJ1Y3Rpb25zLiBGb3IgdGhpcyByZWFzb24sIGV4dHJl bWUgY2FyZSBtdXN0IGJlIHRha2VuIHdoZW4gbW9kaWZ5aW5nIDxmaWxlbmFtZT5ib290MC5TPC9m aWxlbmFtZT4uPC9wYXJhPgorPHBhcmE+CitBbHNvLCBub3RlIHRoYXQgdGhlIDxmaWxlbmFtZT5i b290MC5TPC9maWxlbmFtZT4gc291cmNlIGZpbGUgaXMgYXNzZW1ibGVkICJhcyBpcyI7IGluc3Ry dWN0aW9ucyBhcmUgdHJhbnNsYXRlZCBvbmUgYnkgb25lIHRvIGJpbmFyeSwgd2l0aCBubyBhZGRp dGlvbmFsIGluZm9ybWF0aW9uIChubyBFTEYgZmlsZSBmb3JtYXQsIGZvciBleGFtcGxlKS4gVGhp cyBraW5kIG9mIGxvdy1sZXZlbCBjb250cm9sIGlzIGFjaGlldmVkIGF0IGxpbmsgdGltZSB0aHJv dWdoIHNwZWNpYWwgY29udHJvbCBmbGFncyBwYXNzZWQgdG8gdGhlIGxpbmtlci4gRm9yIGV4YW1w bGUsIHRoZSB0ZXh0IHNlY3Rpb24gb2YgdGhlIHByb2dyYW0gaXMgc2V0IHRvIGJlIGxvY2F0ZWQg YXQgYWRkcmVzcyA8bGl0ZXJhbD4weDYwMDwvbGl0ZXJhbD4uIEluIHByYWN0aWNlIHRoaXMgbWVh bnMgdGhhdCA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBtdXN0IGJlIGxvYWRlZCB0byBtZW1v cnkgYWRkcmVzcyA8bGl0ZXJhbD4weDYwMDwvbGl0ZXJhbD4gaW4gb3JkZXIgdG8gZnVuY3Rpb24g cHJvcGVybHkuPC9wYXJhPgogCi0gICAgPHBhcmE+VGhlIGJvb3QgbWFuYWdlciBzY2FucyB0aGUg cGFydGl0aW9uIHRhYmxlIGFuZCBwcmludHMgdGhlCi0gICAgICBtZW51IG9uIHRoZSBzY3JlZW4g c28gdGhlIHVzZXIgY2FuIHNlbGVjdCB3aGF0IGRpc2sgYW5kIHdoYXQKLSAgICAgIHNsaWNlIHRv IGJvb3QuICBCeSBwcmVzc2luZyBhbiBhcHByb3ByaWF0ZSBrZXksCi0gICAgICA8ZmlsZW5hbWU+ Ym9vdDA8L2ZpbGVuYW1lPiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nCi0gICAgICBhY3Rpb25zOjwv cGFyYT4KKzxwYXJhPkl0IGlzIGFsc28gd29ydGggbG9va2luZyBhdCB0aGUgTWFrZWZpbGUgZm9y IGJvb3QwICg8ZmlsZW5hbWU+c3lzL2Jvb3QvaTM4Ni9ib290MC9NYWtlZmlsZTwvZmlsZW5hbWU+ KSwgYXMgaXQgZGVmaW5lcyBzb21lIG9mIGl0cyBiZWhhdmlvdXIuIEZvciBpbnN0YW5jZSwgaWYg YSB0ZXJtaW5hbCBjb25uZWN0ZWQgdG8gdGhlIHNlcmlhbCBwb3J0IChDT00gMSkgaXMgdXNlZCBm b3IgSS9PLCB0aGUgbWFjcm8gPGxpdGVyYWw+U0lPPC9saXRlcmFsPiBtdXN0IGJlIGRlZmluZWQg KDxsaXRlcmFsPi1EU0lPPC9saXRlcmFsPikuIE90aGVyIG9wdGlvbnMgaW5jbHVkZSBlbmFibGlu ZyBib290IHRocm91Z2ggUFhFIHByZXNzaW5nIEY2ICg8bGl0ZXJhbD4tRFBYRTwvbGl0ZXJhbD4p LiBBZGRpdGlvbmFsbHksIHRoZSBwcm9ncmFtIGRlZmluZXMgYSBzZXQgb2YgPGVtcGhhc2lzPmZs YWdzPC9lbXBoYXNpcz4gdGhhdCBhbGxvdyB0byBmdXJ0aGVyIG1vZGlmeSBpdHMgYmVoYXZpb3Iu IEFsbCB0aGlzIGlzIGlsbHVzdHJhdGVkIGluIHRoZSA8ZmlsZW5hbWU+TWFrZWZpbGU8L2ZpbGVu YW1lPi4gTGV0IHVzLCBmb3IgZXhhbXBsZSwgbG9vayBhdCB0aGUgbGlua2VyIGRpcmVjdGl2ZXMg d2hpY2ggY29tbWFuZCB0aGUgbGlua2VyIHRvIHN0YXJ0IHRoZSB0ZXh0IHNlY3Rpb24gYXQgYWRk cmVzcyA8bGl0ZXJhbD4weDYwMDwvbGl0ZXJhbD4sIGFuZCB0byBidWlsZCB0aGUgb3V0cHV0IGZp bGUgImFzIGlzIiAoc3RyaXAgb3V0IGFueSBmaWxlIGZvcm1hdHRpbmcpOgorPHByb2dyYW1saXN0 aW5nPjxmaWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL01ha2VmaWxlOjwvZmlsZW5hbWU+CitC T09UX0JPT1QwX09SRz89MHg2MDAKK0xERkxBR1M9LWUgc3RhcnQgLVR0ZXh0ICR7Qk9PVF9CT09U MF9PUkd9IC1XbCwtTiwtUywtLW9mb3JtYXQsYmluYXJ5Cis8L3Byb2dyYW1saXN0aW5nPgorPC9w YXJhPgogCisKKzxwYXJhPkxldCB1cyBub3cgc3RhcnQgb3VyIHN0dWR5IG9mIHRoZSBNQlIsIG9y IDxmaWxlbmFtZT5ib290MDwvZmlsZW5hbWU+LCBwcm9ncmFtLCBzdGFydGluZyB3aGVyZSBleGVj dXRpb24gYmVnaW5zOiA8Zm9vdG5vdGU+PHBhcmE+UGxlYXNlIG5vdGUgdGhhdCBzdWJ0bGUgbW9k aWZpY2F0aW9ucyB3ZXJlIG1hZGUgdG8gc29tZSBpbnN0cnVjdGlvbnMgaW4gZmF2b3Igb2YgYmV0 dGVyIGV4cG9zaXRpb24uIFRoaXMgYXBwbGllcyB0byA8ZW1waGFzaXM+YWxsPC9lbXBoYXNpcz4g b3VyIGNvZGUgZXhhbXBsZXMuPC9wYXJhPjwvZm9vdG5vdGU+OgorPHByb2dyYW1saXN0aW5nPjxm aWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL2Jvb3QwLlM6PC9maWxlbmFtZT4KK3N0YXJ0OgkJ Y2xkCQkJIyBTdHJpbmcgb3BzIGluYworCQl4b3J3ICVheCwlYXgJCSMgWmVybworCQltb3Z3ICVh eCwlZXMJCSMgQWRkcmVzcworCQltb3Z3ICVheCwlZHMJCSMgIGRhdGEKKwkJbW92dyAlYXgsJXNz CQkjIFNldCB1cAorCQltb3Z3IDB4N2MwMCwlc3AJCSMgIHN0YWNrCis8L3Byb2dyYW1saXN0aW5n PgorVGhpcyBmaXJzdCBibG9jayBvZiBjb2RlIGlzIHRoZSBlbnRyeSBwb2ludCBvZiB0aGUgcHJv Z3JhbTsgaXQgaXMgd2hlcmUgdGhlIEJJT1MgdHJhbnNmZXJzIGNvbnRyb2wuIEZpcnN0LCBpdCBt YWtlcyBzdXJlIHRoYXQgdGhlIHN0cmluZyBvcGVyYXRpb25zIGF1dG9pbmNyZW1lbnQgaXRzIHBv aW50ZXIgb3BlcmFuZHMgKHRoZSBjbGQgaW5zdHJ1Y3Rpb24pPGZvb3Rub3RlPjxwYXJhPldoZW4g aW4gZG91YnQsIHdlIHJlbWl0IHRoZSByZWFkZXIgdG8gdGhlIG9mZmljaWFsIEludGVsIE1hbnVh bHMsIHdoaWNoIGRlc2NyaWJlIHRoZSA8ZW1waGFzaXM+ZXhhY3Q8L2VtcGhhc2lzPiBzZW1hbnRp Y3MgZm9yIGVhY2ggaW5zdHJ1Y3Rpb246IGh0dHA6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3 L3VzL2VuL3Byb2Nlc3NvcnMvYXJjaGl0ZWN0dXJlcy1zb2Z0d2FyZS1kZXZlbG9wZXItbWFudWFs cy5odG1sLjwvcGFyYT48L2Zvb3Rub3RlPi4gVGhlbiwgaXQgbWFrZXMgbm8gYXNzdW1wdGlvbiBh Ym91dCB0aGUgc3RhdGUgb2YgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzLCBzbyBpdCBpbml0aWFsaXpl cyB0aGVtLiBGaW5hbGx5LCBpdCBzZXRzIHRoZSBzdGFjayBwb2ludGVyIHJlZ2lzdGVyICglc3Ap IHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPiwgc28gd2UgaGF2ZSBhIHdvcmtp bmcgc3RhY2suCis8L3BhcmE+Cis8cGFyYT4KKworVGhlIG5leHQgYmxvY2sgaXMgcmVzcG9uc2li bGUgZm9yIHRoZSByZWxvY2F0aW9uIGFuZCBzdWJzZXF1ZW50IGp1bXAgdG8gdGhlIHJlbG9jYXRl ZCBjb2RlOgorPHByb2dyYW1saXN0aW5nPjxmaWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL2Jv b3QwLlM6PC9maWxlbmFtZT4KKwkJbW92dyAkMHg3YzAwLCVzaQkjIFNvdXJjZQorCQltb3Z3ICQw eDYwMCwlZGkJCSMgRGVzdGluYXRpb24KKwkJbW92dyAkNTEyLCVjeAkJIyBXb3JkIGNvdW50CisJ CXJlcAkJCSMgUmVsb2NhdGUKKwkJbW92c2IJCQkjICBjb2RlCisJCW1vdncgJWRpLCVicAkJIyBB ZGRyZXNzIHZhcmlhYmxlcworCQltb3ZiICQxNiwlY2wJCSMgV29yZHMgdG8gY2xlYXIKKwkJcmVw CQkJIyBaZXJvCisJCXN0b3NiCQkJIyAgdGhlbQorCQlpbmNiIC0weGUoJWRpKQkJIyBTZXQgdGhl IFMgZmllbGQgdG8gMQorCisJCWptcCBtYWluLUxPQUQrT1JJR0lOCSMgSnVtcCB0byByZWxvY2F0 ZWQgY29kZQorPC9wcm9ncmFtbGlzdGluZz4KK0JlY2F1c2UgPGZpbGVuYW1lPmJvb3QwPC9maWxl bmFtZT4gaXMgbG9hZGVkIGJ5IHRoZSBCSU9TIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3QzAwPC9s aXRlcmFsPiwgaXQgY29waWVzIGl0c2VsZiB0byBhZGRyZXNzIDxsaXRlcmFsPjB4NjAwPC9saXRl cmFsPiBhbmQgdGhlbiB0cmFuc2ZlcnMgY29udHJvbCB0aGVyZSAocmVjYWxsIHRoYXQgaXQgd2Fz IGxpbmtlZCB0byBleGVjdXRlIGF0IGFkZHJlc3MgMHg2MDApLiBUaGUgc291cmNlIGFkZHJlc3Ms IDxsaXRlcmFsPjB4N2MwMDwvbGl0ZXJhbD4sIGlzIGNvcGllZCB0byByZWdpc3RlciAlc2k7IHRo ZSBkZXN0aW5hdGlvbiBhZGRyZXNzLCA8bGl0ZXJhbD4weDYwMDwvbGl0ZXJhbD4sIHRvIHJlZ2lz dGVyICVkaS4gVGhlIG51bWJlciBvZiBieXRlcyB0byBjb3B5LCA8bGl0ZXJhbD41MTI8L2xpdGVy YWw+ICh0aGUgcHJvZ3JhbSdzIHNpemUpLCBpcyBjb3BpZWQgdG8gcmVnaXN0ZXIgJWN4LiBOZXh0 LCB0aGUgcmVwIGluc3RydWN0aW9uIHJlcGVhdHMgdGhlIGluc3RydWN0aW9uIHRoYXQgZm9sbG93 cywgdGhhdCBpcywgbW92c2IsIHRoZSBudW1iZXIgb2YgdGltZXMgZGljdGFkZWQgYnkgdGhlICVj eCByZWdpc3Rlci4gVGhlIG1vdnNiIGluc3RydWN0aW9uIGNvcGllcyB0aGUgYnl0ZSBwb2ludGVk IHRvIGJ5ICVzaSB0byB0aGUgYWRkcmVzcyBwb2ludGVkIHRvIGJ5ICVkaS4gVGhpcyBpcyByZXBl YXRlZCBhbm90aGVyIDUxMSB0aW1lczsgb24gZWFjaCByZXBldGl0aW9uLCBib3RoIHRoZSBzb3Vy Y2UgYW5kIGRlc3RpbmF0aW9uIHJlZ2lzdGVycywgJXNpIGFuZCAlZGksIGFyZSBpbmNyZW1lbnRl ZCBieSBvbmUuIFRodXMsIHVwb24gY29tcGxldGlvbiBvZiB0aGUgNTEyLWJ5dGUgY29weSwgJWRp IGhhcyB0aGUgdmFsdWUgPGxpdGVyYWw+MHg2MDA8L2xpdGVyYWw+KzxsaXRlcmFsPjUxMjwvbGl0 ZXJhbD49PGxpdGVyYWw+MHg4MDA8L2xpdGVyYWw+LCBhbmQgJXNpIGhhcyB0aGUgdmFsdWUgPGxp dGVyYWw+MHg3YzAwPC9saXRlcmFsPis8bGl0ZXJhbD41MTI8L2xpdGVyYWw+PTxsaXRlcmFsPjB4 N2UwMDwvbGl0ZXJhbD47IHdlIGhhdmUgdGh1cyBjb21wbGV0ZWQgdGhlIGNvZGUgPGVtcGhhc2lz PnJlbG9jYXRpb248L2VtcGhhc2lzPi4gTmV4dCwgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyICVk aSBpcyBub3cgY29waWVkIHRvICVicDsgJWJwIGdldHMgdGhlIHZhbHVlIDxsaXRlcmFsPjB4ODAw PC9saXRlcmFsPi4gVGhlIHZhbHVlIDxsaXRlcmFsPjE2PC9saXRlcmFsPiBpcyBub3cgY29waWVk IHRvICVjbCBpbiBwcmVwYXJhdGlvbiBmb3IgYSBuZXcgc3RyaW5nIG9wZXJhdGlvbiAobGlrZSBv dXIgcHJldmlvdXMgbW92c2IpLiBOb3csIHN0b3NiIGlzIGV4ZWN1dGVkIDE2IHRpbWVzLiBUaGlz IGluc3RydWN0aW9uIGNvcGllcyBhIDxsaXRlcmFsPjA8L2xpdGVyYWw+IHZhbHVlIHRvIHRoZSBh ZGRyZXNzIHBvaW50ZWQgdG8gYnkgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyICglZGksIHdoaWNo IGlzIDxsaXRlcmFsPjB4ODAwPC9saXRlcmFsPiksIGFuZCBpbmNyZW1lbnRzIGl0LiBUaGlzIGlz IHJlcGVhdGVkIGFub3RoZXIgMTUgdGltZXMsIHNvICVkaSBlbmRzIHVwIHdpdGggdmFsdWUgPGxp dGVyYWw+MHg4MTA8L2xpdGVyYWw+LiBFZmZlY3RpdmVseSwgdGhpcyBjbGVhcnMgdGhlIGFkZHJl c3MgcmFuZ2UgPGxpdGVyYWw+MHg4MDA8L2xpdGVyYWw+LTxsaXRlcmFsPjB4ODBmPC9saXRlcmFs PjsgdGhpcyByYW5nZSBpcyB1c2VkIGFzIGEgKGZha2UpIHBhcnRpdGlvbiB0YWJsZSBmb3Igd3Jp dGluZyBiYWNrIHRoZSBNQlIgdG8gZGlzay4gRmluYWxseSwgdGhlIHNlY3RvciBmaWVsZCBmb3Ig dGhlIENIUyBhZGRyZXNzaW5nIG9mIHRoaXMgZmFrZSBwYXJ0aXRpb24gaXMgc2V0LCBhbmQgYSBq dW1wIGlzIG1hZGUgdG8gdGhlIG1haW4gZnVuY3Rpb24gZnJvbSB0aGUgcmVsb2NhdGVkIGNvZGUu IE5vdGUgdGhhdCB1bnRpbCB0aGlzIGp1bXAgdG8gdGhlIHJlbG9jYXRlZCBjb2RlLCBhbnkgcmVm ZXJlbmNlIHRvIGFuIGFic29sdXRlIGFkZHJlc3Mgd2FzIGF2b2lkZWQuCis8L3BhcmE+Cis8cGFy YT4KK1RoZSBmb2xsb3dpbmcgY29kZSBibG9jayBzaW1wbHkgdGVzdHMgaWYgdGhlIGRyaXZlIG51 bWJlciBwcm92aWRlZCBieSB0aGUgQklPUyBzaG91bGQgYmUgdXNlZCwgb3IgZWxzZSB0aGUgb25l IHNhdmVkIGJ5IDxmaWxlbmFtZT5ib290MDwvZmlsZW5hbWU+OgorPHByb2dyYW1saXN0aW5nPjxm aWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QwL2Jvb3QwLlM6PC9maWxlbmFtZT4KK21haW46CisJ CXRlc3RiICRTRVREUlYsLTY5KCVicCkJIyBTZXQgZHJpdmUgbnVtYmVyPworCQlqbnogZGlzYWJs ZV91cGRhdGUJIyBZZXMKKwkJdGVzdGIgJWRsLCVkbAkJIyBEcml2ZSBudW1iZXIgdmFsaWQ/CisJ CWpzIHNhdmVfY3VyZHJpdmUJIyBQb3NzaWJseSAoMHg4MCBzZXQpCis8L3Byb2dyYW1saXN0aW5n PgorVGhpcyBjb2RlIHRlc3RzIHRoZSBTRVREUlYgYml0IGluIHRoZSA8ZW1waGFzaXM+ZmxhZ3M8 L2VtcGhhc2lzPiB2YXJpYWJsZS4gUmVjYWxsIHRoYXQgcmVnaXN0ZXIgJWJwIHBvaW50cyB0byBh ZGRyZXNzIGxvY2F0aW9uIDxsaXRlcmFsPjB4ODAwPC9saXRlcmFsPiwgc28gdGhlIHRlc3QgaXMg ZG9uZSB0byB0aGUgPGVtcGhhc2lzPmZsYWdzPC9lbXBoYXNpcz4gdmFyaWFibGUgYXQgYWRkcmVz cyA8bGl0ZXJhbD4weDgwMDwvbGl0ZXJhbD4tPGxpdGVyYWw+Njk8L2xpdGVyYWw+PTxsaXRlcmFs PjB4N2JiPC9saXRlcmFsPi4gVGhpcyBpcyBhbiBleGFtcGxlIG9mIHRoZSB0eXBlIG9mIG1vZGlm aWNhdGlvbnMgdGhhdCBjYW4gYmUgZG9uZSB0byA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPi4g VGhlIFNFVERSViBmbGFnIGlzIDxlbXBoYXNpcz5ub3Q8L2VtcGhhc2lzPiBzZXQgYnkgZGVmYXVs dCwgYnV0IGl0IGNhbiBiZSBzZXQgaW4gdGhlIDxmaWxlbmFtZT5NYWtlZmlsZTwvZmlsZW5hbWU+ OyB3aGVuIHNldCwgdGhlIDxlbXBoYXNpcz5kcml2ZSBudW1iZXI8L2VtcGhhc2lzPiBzdG9yZWQg aW4gdGhlIE1CUiBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIG9uZSBwcm92aWRlZCBieSB0aGUgQklP Uy4gV2UgYXNzdW1lIHRoZSBkZWZhdWx0cywgYW5kIHRoYXQgdGhlIEJJT1MgcHJvdmlkZWQgYSB2 YWxpZCBkcml2ZSBudW1iZXIsIHNvIHdlIGp1bXAgdG8gPGxpdGVyYWw+c2F2ZV9jdXJkcml2ZTwv bGl0ZXJhbD4uCis8L3BhcmE+Cis8cGFyYT4KK1RoZSBuZXh0IGJsb2NrIHNhdmVzIHRoZSA8ZW1w aGFzaXM+ZHJpdmUgbnVtYmVyPC9lbXBoYXNpcz4gcHJvdmlkZWQgYnkgdGhlIEJJT1MsIGFuZCBj YWxscyA8bGl0ZXJhbD5wdXRuPC9saXRlcmFsPiB0byBwcmludCBhIG5ldyBsaW5lIG9uIHRoZSBz Y3JlZW46Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5cy9ib290L2kzODYvYm9vdDAvYm9v dDAuUzo8L2ZpbGVuYW1lPgorc2F2ZV9jdXJkcml2ZToJbW92YiAlZGwsICglYnApCQkjIFNhdmUg ZHJpdmUgbnVtYmVyCisJCXB1c2h3ICVkeAkJIyBBbHNvIGluIHRoZSBzdGFjaworI2lmZGVmCVRF U1QJLyogdGVzdCBjb2RlLCBwcmludCBpbnRlcm5hbCBiaW9zIGRyaXZlICovCisJCXJvbGIgJDEs ICVkbAorCQltb3Z3ICRkcml2ZSwgJXNpCisJCWNhbGwgcHV0a2V5CisjZW5kaWYKKwkJY2FsbHcg cHV0bgkJIyBQcmludCBhIG5ld2xpbmUKKzwvcHJvZ3JhbWxpc3Rpbmc+CitOb3RlIHRoYXQgd2Ug YXNzdW1lIFRFU1QgaXMgbm90IGRlZmluZWQsIHNvIHRoZSBjb25kaXRpb25hbCBjb2RlIGluIGl0 IGlzIG5vdCBhc3NlbWJsZWQgYW5kIHdvbid0IGFwcGVhciBpbiBvdXIgZXhlY3V0YWJsZSA8Zmls ZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPi4KKzwvcGFyYT4KKzxwYXJhPgorT3VyIG5leHQgYmxvY2sg aW1wbGVtZW50cyB0aGUgYWN0dWFsIHNjYW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gdGFibGUuIEl0 IHByaW50cyB0byB0aGUgc2NyZWVuIHRoZSBwYXJ0aXRpb24gdHlwZSBmb3IgZWFjaCBvZiB0aGUg NCBlbnRyaWVzIGluIHRoZSBwYXJ0aXRpb24gdGFibGU7IGl0IGNvbXBhcmVzIGVhY2ggdHlwZSB3 aXRoIGEgbGlzdCBvZiB3ZWxsLWtub3duIG9wZXJhdGluZyBzeXN0ZW0gZmlsZSBzeXN0ZW1zLiBF eGFtcGxlcyBvZiByZWNvZ25pemVkIHBhcnRpdGlvbiB0eXBlcyBhcmUgTlRGUyAoV2luZG93cy4g SUQgMHg3KSwgZXh0MmZzIChMaW51eC4gSUQgMHg4MykgYW5kLCBvZiBjb3Vyc2UsIGZmcy91ZnMy IChGcmVlQlNELiBJRCAweGE1KS4gVGhlIGltcGxlbWVudGF0aW9uIGlzIGZhaXJseSBzaW1wbGU6 Cis8cHJvZ3JhbWxpc3Rpbmc+CisJCW1vdncgJChwYXJ0YmwrMHg0KSwlYngJIyBQYXJ0aXRpb24g dGFibGUgKCs0KQorCQl4b3J3ICVkeCwlZHgJCSMgSXRlbSBudW1iZXIKKworcmVhZF9lbnRyeToJ bW92YiAlY2gsLTB4NCglYngpCSMgWmVybyBhY3RpdmUgZmxhZyAoY2ggPT0gMCkKKwkJYnR3ICVk eCxfRkxBR1MoJWJwKQkjIEVudHJ5IGVuYWJsZWQ/CisJCWpuYyBuZXh0X2VudHJ5CQkjIE5vCisJ CW1vdmIgKCVieCksJWFsCQkjIExvYWQgdHlwZQorCQl0ZXN0ICVhbCwgJWFsCQkjIHNraXAgZW1w dHkgcGFydGl0aW9uCisJCWp6IG5leHRfZW50cnkKKwkJbW92dyAkYm9vdGFibGVfaWRzLCVkaQkj IExvb2t1cCB0YWJsZXMKKwkJbW92YiAkKFRMRU4rMSksJWNsCSMgTnVtYmVyIG9mIGVudHJpZXMK KwkJcmVwbmUJCQkjIExvY2F0ZQorCQlzY2FzYgkJCSMgIHR5cGUKKwkJYWRkdyAkKFRMRU4tMSks ICVkaQkjIEFkanVzdAorCQltb3ZiICglZGkpLCVjbAkJIyBQYXJ0aXRpb24KKwkJYWRkdyAlY3gs JWRpCQkjICBkZXNjcmlwdGlvbgorCQljYWxsdyBwdXR4CQkjIERpc3BsYXkgaXQKKworbmV4dF9l bnRyeToJaW5jdyAlZHgJCSMgTmV4dCBpdGVtCisJCWFkZGIgJDB4MTAsJWJsCQkjIE5leHQgZW50 cnkKKwkJam5jIHJlYWRfZW50cnkJCSMgVGlsbCBkb25lCis8L3Byb2dyYW1saXN0aW5nPgorSXQg aXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUgYWN0aXZlIGZsYWcgZm9yIGVhY2ggZW50cnkg aXMgY2xlYXJlZCwgc28gYWZ0ZXIgdGhlIHNjYW5uaW5nLCA8ZW1waGFzaXM+bm88L2VtcGhhc2lz PiBwYXJ0aXRpb24gZW50cnkgaXMgYWN0aXZlIGluIG91ciBtZW1vcnkgY29weSBvZiA8ZmlsZW5h bWU+Ym9vdDA8L2ZpbGVuYW1lPi4gTGF0ZXIsIHRoZSBhY3RpdmUgZmxhZyB3aWxsIGJlIHNldCBm b3IgdGhlIHNlbGVjdGVkIHBhcnRpdGlvbi4gVGhpcyBlbnN1cmVzIHRoYXQgb25seSAxIGFjdGl2 ZSBwYXJ0aXRpb24gZXhpc3RzIGlmIHRoZSB1c2VyIGNob29zZXMgdG8gd3JpdGUtYmFjayB0aGUg Y2hhbmdlcyB0byBkaXNrLgorCisKK091ciBuZXh0IGJsb2NrIHRlc3RzIGZvciBvdGhlciBkcml2 ZXMgcHJlc2VudC4gQXQgc3RhcnR1cCwgdGhlIEJJT1Mgd3JpdGVzIHRoZSBudW1iZXIgb2YgZHJp dmVzIHByZXNlbnQgaW4gdGhlIGNvbXB1dGVyIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg0NzU8L2xp dGVyYWw+LiBJZiB0aGVyZSBpcyBhbnkgb3RoZXIgZHJpdmUgcHJlc2VudCwgPGZpbGVuYW1lPmJv b3QwPC9maWxlbmFtZT4gcHJpbnRzIHRoZSBjdXJyZW50IGRyaXZlIHRvIHNjcmVlbjsgdGhlIHVz ZXIgbWF5IGNvbW1hbmQgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gdG8gc2NhbiBwYXJ0aXRp b25zIG9uIGFub3RoZXIgZHJpdmUgbGF0ZXI6Cis8cHJvZ3JhbWxpc3Rpbmc+CisJCXBvcHcgJWF4 CQkjIERyaXZlIG51bWJlcgorCQlzdWJiICQweDgwLTB4MSwlYWwJIyBEb2VzIG5leHQKKwkJY21w YiBOSFJEUlYsJWFsCQkjICBkcml2ZSBleGlzdD8gKGZyb20gQklPUz8pCisJCWpiIHByaW50X2Ry aXZlCQkjIFllcworCQlkZWN3ICVheAkJIyBBbHJlYWR5IGRyaXZlIDA/CisJCWp6IHByaW50X3By b21wdAkJIyBZZXMKKzwvcHJvZ3JhbWxpc3Rpbmc+CitXZSBtYWtlIHRoZSBhc3N1bXB0aW9uIHRo YXQgYSBzaW5nbGUgZHJpdmUgaXMgcHJlc2VudCwgc28gdGhlIGp1bXAgdG8gPGxpdGVyYWw+cHJp bnRfZHJpdmU8L2xpdGVyYWw+IGlzIG5vdCBwZXJmb3JtZWQuIFdlIGFsc28gYXNzdW1lIG5vdGhp bmcgc3RyYW5nZSBoYXBwZW5lZCwgc28gd2UganVtcCB0byA8bGl0ZXJhbD5wcmludF9wcm9tcHQ8 L2xpdGVyYWw+LiAKKzwvcGFyYT4KKzxwYXJhPgorVGhpcyBuZXh0IGJsb2NrIGp1c3QgcHJpbnRz IG91dCBhIHByb21wdCBmb2xsb3dlZCBieSB0aGUgZGVmYXVsdCBvcHRpb246IAorPHByb2dyYW1s aXN0aW5nPgorcHJpbnRfcHJvbXB0Ogltb3Z3ICRwcm9tcHQsJXNpCSMgRGlzcGxheQorCQljYWxs dyBwdXRzdHIJCSMgIHByb21wdAorCQltb3ZiIF9PUFQoJWJwKSwlZGwJIyBEaXNwbGF5CisJCWRl Y3cgJXNpCQkjICBkZWZhdWx0CisJCWNhbGx3IHB1dGtleQkJIyAga2V5CisJCWptcCBzdGFydF9p bnB1dAkJIyBTa2lwIGJlZXAKKzwvcHJvZ3JhbWxpc3Rpbmc+CitGaW5hbGx5LCBhIGp1bXAgaXMg cGVyZm9yZWQgdG8gPGxpdGVyYWw+c3RhcnRfaW5wdXQ8L2xpdGVyYWw+LCB3aGVyZSB0aGUgQklP UyBzZXJ2aWNlcyBhcmUgdXNlZCB0byBzdGFydCBhIHRpbWVyIGFuZCBmb3IgcmVhZGluZyB1c2Vy IGlucHV0IGZyb20gdGhlIGtleWJvYXJkOyBpZiB0aGUgdGltZXIgZXhwaXJlcywgdGhlIGRlZmF1 bHQgb3B0aW9uIHdpbGwgYmUgc2VsZWN0ZWQ6Cis8cHJvZ3JhbWxpc3Rpbmc+CitzdGFydF9pbnB1 dDoKKwkJeG9yYiAlYWgsJWFoCQkjIEJJT1M6IEdldAorCQlpbnQgJDB4MWEJCSMgIHN5c3RlbSB0 aW1lCisJCW1vdncgJWR4LCVkaQkJIyBUaWNrcyB3aGVuCisJCWFkZHcgX1RJQ0tTKCVicCksJWRp CSMgIHRpbWVvdXQKK3JlYWRfa2V5OgorCQltb3ZiICQweDEsJWFoCQkjIEJJT1M6IENoZWNrCisJ CWludCAkMHgxNgkJIyAgZm9yIGtleXByZXNzCisJCWpueiBnb3Rfa2V5IAkJIyBIYXZlIGlucHV0 CisJCXhvcmIgJWFoLCVhaAkJIyBCSU9TOiBpbnQgMHgxYSwgMDAKKwkJaW50ICQweDFhCQkjICBn ZXQgc3lzdGVtIHRpbWUKKwkJY21wdyAlZGksJWR4CQkjIFRpbWVvdXQ/CisJCWpiIHJlYWRfa2V5 CQkjIE5vCis8L3Byb2dyYW1saXN0aW5nPgorTm90ZSB0aGF0IGFuIGludGVycnVwdCBpcyByZXF1 ZXN0ZWQgd2l0aCBudW1iZXIgPGxpdGVyYWw+MHgxYTwvbGl0ZXJhbD4sIGFuZCBhcmd1bWVudCA8 bGl0ZXJhbD4wPC9saXRlcmFsPiBpbiByZWdpc3RlciA8bGl0ZXJhbD4lYWg8L2xpdGVyYWw+LiBU aGUgQklPUyBoYXMgYSBwcmVkZWZpbmVkIGxpc3Qgb2YgaW50ZXJydXB0IHNlcnZpY2VzLCByZXF1 ZXN0ZWQgdGhyb3VnaCB0aGUgPGxpdGVyYWw+aW50PC9saXRlcmFsPiBpbnN0cnVjdGlvbiBhbmQg cmVjZWl2aW5nIGFyZ3VtZW50cyBpbiByZWdpc3RlcnMgKGluIHRoaXMgY2FzZSwgPGxpdGVyYWw+ JWFoPC9saXRlcmFsPikuIEhlcmUsIHBhcnRpY3VsYXJseSwgd2UgYXJlIHJlcXVlc3RpbmcgdGhl IG51bWJlciBvZiBjbG9jayAndGlja3MnIHNpbmNlIGxhc3QgbWlkbmlnaHQ7IHRoaXMgdmFsdWUg aXMgY29tcHV0ZWQgYnkgdGhlIEJJT1MgdGhyb3VnaCB0aGUgPGVtcGhhc2lzPlJlYWwgVGltZSBD bG9jazwvZW1waGFzaXM+LiBUaGlzIGNsb2NrIGNhbiBiZSBwcm9ncmFtbWVkIHRvIHdvcmsgYXQg ZnJlcXVlbmNpZXMgcmFuZ2luZyBmcm9tIDxsaXRlcmFsPjJoejwvbGl0ZXJhbD4gdG8gPGxpdGVy YWw+ODE5Mmh6PC9saXRlcmFsPjsgdGhlIEJJT1Mgc2V0cyBpdCB0byA8bGl0ZXJhbD4xOC4yaHo8 L2xpdGVyYWw+IGF0IHN0YXJ0dXAuIFRoZSAzMi1iaXQgcmVzdWx0IGlzIHJldHVybmVkIGJ5IHRo ZSBCSU9TIGluIHJlZ2lzdGVycyA8bGl0ZXJhbD4lY3g8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD4l ZHg8L2xpdGVyYWw+IChsb3dlciBieXRlcyBpbiA8bGl0ZXJhbD4lZHg8L2xpdGVyYWw+KS4gVGhp cyByZXN1bHQgKHRoZSA8bGl0ZXJhbD4lZHg8L2xpdGVyYWw+IHBhcnQpIGlzIGNvcGllZCB0byBy ZWdpc3RlciA8bGl0ZXJhbD4lZGk8L2xpdGVyYWw+LCBhbmQgdGhlIHZhbHVlIG9mIHRoZSBUSUNL UyB2YXJpYWJsZSBpcyBhZGRlZCB0byA8bGl0ZXJhbD4lZGk8L2xpdGVyYWw+LiBUaGlzIHZhcmlh YmxlIGlzIHBsYWNlZCBpbiA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBhdCBvZmZzZXQgPGxp dGVyYWw+X1RJQ0tTPC9saXRlcmFsPiAoYSBuZWdhdGl2ZSB2YWx1ZSkgZnJvbSByZWdpc3RlciA8 bGl0ZXJhbD4lYnA8L2xpdGVyYWw+ICh3aGljaCwgcmVjYWxsLCBwb2ludHMgdG8gMHg4MDApLiBU aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIGlzIDB4YjYgKDE4MiBpbiBkZWNpbWFs KS4gVGhlIGlkZWEgaXMgdGhhdCA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBjb25zdGFudGx5 IHJlcXVlc3RzIHRoZSB0aW1lIHRvIHRoZSBCSU9TLCBhbmQgd2hlbiB0aGUgdmFsdWUgcmV0dXJu ZWQgaW4gcmVnaXN0ZXIgPGxpdGVyYWw+JWR4PC9saXRlcmFsPiBpcyBncmVhdGVyIHRoYW4gdGhl IHZhbHVlIHN0b3JlZCBpbiA8bGl0ZXJhbD4lZGk8L2xpdGVyYWw+LCB0aGUgdGltZSBpcyB1cCBh bmQgdGhlIGRlZmF1bHQgc2VsZWN0aW9uIHdvdWxkIGJlIG1hZGUuIFNpbmNlIHRoZSBSZWFsIFRp bWUgQ2xvY2sgdGlja3MgPGxpdGVyYWw+MTguMjwvbGl0ZXJhbD4gdGltZXMgcGVyIHNlY29uZCwg dGhpcyBjb25kaXRpb24gd2lsbCBiZSBtZXQgYWZ0ZXIgMTAgc2Vjb25kcyAodGhpcyBkZWZhdWx0 IGJlaGF2aW91ciBjYW4gYmUgY2hhbmdlZCBpbiB0aGUgPGZpbGVuYW1lPk1ha2VmaWxlPC9maWxl bmFtZT4uIFdoaWxlIHRoaXMgdGltZSBoYXMgbm90IHBhc3NlZCwgPGZpbGVuYW1lPmJvb3QwPC9m aWxlbmFtZT4gY29udGludWFsbHkgYXNrcyB0aGUgQklPUyBmb3IgYW55IHVzZXIgaW5wdXQ7IHRo aXMgaXMgZG9uZSB0aHJvdWdoIDxsaXRlcmFsPmludCAweDE2PC9saXRlcmFsPiwgYXJndW1lbnQg PGxpdGVyYWw+MTwvbGl0ZXJhbD4gaW4gPGxpdGVyYWw+JWFoPC9saXRlcmFsPi4gV2hldGhlciBh IGtleSB3YXMgcHJlc3NlZCwgb3IgdGhlIHRpbWUgZXhwaXJlZCwgc3Vic2VxdWVudCBjb2RlIHZh bGlkYXRlcyB0aGUgc2VsZWN0aW9uLCB0aGUgcmVnaXN0ZXIgPGxpdGVyYWw+JXNpPC9saXRlcmFs PiBpcyBzZXQgdG8gcG9pbnQgdG8gdGhlIGFwcHJvcGlhdGUgcGFydGl0aW9uIGVudHJ5IGluIHRo ZSBwYXJ0aXRpb24gdGFibGUsIGFjY29yZGluZyB0byB0aGUgc2VsZWN0aW9uLCBhbmQgdGhhdCBz ZWxlY3Rpb24gb3ZlcnJpZGVzIHRoZSBwcmV2aW91cyBkZWZhdWx0IG9uZTsgaW5kZWVkLCBpdCBi ZWNvbWVzIHRoZSA8ZW1waGFzaXM+bmV3PC9lbXBoYXNpcz4gZGVmYXVsdC4gRmluYWxseSwgdGhl IEFDVElWRSBmbGFnIG9mIHRoZSBzZWxlY3RlZCBwYXJ0aXRpb24gaXMgc2V0LiBJZiBlbmFibGVk IGF0IGNvbXBpbGUgdGltZSwgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gd2l0aCB0aGVzZSBt b2RpZmllZCB2YWx1ZXMsIGFyZSB3cml0dGVuIGJhY2sgdG8gdGhlIE1CUiBvbiBkaXNrLiBXZSBs ZWF2ZSB0aGUgZGV0YWlscyBvZiB0aGlzIGltcGxlbWVudGF0aW9uIHRvIHRoZSByZWFkZXIuCis8 L3BhcmE+Cis8cGFyYT4KK1dlIG5vdyBlbmQgb3VyIHN0dWR5IHdpdGggdGhlIGxhc3QgY29kZSBi bG9jayBmcm9tIHRoZSA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBwcm9ncmFtOgorPHByb2dy YW1saXN0aW5nPgorCQltb3Z3ICQweDdjMDAsJWJ4CSMgQWRkcmVzcyBmb3IgcmVhZAorCQltb3Zi ICQweDIsJWFoCQkjIFJlYWQgc2VjdG9yCisJCWNhbGx3IGludHgxMwkJIyAgZnJvbSBkaXNrCisJ CWpjIGJlZXAJCQkjIElmIGVycm9yCisJCWNtcHcgJDB4YWE1NSwweDFmZSglYngpCSMgQm9vdGFi bGU/CisJCWpuZSBiZWVwCQkjIE5vCisJCXB1c2h3ICVzaQkJIyBTYXZlIHB0ciB0byBzZWxlY3Rl ZCBwYXJ0LgorCQljYWxsdyBwdXRuCQkjIExlYXZlIHNvbWUgc3BhY2UKKwkJcG9wdyAlc2kJCSMg UmVzdG9yZSwgbmV4dCBzdGFnZSB1c2VzIGl0CisJCWptcCAqJWJ4CQkjIEludm9rZSBib290c3Ry YXAKKzwvcHJvZ3JhbWxpc3Rpbmc+CitSZWNhbGwgdGhhdCA8bGl0ZXJhbD4lc2k8L2xpdGVyYWw+ IHBvaW50cyB0byB0aGUgYXBwcm9waWF0ZSBwYXJ0aXRpb24gZW50cnkuIFRoaXMgZW50cnkgdGVs bHMgdXMgd2hlcmUgdGhlIHBhcnRpdGlvbiBiZWdpbnMgb24gZGlzazsgd2UgYXNzdW1lLCBvZiBj b3Vyc2UsIHRoYXQgdGhlIHBhcnRpdGlvbiBzZWxlY3RlZCBpcyBhIEZyZWVCU0QgcGFydGl0aW9u LiBUaGUgdHJhbnNmZXIgYnVmZmVyIGlzIHNldCB0byA8bGl0ZXJhbD4weDdjMDA8L2xpdGVyYWw+ IChyZWdpc3RlciA8bGl0ZXJhbD4lYng8L2xpdGVyYWw+KSwgYW5kIGEgcmVhZCBmb3IgdGhlIGZp cnN0IHNlY3RvciBvZiB0aGUgRnJlZUJTRCBwYXJ0aXRpb24gaXMgcmVxdWVzdGVkIGJ5IGNhbGxp bmcgPGxpdGVyYWw+aW50eDEzPC9saXRlcmFsPi4gV2UgYXNzdW1lIHRoYXQgZXZlcnl0aGluZyB3 ZW50IE9LLCBzbyBhIGp1bXAgdG8gPGxpdGVyYWw+YmVlcDwvbGl0ZXJhbD4gaXMgPGVtcGhhc2lz Pm5vdDwvZW1waGFzaXM+IHBlcmZvcm1lZC4gSW4gcGFydGljdWxhciwgdGhlIG5ldyBzZWN0b3Ig cmVhZCBtdXN0IGVuZCB3aXRoIHRoZSBtYWdpYyBzZXF1ZW5jZSA8bGl0ZXJhbD4weGFhNTU8L2xp dGVyYWw+LiBGaW5hbGx5LCB0aGUgdmFsdWUgYXQgPGxpdGVyYWw+JXNpPC9saXRlcmFsPiAodGhl IHBvaW50ZXIgdG8gdGhlIHNlbGVjdGVkIHBhcnRpdGlvbiB0YWJsZSkgaXMgcHJlc2VydmVkIGZv ciB1c2UgYnkgdGhlIG5leHQgc3RhZ2UsIGFuZCBhIGp1bXAgaXMgcGVyZm9ybWVkIHRvIGFkZHJl c3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPiwgd2hlcmUgZXhlY3V0aW9uIG9mIG91ciBuZXh0 IHN0YWdlICh0aGUganVzdC1yZWFkIGJsb2NrKSBpcyBzdGFydGVkLgorCis8L3BhcmE+CisKKwor ICA8L3NlY3QxPgorCisgIDxzZWN0MSB4bWw6aWQ9ImJvb3QtYm9vdDEiPgorICAgIDx0aXRsZT48 bGl0ZXJhbD5ib290MTwvbGl0ZXJhbD4gU3RhZ2U8L3RpdGxlPgorCisgICAgPHBhcmE+U28gZmFy IHdlIGhhdmUgZ29uZSB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6CiAgICAgPGl0ZW1p emVkbGlzdD4KICAgICAgIDxsaXN0aXRlbT4KLQk8cGFyYT5tb2RpZmllcyB0aGUgYm9vdGFibGUg ZmxhZyBmb3IgdGhlIHNlbGVjdGVkIHBhcnRpdGlvbiB0bwotCSAgbWFrZSBpdCBib290YWJsZSwg YW5kIGNsZWFycyB0aGUgcHJldmlvdXM8L3BhcmE+CisJPHBhcmE+VGhlIEJJT1MgZGlkIHNvbWUg ZWFybHkgaGFyZHdhcmUgaW5pdGlhbGl6YXRpb24sIGluY2x1ZGluZyB0aGUgUE9TVC4gVGhlIE1C UiAoPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4pIHdhcyBsb2FkZWQgZnJvbSBhYnNvbHV0ZSBk aXNrIHNlY3RvciAxIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPi4gRXhlY3V0 aW9uIGNvbnRyb2wgd2FzIHBhc3NlZCB0byB0aGF0IGxvY2F0aW9uLjwvcGFyYT4KICAgICAgIDwv bGlzdGl0ZW0+CiAKICAgICAgIDxsaXN0aXRlbT4KLQk8cGFyYT5zYXZlcyBpdHNlbGYgdG8gZGlz ayB0byByZW1lbWJlciB3aGF0IHBhcnRpdGlvbiAoc2xpY2UpCi0JICBoYXMgYmVlbiBzZWxlY3Rl ZCBzbyB0byB1c2UgaXQgYXMgdGhlIGRlZmF1bHQgb24gdGhlIG5leHQKLQkgIGJvb3Q8L3BhcmE+ CisJPHBhcmE+PGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gcmVsb2NhdGVkIGl0c2VsZiB0byB0 aGUgbG9jYXRpb24gaXQgd2FzIGxpbmtlZCB0byBleGVjdXRlICg8bGl0ZXJhbD4weDYwMDwvbGl0 ZXJhbD4pLCBmb2xsb3dlZCBieSBhIGp1bXAgdG8gY29udGludWUgZXhlY3V0aW9uIGF0IHRoZSBh cHByb3BpYXRlIHBsYWNlLiBGaW5hbGx5LCA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBsb2Fk ZWQgdGhlIGZpcnN0IGRpc2sgc2VjdG9yIGZyb20gdGhlIEZyZWVCU0QgcGFydGl0aW9uIChzbGlj ZSkgdG8gYWRkcmVzcyA8bGl0ZXJhbD4weDdjMDA8L2xpdGVyYWw+LiBFeGVjdXRpb24gY29udHJv bCB3YXMgcGFzc2VkIHRvIHRoYXQgbG9jYXRpb24uPC9wYXJhPgogICAgICAgPC9saXN0aXRlbT4K KyAgICA8L2l0ZW1pemVkbGlzdD4KIAorPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gaXMgdGhl IG5leHQgc3RlcCBpbiBvdXIgYm9vdC1sb2FkaW5nIHNlcXVlbmNlOyBpdCBpcyB0aGUgZmlyc3Qg b2YgdGhyZWUgYm9vdCBzdGFnZXMuCitJdCBpcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHdlIGhh dmUgYmVlbiBkZWFsaW5nIGV4Y2x1c2l2ZWx5IHdpdGggZGlzayBzZWN0b3JzLiBJbmRlZWQsIHRo ZSBCSU9TIGxvYWRzIHRoZSBhYnNvbHV0ZSBmaXJzdCBzZWN0b3IsIHdoaWxlIDxmaWxlbmFtZT5i b290MDwvZmlsZW5hbWU+IGxvYWRzIHRoZSBmaXJzdCBzZWN0b3Igb2YgdGhlIEZyZWVCU0Qgc2xp Y2U7IGJvdGggbG9hZHMgYXJlIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAwPC9saXRlcmFsPi4g V2UgY2FuIGNvbmNlcHR1YWxseSB0aGluayBvZiB0aGVzZSBkaXNrIHNlY3RvcnMgYXMgZmlsZXMg Y29udGFpbmluZyA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmJvb3Qx PC9maWxlbmFtZT4sIHJlc3BlY3RpdmVseSwgYnV0IGluIHJlYWxpdHkgdGhpcyBpcyBub3QgZW50 aXJlbHkgdHJ1ZSBmb3IgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4uIFN0cmljdGx5IHNwZWFr aW5nLCB0aGVyZSBpcyBubyBmaWxlIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+PGZvb3Rub3Rl PjxwYXJhPlRoZXJlIGlzIGEgZmlsZSA8ZmlsZW5hbWU+L2Jvb3QvYm9vdDE8L2ZpbGVuYW1lPiwg YnV0IGl0IGlzIG5vdCB0aGUgZmlsZSByZWFkIGF0IGJvb3QgdGltZTsgaXQgaXMgY29uY2F0YW5h dGVkIHdpdGggPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gdG8gZm9ybSA8ZmlsZW5hbWU+Ym9v dDwvZmlsZW5hbWU+LjwvcGFyYT48L2Zvb3Rub3RlPjsgaW5zdGVhZCwgYSBzaW5nbGUsIGZ1bGwt Ymxvd24gZmlsZSwgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVuYW1lPiwgaXMgd2hhdCB5b3Ugd2lsbCBm aW5kIGluIHRoZSBmaWxlIHN5c3RlbSAoPGZpbGVuYW1lPmJvb3QvYm9vdDwvZmlsZW5hbWU+KS4g VGhpcyBmaWxlIGlzIGEgY29tcG9zaXRpb24gb2YgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4s IDxmaWxlbmFtZT5ib290MjwvZmlsZW5hbWU+IGFuZCB0aGUgPGxpdGVyYWw+Qm9vdCBFeHRlbmRl cjwvbGl0ZXJhbD4gKG9yIDxsaXRlcmFsPkJUWDwvbGl0ZXJhbD4pLiBUaGlzIGJpZyBmaWxlIGlz IGdyZWF0ZXIgaW4gc2l6ZSB0aGFuIGEgc2luZ2xlIHNlY3RvciAoZ3JlYXRlciB0aGFuIDUxMiBi eXRlcykuIEZvcnR1bmF0ZWx5LCA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBvY2N1cGllcyA8 ZW1waGFzaXM+ZXhhY3RseTwvZW1waGFzaXM+IHRoZSBmaXJzdCA1MTIgYnl0ZXMgb2YgdGhpcyBz aW5nbGUgZmlsZSwgc28sIGluZGVlZCwgd2hlbiA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiBs b2FkcyB0aGUgZmlyc3Qgc2VjdG9yIG9mIHRoZSBGcmVlQlNEIHNsaWNlICg1MTIgYnl0ZXMpLCBp dCBpcyBhY3R1YWxseSBsb2FkaW5nIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+IGFuZCB0cmFu c2ZlcmluZyBjb250cm9sIHRvIGl0LjwvcGFyYT4KKzxwYXJhPgorCitUaGUgbWFpbiB0YXNrIG9m IDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+IGlzIHRvIGxvYWQgdGhlIG5leHQgYm9vdCBzdGFn ZS4gVGhpcyBuZXh0IHN0YWdlIGlzIHNvbWV3aGF0IG1vcmUgY29tcGxleDsgaXQgaXMgY29tcG9z ZWQgb2YgPGVtcGhhc2lzPnRoZTwvZW1waGFzaXM+IHNlcnZlciwgY2FsbGVkIHRoZSA8bGl0ZXJh bD5Cb290IEV4dGVuZGVyPC9saXRlcmFsPiwgb3IgPGxpdGVyYWw+QlRYPC9saXRlcmFsPiwgYW5k IDxlbXBoYXNpcz5hPC9lbXBoYXNpcz4gY2xpZW50LCBjYWxsZWQgPGZpbGVuYW1lPmJvb3QyPC9m aWxlbmFtZT4uIFdlIHNheSA8ZW1waGFzaXM+YTwvZW1waGFzaXM+IGNsaWVudCBiZWNhdXNlLCBh cyB3ZSB3aWxsIHNlZSwgdGhlIGxhc3QgYm9vdCBzdGFnZSBpcyA8ZmlsZW5hbWU+bG9hZGVyPC9m aWxlbmFtZT4sIHdoaWNoIGlzIGFsc28gYSBjbGllbnQgb2YgdGhlIDxsaXRlcmFsPkJUWCBzZXJ2 ZXI8L2xpdGVyYWw+LgorPC9wYXJhPgorPHBhcmE+CitMZXQgdXMgbm93IGxvb2sgaW4gZGV0YWls IHdoYXQgZXhhY3RseSBpcyBkb25lIGJ5IDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+LCBzdGFy dGluZyBsaWtlIHdlIGRpZCBmb3IgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4sIGF0IGl0cyBl bnRyeSBwb2ludDoKKzxwcm9ncmFtbGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jvb3QvaTM4Ni9ib290 Mi9ib290MS5TOjwvZmlsZW5hbWU+CitzdGFydDoKKyBqbXAgbWFpbgorPC9wcm9ncmFtbGlzdGlu Zz4KK1RoZSBlbnRyeSBwb2ludCBhdCA8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gc2ltcGx5IGp1 bXBzIHBhc3QgYSBzcGVjaWFsIGRhdGEgYXJlYSB0byB0aGUgbGFiZWwgPGxpdGVyYWw+bWFpbjwv bGl0ZXJhbD4sIHdoaWNoIGluIHR1cm4gbG9va3MgbGlrZSB0aGlzOgorPHByb2dyYW1saXN0aW5n PjxmaWxlbmFtZT5zeXMvYm9vdC9pMzg2L2Jvb3QyL2Jvb3QxLlM6PC9maWxlbmFtZT4KK21haW46 CQljbGQJCQkjIFN0cmluZyBvcHMgaW5jCisJCXhvciAlY3gsJWN4CQkjIFplcm8KKwkJbW92ICVj eCwlZXMJCSMgQWRkcmVzcworCQltb3YgJWN4LCVkcwkJIyAgZGF0YQorCQltb3YgJWN4LCVzcwkJ IyBTZXQgdXAKKwkJbW92ICRzdGFydCwlc3AJCSMgIHN0YWNrCisJCW1vdiAlc3AsJXNpCQkjIFNv dXJjZQorCQltb3YgJDB4NzAwLCVkaQkJIyBEZXN0aW5hdGlvbgorCQlpbmNiICVjaAkJIyBXb3Jk IGNvdW50CisJCXJlcAkJCSMgQ29weQorCQltb3ZzdwkJCSMgIGNvZGUKKzwvcHJvZ3JhbWxpc3Rp bmc+CitOb3RlIHRoYXQsIGp1c3QgbGlrZSA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiwgdGhl IGFib3ZlIGNvZGUgPGVtcGhhc2lzPnJlbG9jYXRlczwvZW1waGFzaXM+IDxmaWxlbmFtZT5ib290 MTwvZmlsZW5hbWU+LCB0aGlzIHRpbWUgdG8gbWVtb3J5IGFkZHJlc3MgPGxpdGVyYWw+MHg3MDA8 L2xpdGVyYWw+LiBIb3dldmVyLCB1bmxpa2UgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4sIGl0 IGRvZXMgbm90IGp1bXAgb3ZlciB0aGVyZS4gSW4gZmFjdCwgPGZpbGVuYW1lPmJvb3QxPC9maWxl bmFtZT4gaXMgbGlua2VkIHRvIGV4ZWN1dGUgYXQgYWRkcmVzcyA8bGl0ZXJhbD4weDdjMDA8L2xp dGVyYWw+LCBlZmZlY3RpdmVseSB3aGVyZSBpdCB3YXMgbG9hZGVkIGluIHRoZSBmaXJzdCBwbGFj ZS4gVGhlIHJlYXNvbiBmb3IgdGhpcyByZWxvY2F0aW9uIHdpbGwgYmUgZGlzY3Vzc2VkIHNob3J0 bHkuPC9wYXJhPgorPHBhcmE+CitOZXh0IGNvbWVzIGEgbG9vcCB0aGF0IGxvb2tzIGZvciB0aGUg RnJlZUJTRCBwYXJ0aXRpb24uIE5vdGUgdGhhdCwgYWx0aG91Z2ggPGZpbGVuYW1lPmJvb3QwPC9m aWxlbmFtZT4gaW4gZmFjdCBsb2FkZWQgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gZnJvbSB0 aGUgRnJlZUJTRCBwYXJ0aXRpb24sIG5vIGluZm9ybWF0aW9uIHdhcyBwYXNzZWQgdG8gaXQgYWJv dXQgdGhpcyBwYXJ0aXRpb248Zm9vdG5vdGU+PHBhcmE+QWN0dWFsbHkgd2UgZGlkIHBhc3MgYSBw b2ludGVyIHRvIHRoZSBwYXJ0aXRpb24gZW50cnkgaW4gcmVnaXN0ZXIgJXNpLiBIb3dldmVyLCA8 ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBkb2VzIDxlbXBoYXNpcz5ub3Q8L2VtcGhhc2lzPiBh c3N1bWUgdGhhdCBpdCB3YXMgbG9hZGVkIGJ5IDxmaWxlbmFtZT5ib290MDwvZmlsZW5hbWU+IChw ZXJoYXBzIG90aGVyIE1CUiBsb2FkZWQgaXQgdGhhdCBkaWQgbm90IHBhc3MgdGhpcyBpbmZvcm1h dGlvbiksIHNvIGl0IGFzc3VtZXMgbm90aGluZy48L3BhcmE+PC9mb290bm90ZT47IDxmaWxlbmFt ZT5ib290MTwvZmlsZW5hbWU+IGVmZmVjdGl2ZWx5IG5lZWRzIHRvIHJlc2NhbiB0aGUgcGFydGl0 aW9uIHRhYmxlIHRvIGZpbmQgd2hlcmUgdGhlIEZyZWVCU0QgcGFydGl0aW9uIHN0YXJ0cy4gVGhl cmVmb3JlLCBpdCByZXJlYWRzIHRoZSBNQlI6Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5 cy9ib290L2kzODYvYm9vdDIvYm9vdDEuUzo8L2ZpbGVuYW1lPgorCQltb3YgJHBhcnQ0LCVzaQkJ IyBQYXJ0aXRpb24KKwkJY21wYiAkMHg4MCwlZGwJCSMgSGFyZCBkcml2ZT8KKwkJamIgbWFpbi40 CQkjIE5vCisJCW1vdmIgJDB4MSwlZGgJCSMgQmxvY2sgY291bnQKKwkJY2FsbHcgbnJlYWQJCSMg UmVhZCBNQlI8L3Byb2dyYW1saXN0aW5nPgorTm90ZSB0aGF0IGluIHRoZSBjb2RlIGFib3ZlLCBy ZWdpc3RlciA8bGl0ZXJhbD4lZGw8L2xpdGVyYWw+IG1haW50YWlucyBpbmZvcm1hdGlvbiBhYm91 dCB0aGUgYm9vdCBkZXZpY2U7IHRoaXMgaXMgcGFzc2VkIG9uIGJ5IHRoZSBCSU9TIGFuZCBwcmVz ZXJ2ZWQgYnkgdGhlIE1CUi4gTnVtYmVycyA8bGl0ZXJhbD4weDgwPC9saXRlcmFsPiBhbmQgZ3Jl YXRlciB0ZWxscyB1cyB0aGF0IHdlIGFyZSBkZWFsaW5nIHdpdGggYSBoYXJkIGRyaXZlLCBzbyBh IGNhbGwgaXMgbWFkZSB0byA8bGl0ZXJhbD5ucmVhZDwvbGl0ZXJhbD4sIHdoZXJlIHRoZSBNQlIg aXMgcmVhZC4gQXJndW1lbnRzIHRvIDxsaXRlcmFsPm5yZWFkPC9saXRlcmFsPiBhcmUgcGFzc2Vk IHRocm91Z2ggPGxpdGVyYWw+JXNpPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+JWRoPC9saXRlcmFs Pi4gVGhlIG1lbW9yeSBhZGRyZXNzIGF0IGxhYmVsIDxsaXRlcmFsPnBhcnQ0PC9saXRlcmFsPiBp cyBjb3BpZWQgdG8gPGxpdGVyYWw+JXNpPC9saXRlcmFsPi4gVGhpcyBtZW1vcnkgYWRkcmVzcyBo b2xkcyBhICdmYWtlIHBhcnRpdGlvbicsIHRvIGJlIHVzZWQgYnkgPGxpdGVyYWw+bnJlYWQ8L2xp dGVyYWw+LiBUaGUgZm9sbG93aW5nIGlzIHRoZSBkYXRhIGZvdW5kIGluIHRoaXMgZmFrZSBwYXJ0 aXRpb246Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5cy9ib290L2kzODYvYm9vdDIvYm9v dDEuUzo8L2ZpbGVuYW1lPgorcGFydDQ6CQkuYnl0ZSAweDgwLCAweDAwLCAweDAxLCAweDAwCisJ CS5ieXRlIDB4YTUsIDB4ZmUsIDB4ZmYsIDB4ZmYKKwkJLmJ5dGUgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMAorCQkuYnl0ZSAweDUwLCAweGMzLCAweDAwLCAweDAwCis8L3Byb2dyYW1saXN0aW5nPgor SW4gcGFydGljdWxhciwgdGhlIExCQSBmb3IgdGhpcyBmYWtlIHBhcnRpdGlvbiBpcyBoYXJkY29k ZWQgdG8gMDsgdGhpcyBlZmZlY3RpdmVseSBpcyB1c2VkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBC SU9TIGZvciByZWFkaW5nIGFic29sdXRlIHNlY3RvciAxIGZyb20gdGhlIGhhcmQgZHJpdmUuIExl dCB1cyBub3cgcHJvY2VlZCB0byB0YWtlIGEgbG9vayBhdCA8bGl0ZXJhbD5ucmVhZDwvbGl0ZXJh bD46Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5cy9ib290L2kzODYvYm9vdDIvYm9vdDEu Uzo8L2ZpbGVuYW1lPgorbnJlYWQ6CQltb3YgJDB4OGMwMCwlYngJCSMgVHJhbnNmZXIgYnVmZmVy CisJCW1vdiAweDgoJXNpKSwlYXgJIyBHZXQKKwkJbW92IDB4YSglc2kpLCVjeAkjICBMQkEKKwkJ cHVzaCAlY3MJCSMgUmVhZCBmcm9tCisJCWNhbGx3IHhyZWFkLjEJCSMgIGRpc2sKKwkJam5jIHJl dHVybgkJIyBJZiBzdWNjZXNzLCByZXR1cm4KKzwvcHJvZ3JhbWxpc3Rpbmc+CitSZWNhbGwgdGhh dCA8bGl0ZXJhbD4lc2k8L2xpdGVyYWw+IHBvaW50cyB0byB0aGUgZmFrZSBwYXJ0aXRpb24uIFRo ZSB3b3JkIDxmb290bm90ZT48cGFyYT5JbiB0aGUgY29udGV4dCBvZiAxNi1iaXQgcmVhbCBtb2Rl LCBhIHdvcmQgaXMgMiBieXRlcy48L3BhcmE+PC9mb290bm90ZT4gYXQgb2Zmc2V0IDxsaXRlcmFs PjB4ODwvbGl0ZXJhbD4gaXMgY29waWVkIHRvIHJlZ2lzdGVyIDxsaXRlcmFsPiVheDwvbGl0ZXJh bD4gYW5kIHdvcmQgYXQgb2Zmc2V0IDxsaXRlcmFsPjB4YTwvbGl0ZXJhbD4gdG8gPGxpdGVyYWw+ JWN4PC9saXRlcmFsPjsgdGhleSBhcmUgaW50ZXJwcmV0ZWQgYnkgdGhlIEJJT1MgYXMgYSB0aGUg bG93ZXIgNC1ieXRlIHZhbHVlIGRlbm90aW5nIHRoZSBMQkEgdG8gYmUgcmVhZCAodGhlIHVwcGVy IDQgYnl0ZXMgYXJlIGFzc3VtZWQgMCkuIFJlZ2lzdGVyIDxsaXRlcmFsPiVieDwvbGl0ZXJhbD4g aG9sZHMgdGhlIG1lbW9yeSBhZGRyZXNzIHdoZXJlIHRoZSBNQlIgd2lsbCBiZSBsb2FkZWQuIFRo ZSBpbnN0cnVjdGlvbiBwdXNoaW5nIDxsaXRlcmFsPiVjczwvbGl0ZXJhbD4gb250byB0aGUgc3Rh Y2sgaXMgdmVyeSBpbnRlcmVzdGluZy4gSW4gdGhpcyBjb250ZXh0LCBpdCBhY2NvbXBsaXNoZXMg bm90aGluZywgYnV0LCBhcyB3ZSB3aWxsIHNlZSBzaG9ydGx5LCA8bGl0ZXJhbD54cmVhZC4xPC9s aXRlcmFsPiBtYWtlcyBubyBhc3N1bXB0aW9uIGFib3V0IHRoZSBjb250ZXh0IGluIHdoaWNoIGl0 IGlzIGludm9rZWQuIFBhcnRpY3VsYXJseSwgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gJ3Ry YXBzJyB0aGVyZTsgPGxpdGVyYWw+eHJlYWQuMTwvbGl0ZXJhbD4gdGhlbiBleGVjdXRlcyBpbiBW TTg2IChWaXJ0dWFsIFJlYWwgTW9kZSkuIEJ1dCwgYmVjYXVzZSA8ZmlsZW5hbWU+Ym9vdDI8L2Zp bGVuYW1lPiBleGVjdXRlcyBpbiAzMi1iaXQgcHJvdGVjdGVkIG1vZGUsIGEgbG9uZyByZXR1cm4g aXMgZXhlY3V0ZWQgd2hlbiA8bGl0ZXJhbD54cmVhZC4xPC9saXRlcmFsPiBmaW5pc2hlcyBleGVj dXRpb24uIFRoaXMgaW5zdHJ1Y3Rpb24gcG9wcyBvdXQgZnJvbSB0aGUgc3RhY2sgdGhlIGNvZGUg c2VnbWVudCAocmVnaXN0ZXIgPGxpdGVyYWw+JWNzPC9saXRlcmFsPikgdG8gcmV0dXJuLiBUaGlz IG1lY2hhbmlzbSB3aWxsIGJlY29tZSBtb3JlIGNsZWFyIGxhdGVyLgorTm93LCB0aGUgY29kZSBh dCA8bGl0ZXJhbD54cmVhZC4xPC9saXRlcmFsPiBmdXJ0aGVyIGNhbGxzIHRoZSA8bGl0ZXJhbD5y ZWFkPC9saXRlcmFsPiBmdW5jdGlvbiwgd2hpY2ggYWN0dWFsbHkgY2FsbHMgdGhlIEJJT1MgYXNr aW5nIGZvciB0aGUgZGlzayBzZWN0b3I6Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5cy9i b290L2kzODYvYm9vdDIvYm9vdDEuUzo8L2ZpbGVuYW1lPgoreHJlYWQuMToJCQkJIyBTdGFydGlu ZworCQlwdXNobCAkMHgwCQkjICBhYnNvbHV0ZQorCQlwdXNoICVjeAkJIyAgYmxvY2sKKwkJcHVz aCAlYXgJCSMgIG51bWJlcgorCQlwdXNoICVlcwkJIyBBZGRyZXNzIG9mCisJCXB1c2ggJWJ4CQkj ICB0cmFuc2ZlciBidWZmZXIKKwkJeG9yICVheCwlYXgJCSMgTnVtYmVyIG9mCisJCW1vdmIgJWRo LCVhbAkJIyAgYmxvY2tzIHRvCisJCXB1c2ggJWF4CQkjICB0cmFuc2ZlcgorCQlwdXNoICQweDEw CQkjIFNpemUgb2YgcGFja2V0CisJCW1vdiAlc3AsJWJwCQkjIFBhY2tldCBwb2ludGVyCisJCWNh bGx3IHJlYWQJCSMgUmVhZCBmcm9tIGRpc2sKKwkJbGVhIDB4MTAoJWJwKSwlc3AJIyBDbGVhciBz dGFjaworCQlscmV0CQkJIyBUbyBmYXIgY2FsbGVyCis8L3Byb2dyYW1saXN0aW5nPgorTm90ZSB0 aGUgPGVtcGhhc2lzPmxvbmcgcmV0dXJuPC9lbXBoYXNpcz4gaW5zdHJ1Y3Rpb24gYXQgdGhlIGVu ZCBvZiB0aGlzIGJsb2NrLiBUaGlzIGluc3RydWN0aW9uIHBvcHMgb3V0IHRoZSA8bGl0ZXJhbD4l Y3M8L2xpdGVyYWw+IHJlZ2lzdGVyIHB1c2hlZCBieSA8bGl0ZXJhbD5ucmVhZDwvbGl0ZXJhbD4s IGFuZCByZXR1cm5zLiBGaW5hbGx5LCA8bGl0ZXJhbD5ucmVhZDwvbGl0ZXJhbD4gYWxzbyByZXR1 cm5zLgorCitOb3csIHdpdGggdGhlIE1CUiBsb2FkZWQgdG8gbWVtb3J5LCB0aGUgYWN0dWFsIGxv b3AgZm9yIHNlYXJjaGluZyB0aGUgRnJlZUJTRCBwYXJ0aXRpb24gYmVnaW5zLiBUaGUgaW1wbGVt ZW50YXRpb24gaXMgYXMgZm9sbG93czoKKzxwcm9ncmFtbGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jv b3QvaTM4Ni9ib290Mi9ib290MS5TOjwvZmlsZW5hbWU+CisJCW1vdiAkMHgxLCVjeAkgCSAjIFR3 byBwYXNzZXMKK21haW4uMTogCW1vdiAkTUVNX0JVRitQUlRfT0ZGLCVzaSAjIFBhcnRpdGlvbiB0 YWJsZQorCQltb3ZiICQweDEsJWRoCQkgIyBQYXJ0aXRpb24KK21haW4uMjogCWNtcGIgJFBSVF9C U0QsMHg0KCVzaSkJICMgT3VyIHBhcnRpdGlvbiB0eXBlPworCQlqbmUgbWFpbi4zCQkgIyBObwor CQlqY3h6IG1haW4uNQkJICMgSWYgc2Vjb25kIHBhc3MKKwkJdGVzdGIgJDB4ODAsKCVzaSkJICMg QWN0aXZlPworCQlqbnogbWFpbi41CQkgIyBZZXMKK21haW4uMzogCWFkZCAkMHgxMCwlc2kJIAkg IyBOZXh0IGVudHJ5CisJCWluY2IgJWRoCQkgIyBQYXJ0aXRpb24KKwkJY21wYiAkMHgxK1BSVF9O VU0sJWRoCSAjIEluIHRhYmxlPworCQlqYiBtYWluLjIJCSAjIFllcworCQlkZWMgJWN4CQkJICMg RG8gdHdvCisJCWpjeHogbWFpbi4xCQkgIyAgcGFzc2VzCis8L3Byb2dyYW1saXN0aW5nPgorVGhp cyBjb2RlLCB3aGljaCBmb2xsb3dzIHRoZSBjYWxsIHRvIDxsaXRlcmFsPm5yZWFkPC9saXRlcmFs PiwgaW1wbGVtZW50cyB0aGUgc2NhbiBpbiB0aGUgcGFydGl0aW9uIHRhYmxlIGxvb2tpbmcgZm9y IHRoZSBGcmVlQlNEIHBhcnRpdGlvbi4gSWYgYSBGcmVlQlNEIHBhcnRpdGlvbiBpcyBzdWNjZXNz ZnVsbHkgaWRlbnRpZmllZCwgZXhlY3V0aW9uIGNvbnRpbnVlcyBhdCA8bGl0ZXJhbD5tYWluLjU8 L2xpdGVyYWw+OyB3ZSBhc3N1bWUgdGhpcyBiZWhhdmlvdXIsIHNvIHdlIGNvbnRpbnVlIGV4ZWN1 dGlvbiB0aGVyZToKKzxwcm9ncmFtbGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jvb3QvaTM4Ni9ib290 Mi9ib290MS5TOjwvZmlsZW5hbWU+CittYWluLjU6IAltb3YgJWR4LE1FTV9BUkcJCQkgICAjIFNh dmUgYXJncworCQltb3ZiICQweDEwLCVkaAkJCSAgICMgU2VjdG9yIGNvdW50CisJCWNhbGx3IG5y ZWFkCQkJICAgIyBSZWFkIGRpc2sKKwkJbW92ICRNRU1fQlRYLCVieAkJICAgIyBCVFgKKwkJbW92 IDB4YSglYngpLCVzaQkJICAgIyBHZXQgQlRYIGxlbmd0aCBhbmQgc2V0CisJCWFkZCAlYngsJXNp CQkJICAgIyAgJXNpIHRvIHN0YXJ0IG9mIGJvb3QyLmJpbgorCQltb3YgJE1FTV9VU1IrU0laX1BB RyoyLCVkaQkgICAjIENsaWVudCBwYWdlIDIKKwkJbW92ICRNRU1fQlRYKyhOU0VDVC0xKSpTSVpf U0VDLCVjeCAjIEJ5dGUKKwkJc3ViICVzaSwlY3gJCQkgICAjICBjb3VudAorCQlyZXAJCQkJICAg IyBSZWxvY2F0ZQorCQltb3ZzYgkJCQkgICAjICBjbGllbnQKKzwvcHJvZ3JhbWxpc3Rpbmc+Cis8 L3BhcmE+Cis8cGFyYT4KK1JlY2FsbCB0aGF0IGF0IHRoaXMgcG9pbnQsIHJlZ2lzdGVyIDxsaXRl cmFsPiVzaTwvbGl0ZXJhbD4gcG9pbnRzIHRvIHRoZSBGcmVlQlNEIHBhcnRpdGlvbiBlbnRyeSBp biB0aGUgTUJSIHBhcnRpdGlvbiB0YWJsZSwgc28gYSBjYWxsIHRvIDxsaXRlcmFsPm5yZWFkPC9s aXRlcmFsPiB3aWxsIGVmZmVjdGl2ZWx5IHJlYWQgc2VjdG9ycyBhdCB0aGUgYmVnaW5uaW5nIG9m IHRoaXMgcGFydGl0aW9uLiBUaGUgYXJndW1lbnQgcGFzc2VkIG9uIHJlZ2lzdGVyIDxsaXRlcmFs PiVkaDwvbGl0ZXJhbD4gdGVsbHMgPGxpdGVyYWw+bnJlYWQ8L2xpdGVyYWw+IHRvIHJlYWQgMTYg ZGlzayBzZWN0b3JzLiBSZWNhbGwgdGhhdCB0aGUgZmlyc3QgNTEyIGJ5dGVzLCAodGhlIGZpcnN0 IHNlY3RvciBvZiB0aGUgRnJlZUJTRCBwYXJ0aXRpb24pLCBjb2luY2lkZXMgd2l0aCB0aGUgPGZp bGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gcHJvZ3JhbS4gQWxzbyByZWNhbGwgdGhhdCB0aGUgZmls ZSB3cml0dGVuIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIEZyZWVCU0QgcGFydGl0aW9uIGlzIG5v dCA8ZmlsZW5hbWU+L2Jvb3QvYm9vdDE8L2ZpbGVuYW1lPiwgYnV0IDxmaWxlbmFtZT4vYm9vdC9i b290PC9maWxlbmFtZT4uIExldCdzIHRha2UgYSBsb29rIGF0IHRoZSBzaXplIG9mIHRoZXNlIGZp bGVzIGluIHRoZSBmaWxlc3lzdGVtOgorPHByb2dyYW1saXN0aW5nPjxmaWxlbmFtZT5zeXMvYm9v dC9pMzg2L2Jvb3QyL2Jvb3QxLlM6PC9maWxlbmFtZT4KKy1yLS1yLS1yLS0gIDEgcm9vdCAgd2hl ZWwgICA1MTJCIEphbiAgOCAwMDoxNSAvYm9vdC9ib290MAorLXItLXItLXItLSAgMSByb290ICB3 aGVlbCAgIDUxMkIgSmFuICA4IDAwOjE1IC9ib290L2Jvb3QxCistci0tci0tci0tICAxIHJvb3Qg IHdoZWVsICAgNy41SyBKYW4gIDggMDA6MTUgL2Jvb3QvYm9vdDIKKy1yLS1yLS1yLS0gIDEgcm9v dCAgd2hlZWwgICA4LjBLIEphbiAgOCAwMDoxNSAvYm9vdC9ib290Cis8L3Byb2dyYW1saXN0aW5n PgorQXMgeW91IGNhbiBzZWUgZnJvbSB0aGlzIG91dHB1dCwgYm90aCA8ZmlsZW5hbWU+Ym9vdDA8 L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gYXJlIDUxMiBieXRlcyBl YWNoLCBzbyB0aGV5IGZpdCA8ZW1waGFzaXM+ZXhhY3RseTwvZW1waGFzaXM+IGluIDEgZGlzayBz ZWN0b3IuIE5vdGUgdGhhdCA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1lPiBpcyBtdWNoIGJpZ2dl cjsgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gaG9sZHMgdGhlIEJUWCBwcm9ncmFtIGFuZCB0 aGUgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gY2xpZW50LiBGaW5hbGx5LCBhIGZpbGUgY2Fs bGVkIHNpbXBseSA8ZmlsZW5hbWU+Ym9vdDwvZmlsZW5hbWU+IGlzIDUxMiBieXRlcyBsYXJnZXIg dGhhbiA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1lPjsgaXQgaXMgYSBjb25jYXRlbmF0aW9uIG9m IDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+IGFuZCA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1l Pi4gQXMgYWxyZWFkeSBub3RlZCwgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4gaXMgdGhlIGZp bGUgd3JpdHRlbiB0byB0aGUgYWJzb2x1dGUgZmlyc3QgZGlzayBzZWN0b3IgKHRoZSBNQlIpLCBh bmQgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVuYW1lPiBpcyB0aGUgZmlsZSB3cml0dGVuIHRvIHRoZSBm aXJzdCBzZWN0b3Igb2YgdGhlIEZyZWVCU0QgcGFydGl0aW9uOyA8ZmlsZW5hbWU+Ym9vdDE8L2Zp bGVuYW1lPiBhbmQgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gYXJlIDxlbXBoYXNpcz5ub3Q8 L2VtcGhhc2lzPiB3cml0dGVuIHRvIGRpc2suIEZvbGxvd2luZyBpcyB0aGUgY29tbWFuZCB1c2Vk IHRvIGNvbmNhdGVuYXRlIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+IGFuZCA8ZmlsZW5hbWU+ Ym9vdDI8L2ZpbGVuYW1lPiBpbnRvIGEgc2luZ2xlIGZpbGUgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVu YW1lPjoKKzxwcm9ncmFtbGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jvb3QvaTM4Ni9ib290Mi9ib290 MS5TOjwvZmlsZW5hbWU+CitjYXQgYm9vdDEgYm9vdDIgPiBib290Cis8L3Byb2dyYW1saXN0aW5n PgorU28sIGVmZmVjdGl2ZWx5LCA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBvY2N1cGllcyA8 ZW1waGFzaXM+ZXhhY3RseTwvZW1waGFzaXM+IHRoZSBmaXJzdCA1MTIgb2YgdGhlIDxmaWxlbmFt ZT5ib290PC9maWxlbmFtZT4gZmlsZSBhbmQsIGJlY2F1c2UgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVu YW1lPiBpcyB3cml0dGVuIHRvIHRoZSBmaXJzdCBzZWN0b3Igb2YgdGhlIEZyZWVCU0QgcGFydGl0 aW9uLCA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBmaXRzIDxlbXBoYXNpcz5leGFjdGx5PC9l bXBoYXNpcz4gaW4gdGhpcyBmaXJzdCBzZWN0b3IuIE5vdywgcmV0dXJuaW5nIHRvIG91ciBleGVj dXRpb24sIGJlY2F1c2UgPGxpdGVyYWw+bnJlYWQ8L2xpdGVyYWw+IHJlYWRzIHRoZSBmaXJzdCAx NiBzZWN0b3JzIG9mIHRoZSBGcmVlQlNEIHBhcnRpdGlvbiwgaXQgZWZmZWN0aXZlbHkgaXMgcmVh ZGluZyB0aGUgZW50aXJlIDxmaWxlbmFtZT5ib290PC9maWxlbmFtZT4gZmlsZS4gPGZvb3Rub3Rl PjxwYXJhPjUxMioxNj04MTkyIGJ5dGVzLCBleGFjdGx5IHRoZSBzaXplIG9mIDxmaWxlbmFtZT5i b290PC9maWxlbmFtZT48L3BhcmE+PC9mb290bm90ZT4KK1dlIHdpbGwgc2VlIG1vcmUgZGV0YWls cyBhYm91dCBob3cgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVuYW1lPiBpcyBmb3JtZWQgZnJvbSA8Zmls ZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gaW4g dGhlIG5leHQgc2VjdGlvbi4KKzwvcGFyYT4KKzxwYXJhPgorUmVjYWxsIHRoYXQgPGxpdGVyYWw+ bnJlYWQ8L2xpdGVyYWw+IHVzZXMgbWVtb3J5IGFkZHJlc3MgPGxpdGVyYWw+MHg4YzAwPC9saXRl cmFsPiBhcyB0aGUgdHJhbnNmZXIgYnVmZmVyIHRvIGhvbGQgdGhlIHNlY3RvcnMgcmVhZC4gVGhp cyBhZGRyZXNzIGlzIGNvbnZlbmllbnRseSBjaG9zZW4uIEluZGVlZCwgYmVjYXVzZSA8ZmlsZW5h bWU+Ym9vdDE8L2ZpbGVuYW1lPiBiZWxvbmdzIHRvIHRoZSBmaXJzdCA1MTIgYnl0ZXMsIGl0IGlz IHN0b3JlZCBhdCBhZGRyZXNzIHJhbmdlIDxsaXRlcmFsPjB4OGMwMDwvbGl0ZXJhbD4tPGxpdGVy YWw+MHg4ZGZmPC9saXRlcmFsPi4gVGhlIDUxMiBieXRlcyB0aGF0IGZvbGxvd3MgKHJhbmdlIDxs aXRlcmFsPjB4OGUwMDwvbGl0ZXJhbD4tPGxpdGVyYWw+MHg4ZmZmPC9saXRlcmFsPikgaXMgdXNl ZCB0byBzdG9yZSB0aGUgPGVtcGhhc2lzPmRpc2tsYWJlbDwvZW1waGFzaXM+PGZvb3Rub3RlPjxw YXJhPklmIHlvdSBldmVyIHdvbmRlcmVkIHdoZXJlIEZyZWVCU0Qgc3RvcmVkIHRoaXMgaW5mb3Jt YXRpb24sIGl0IGlzIGluIHRoaXMgcmVnaW9uLjwvcGFyYT48L2Zvb3Rub3RlPi4gU3RhcnRpbmcg YXQgYWRkcmVzcyA8bGl0ZXJhbD4weDkwMDA8L2xpdGVyYWw+IGlzIHRoZSBiZWdpbm5pbmcgb2Yg dGhlIDxsaXRlcmFsPkJUWCBzZXJ2ZXI8L2xpdGVyYWw+LCBhbmQgaW1tZWRpYXRlbHkgZm9sbG93 aW5nIHRoZSA8bGl0ZXJhbD5CVFg8L2xpdGVyYWw+IGlzIHRoZSA8ZmlsZW5hbWU+Ym9vdDI8L2Zp bGVuYW1lPiBjbGllbnQuIEFzIHdlIHdpbGwgc2VlLCB0aGUgPGxpdGVyYWw+QlRYIHNlcnZlcjwv bGl0ZXJhbD4gYWN0cyBhcyBhIGtlcm5lbCwgYW5kIGV4ZWN1dGVzIGluIHByb3RlY3RlZCBtb2Rl IGluIHRoZSBtb3N0IHByaXZpbGVnZWQgbGV2ZWwuIEluIGNvbnRyYXN0LCB0aGUgQlRYIGNsaWVu dHMgKDxmaWxlbmFtZT5ib290MjwvZmlsZW5hbWU+LCBmb3IgZXhhbXBsZSksIGV4ZWN1dGUgaW4g dXNlciBtb2RlOyB3ZSB3aWxsIHNlZSBob3cgdGhpcyBpcyBhY2NvbXBsaXNoZWQgaW4gdGhlIG5l eHQgc2VjdGlvbi4gVGhlIGNvZGUgYWZ0ZXIgdGhlIGNhbGwgdG8gPGxpdGVyYWw+bnJlYWQ8L2xp dGVyYWw+IGxvY2F0ZXMgdGhlIGJlZ2lubmluZyBvZiA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1l PiBpbiB0aGUgbWVtb3J5IGJ1ZmZlciwgYW5kIGNvcGllcyBpdCB0byBtZW1vcnkgYWRkcmVzcyA8 bGl0ZXJhbD4weGMwMDA8L2xpdGVyYWw+LiBUaGlzIGlzIGJlY2F1c2UgdGhlIEJUWCBhcnJhbmdl cyA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1lPiB0byBleGVjdXRlIGluIGEgc2VnbWVudCBzdGFy dGluZyBhdCA8bGl0ZXJhbD4weGEwMDA8L2xpdGVyYWw+LiBXZSBleHBsb3JlIHRoaXMgaW4gZGV0 YWlsIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4KKzwvcGFyYT4KKzxwYXJhPgorVGhlIGxhc3Qg Y29kZSBibG9jayBvZiA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBlbmFibGVzIGFjY2VzcyB0 byBtZW1vcnkgYWJvdmUgMU1CPGZvb3Rub3RlPjxwYXJhPlRoaXMgaXMgbmVjZXNzYXJ5IGZvciBs ZWdhY3kgcmVhc29uczsgdGhlIGludGVyZXN0ZWQgcmVhZGVyIGlzIHJlbWl0dGVkIHRvIGh0dHA6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQTIwX2xpbmUuPC9wYXJhPjwvZm9vdG5vdGU+IGFuZCBj b25jbHVkZXMgd2l0aCBhIGp1bXAgdG8gdGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSA8bGl0ZXJh bD5CVFggc2VydmVyPC9saXRlcmFsPjoKKzxwcm9ncmFtbGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jv b3QvaTM4Ni9ib290Mi9ib290MS5TOjwvZmlsZW5hbWU+CitzZXRhMjA6IAljbGkJCQkjIERpc2Fi bGUgaW50ZXJydXB0cworc2V0YTIwLjE6CWRlYyAlY3gJCQkjIFRpbWVvdXQ/CisJCWp6IHNldGEy MC4zCQkjIFllcworCQlpbmIgJDB4NjQsJWFsCQkjIEdldCBzdGF0dXMKKwkJdGVzdGIgJDB4Miwl YWwJCSMgQnVzeT8KKwkJam56IHNldGEyMC4xCQkjIFllcworCQltb3ZiICQweGQxLCVhbAkJIyBD b21tYW5kOiBXcml0ZQorCQlvdXRiICVhbCwkMHg2NAkJIyAgb3V0cHV0IHBvcnQKK3NldGEyMC4y OglpbmIgJDB4NjQsJWFsCQkjIEdldCBzdGF0dXMKKwkJdGVzdGIgJDB4MiwlYWwJCSMgQnVzeT8K KwkJam56IHNldGEyMC4yCQkjIFllcworCQltb3ZiICQweGRmLCVhbAkJIyBFbmFibGUKKwkJb3V0 YiAlYWwsJDB4NjAJCSMgIEEyMAorc2V0YTIwLjM6CXN0aQkJCSMgRW5hYmxlIGludGVycnVwdHMK KworCQlqbXAgc3RhcnQrTUVNX0pNUC1NRU1fT1JHIyBTdGFydCBCVFgKKzwvcHJvZ3JhbWxpc3Rp bmc+CitOb3RlIHRoYXQgcmlnaHQgYmVmb3JlIHRoZSBqdW1wLCBpbnRlcnJ1cHRzIGFyZSBlbmFi bGVkLgorPC9wYXJhPgorICA8L3NlY3QxPgorICA8c2VjdDEgeG1sOmlkPSJidHgtc2VydmVyIj4K KyAgICA8dGl0bGU+VGhlIEJUWCBTZXJ2ZXI8L3RpdGxlPgorPHBhcmE+CitOZXh0IGluIG91ciBi b290IHNlcXVlbmNlIGlzIHRoZSA8bGl0ZXJhbD5CVFggU2VydmVyPC9saXRlcmFsPi4gTGV0J3Mg cXVpY2tseSByZW1lbWJlciBob3cgd2UgZ290IGhlcmU6CisgICAgPGl0ZW1pemVkbGlzdD4KICAg ICAgIDxsaXN0aXRlbT4KLQk8cGFyYT5sb2FkcyB0aGUgZmlyc3Qgc2VjdG9yIG9mIHRoZSBzZWxl Y3RlZCBwYXJ0aXRpb24gKHNsaWNlKQotCSAgaW50byBtZW1vcnkgYW5kIGp1bXBzIHRoZXJlPC9w YXJhPgorCTxwYXJhPkJJT1MgbG9hZHMgdGhlIGFic29sdXRlIHNlY3RvciAxICh0aGUgTUJSLCBv ciA8ZmlsZW5hbWU+Ym9vdDA8L2ZpbGVuYW1lPiksIHRvIGFkZHJlc3MgPGxpdGVyYWw+MHg3YzAw PC9saXRlcmFsPiBhbmQganVtcHMgb3ZlciB0aGVyZS48L3BhcmE+CiAgICAgICA8L2xpc3RpdGVt PgorCisgICAgICA8bGlzdGl0ZW0+CisJPHBhcmE+PGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4g cmVsb2NhdGVzIHRvIDxsaXRlcmFsPjB4NjAwPC9saXRlcmFsPiwgdGhlIGFkZHJlc3MgaXQgd2Fz IGxpbmtlZCB0byBleGVjdXRlLCBhbmQganVtcHMgb3ZlciB0aGVyZS4gSXQgdGhlbiByZWFkcyB0 aGUgZmlyc3Qgc2VjdG9yIG9mIHRoZSBGcmVlQlNEIHBhcnRpdGlvbiAod2hpY2ggY29uc2lzdHMg b2YgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4pIGludG8gYWRkcmVzcyA8bGl0ZXJhbD4weDdj MDA8L2xpdGVyYWw+IGFuZCBqdW1wcyBvdmVyIHRoZXJlLjwvcGFyYT4KKyAgICAgIDwvbGlzdGl0 ZW0+CisKKyAgICAgIDxsaXN0aXRlbT4KKwk8cGFyYT48ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1l PiBsb2FkcyB0aGUgZmlyc3QgMTYgc2VjdG9ycyBvZiB0aGUgRnJlZUJTRCBwYXJ0aXRpb24gaW50 byBhZGRyZXNzIDxsaXRlcmFsPjB4OGMwMDwvbGl0ZXJhbD4uIFRoaXMgMTYgc2VjdG9ycywgb3Ig PGxpdGVyYWw+ODE5MjwvbGl0ZXJhbD4gYnl0ZXMsIGNvbnNpc3RzIDxlbXBoYXNpcz5leGFjdGx5 PC9lbXBoYXNpcz4gb2YgdGhlIDxmaWxlbmFtZT5ib290PC9maWxlbmFtZT4gZmlsZS4gVGhlIDxm aWxlbmFtZT5ib290PC9maWxlbmFtZT4gZmlsZSBjb25zaXN0cyBvZiBhIGNvbmNhdGVuYXRpb24g b2YgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gYW5kIDxmaWxlbmFtZT5ib290MjwvZmlsZW5h bWU+IGFuZCwgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4sIGluIHR1cm4sIGNvbnRhaW5zIHRo ZSA8bGl0ZXJhbD5CVFggc2VydmVyPC9saXRlcmFsPiBhbmQgdGhlIDxmaWxlbmFtZT5ib290Mjwv ZmlsZW5hbWU+IGNsaWVudC4gRmluYWxseSwgYSBqdW1wIGlzIG1hZGUgdG8gYWRkcmVzcyA8bGl0 ZXJhbD4weDkwMTA8L2xpdGVyYWw+LCB0aGUgZW50cnkgcG9pbnQgb2YgdGhlIDxsaXRlcmFsPkJU WCBzZXJ2ZXI8L2xpdGVyYWw+LjwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CiAgICAgPC9pdGVt aXplZGxpc3Q+CitMZXQgdXMgZnVydGhlciByZXZpZXcgaG93IHRoZSBzaW5nbGUsIGFsbC1pbi1v bmUgPGZpbGVuYW1lPmJvb3Q8L2ZpbGVuYW1lPiBmaWxlIGlzIGNyZWF0ZWQuIFRoZSBjb21tYW5k cyBzdGF0ZWQgaW4gdGhlIDxmaWxlbmFtZT5NYWtlZmlsZTwvZmlsZW5hbWU+IGFyZSBxdWl0ZSBs b25nLCBzbyBsZXQncyBnbyBzdGVwIGJ5IHN0ZXAuIFRoZSB3YXkgPGZpbGVuYW1lPmJvb3Q8L2Zp bGVuYW1lPiBpcyBidWlsdCBpcyBkZWZpbmVkIGluIGl0cyA8ZmlsZW5hbWU+TWFrZWZpbGU8L2Zp bGVuYW1lPiAoPGZpbGVuYW1lPi91c3Ivc3JjL3N5cy9ib290L2kzODYvYm9vdDIvTWFrZWZpbGU8 L2ZpbGVuYW1lPikuIExldCdzIGxvb2sgYXQgdGhlIHJ1bGUgdGhhdCBjcmVhdGVzIHRoZSA8Zmls ZW5hbWU+Ym9vdDwvZmlsZW5hbWU+IGZpbGU6Cis8cHJvZ3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5 cy9ib290L2kzODYvYm9vdDIvTWFrZWZpbGU6PC9maWxlbmFtZT4KK2Jvb3Q6IGJvb3QxIGJvb3Qy CisJY2F0IGJvb3QxIGJvb3QyID4gYm9vdAorPC9wcm9ncmFtbGlzdGluZz4KK1RoaXMgdGVsbHMg dXMgdGhhdCA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmJvb3QyPC9m aWxlbmFtZT4gYXJlIG5lZWRlZCwgYW5kIHRoZSBydWxlIHNpbXBseSBjb25jYXRlbmF0ZXMgdGhl bSB0byBwcm9kdWNlIGEgc2luZ2xlIGZpbGUgY2FsbGVkIDxmaWxlbmFtZT5ib290PC9maWxlbmFt ZT4uIFRoZSBydWxlcyBmb3IgY3JlYXRpbmcgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gYXJl IGFsc28gcXVpdGUgc2ltcGxlOgorPHByb2dyYW1saXN0aW5nPjxmaWxlbmFtZT5zeXMvYm9vdC9p Mzg2L2Jvb3QyL01ha2VmaWxlOjwvZmlsZW5hbWU+Citib290MTogYm9vdDEub3V0CisJb2JqY29w eSAtUyAtTyBiaW5hcnkgYm9vdDEub3V0ICR7LlRBUkdFVH0KIAotICAgIDxwYXJhPldoYXQga2lu ZCBvZiBkYXRhIHNob3VsZCByZXNpZGUgb24gdGhlIHZlcnkgZmlyc3Qgc2VjdG9yIG9mCi0gICAg ICBhIGJvb3RhYmxlIHBhcnRpdGlvbiAoc2xpY2UpLCBpbiBvdXIgY2FzZSwgYSBGcmVlQlNEIHNs aWNlPyAgQXMKLSAgICAgIHlvdSBtYXkgaGF2ZSBhbHJlYWR5IGd1ZXNzZWQsIGl0IGlzCi0gICAg ICA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVuYW1lPi48L3BhcmE+Ci0gIDwvc2VjdDE+Citib290MS5v dXQ6IGJvb3QxLm8KKwlsZCAtZSBzdGFydCAtVHRleHQgMHg3YzAwIC1vIGJvb3QxLm91dCBib290 MS5vCis8L3Byb2dyYW1saXN0aW5nPgorSW4gb3JkZXIgdG8gYXBwbHkgdGhlIHJ1bGUgZm9yIGNy ZWF0aW5nIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+LCA8ZmlsZW5hbWU+Ym9vdDEub3V0PC9m aWxlbmFtZT4gbXVzdCBiZSByZXNvbHZlZC4gVGhpcywgaW4gdHVybiwgZGVwZW5kcyBvbiB0aGUg ZXhpc3RlbmNlIG9mIDxmaWxlbmFtZT5ib290MS5vPC9maWxlbmFtZT4uIFRoaXMgbGFzdCBmaWxl IGlzIHNpbXBseSB0aGUgcmVzdWx0IG9mIGFzc2VtYmxpbmcgb3VyIGZhbWlsaWFyIDxmaWxlbmFt ZT5ib290MS5TPC9maWxlbmFtZT4sIHdpdGhvdXQgbGlua2luZy4gTm93LCB0aGUgcnVsZSBmb3Ig Y3JlYXRpbmcgPGZpbGVuYW1lPmJvb3QxLm91dDwvZmlsZW5hbWU+IGlzIGFwcGxpZWQuIFRoaXMg dGVsbHMgdXMgdGhhdCA8ZmlsZW5hbWU+Ym9vdDEubzwvZmlsZW5hbWU+IHNob3VsZCBiZSBsaW5r ZWQgd2l0aCA8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gYXMgaXRzIGVudHJ5IHBvaW50LCBhbmQg c3RhcnRpbmcgYXQgYWRkcmVzcyA8bGl0ZXJhbD4weDdjMDA8L2xpdGVyYWw+LiBGaW5hbGx5LCA8 ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiBpcyBjcmVhdGVkIGZyb20gPGZpbGVuYW1lPmJvb3Qx Lm91dDwvZmlsZW5hbWU+IGFwcGx5aW5nIHRoZSBhcHByb3BpYXRlIHJ1bGUuIFRoaXMgcnVsZSBp cyB0aGUgPGZpbGVuYW1lPm9iamNvcHk8L2ZpbGVuYW1lPiBjb21tYW5kIGFwcGxpZWQgdG8gPGZp bGVuYW1lPmJvb3QxLm91dDwvZmlsZW5hbWU+LiBOb3RlIHRoZSBmbGFncyBwYXNzZWQgdG8gPGZp bGVuYW1lPm9iamNvcHk8L2ZpbGVuYW1lPjogLVMgdGVsbHMgaXQgdG8gc3RyaXAgYWxsIHJlbG9j YXRpb24gYW5kIHN5bWJvbGljIGluZm9ybWF0aW9uOyAtTyBiaW5hcnkgaW5kaWNhdGVzIHRoZSBv dXRwdXQgZm9ybWF0LCB0aGF0IGlzLCBhIHNpbXBsZSwgdW5mb3JtYXR0ZWQgYmluYXJ5IGZpbGUu IFdlIG5vdyBoYXZlIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+LiBMZXQncyB0YWtlIGEgbG9v ayBhdCBob3cgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gaXMgY29uc3RydWN0ZWQ6Cis8cHJv Z3JhbWxpc3Rpbmc+PGZpbGVuYW1lPnN5cy9ib290L2kzODYvYm9vdDIvTWFrZWZpbGU6PC9maWxl bmFtZT4KK2Jvb3QyOiBib290Mi5sZAorCUBzZXQgLS0gYGxzIC1sIGJvb3QyLmxkYDsgeD0kJCgo NzY4MC0kJDUpKTsgXAorCSAgICBlY2hvICIkJHggYnl0ZXMgYXZhaWxhYmxlIjsgdGVzdCAkJHgg LWdlIDAKKwlkZCBpZj1ib290Mi5sZCBvZj0key5UQVJHRVR9IG9icz03NjgwIGNvbnY9b3N5bmMK IAotICA8c2VjdDEgeG1sOmlkPSJib290LWJvb3QyIj4KLSAgICA8dGl0bGU+PGxpdGVyYWw+Ym9v dDI8L2xpdGVyYWw+IFN0YWdlPC90aXRsZT4KK2Jvb3QyLmxkOiBib290Mi5sZHIgYm9vdDIuYmlu ICR7QlRYS0VSTn0KKwlidHhsZCAtdiAtRSAke09SRzJ9IC1mIGJpbiAtYiAke0JUWEtFUk59IC1s IGJvb3QyLmxkciBcCisJICAgIC1vICR7LlRBUkdFVH0gLVAgMSBib290Mi5iaW4KIAotICAgIDxw YXJhPllvdSBtaWdodCB3b25kZXIsIHdoeSA8bGl0ZXJhbD5ib290MjwvbGl0ZXJhbD4gY29tZXMg YWZ0ZXIKLSAgICAgIDxsaXRlcmFsPmJvb3QwPC9saXRlcmFsPiwgYW5kIG5vdCBib290MS4gIEFj dHVhbGx5LCB0aGVyZSBpcyBhCi0gICAgICA1MTItYnl0ZSBmaWxlIGNhbGxlZCA8ZmlsZW5hbWU+ Ym9vdDE8L2ZpbGVuYW1lPiBpbiB0aGUgZGlyZWN0b3J5Ci0gICAgICA8ZmlsZW5hbWU+L2Jvb3Q8 L2ZpbGVuYW1lPiBhcyB3ZWxsLiAgSXQgaXMgdXNlZCBmb3IgYm9vdGluZyBmcm9tCi0gICAgICBh IGZsb3BweS4gIFdoZW4gYm9vdGluZyBmcm9tIGEgZmxvcHB5LAotICAgICAgPGZpbGVuYW1lPmJv b3QxPC9maWxlbmFtZT4gcGxheXMgdGhlIHNhbWUgcm9sZSBhcwotICAgICAgPGZpbGVuYW1lPmJv b3QwPC9maWxlbmFtZT4gZm9yIGEgaGFyZGRpc2s6IGl0IGxvY2F0ZXMKLSAgICAgIDxmaWxlbmFt ZT5ib290MjwvZmlsZW5hbWU+IGFuZCBydW5zIGl0LjwvcGFyYT4KK2Jvb3QyLmxkcjoKKwlkZCBp Zj0vZGV2L3plcm8gb2Y9JHsuVEFSR0VUfSBicz01MTIgY291bnQ9MQogCi0gICAgPHBhcmE+WW91 IG1heSBoYXZlIHJlYWxpemVkIHRoYXQgYSBmaWxlCi0gICAgICA8ZmlsZW5hbWU+L2Jvb3QvbWJy PC9maWxlbmFtZT4gZXhpc3RzIGFzIHdlbGwuICBJdCBpcyBhCi0gICAgICBzaW1wbGlmaWVkIHZl cnNpb24gb2YgPGZpbGVuYW1lPmJvb3QwPC9maWxlbmFtZT4uICBUaGUgY29kZSBpbgotICAgICAg PGZpbGVuYW1lPm1icjwvZmlsZW5hbWU+IGRvZXMgbm90IHByb3ZpZGUgYSBtZW51IGZvciB0aGUg dXNlciwKLSAgICAgIGl0IGp1c3QgYmxpbmRseSBib290cyB0aGUgcGFydGl0aW9uIG1hcmtlZCBh Y3RpdmUuPC9wYXJhPgorYm9vdDIuYmluOiBib290Mi5vdXQKKwlvYmpjb3B5IC1TIC1PIGJpbmFy eSBib290Mi5vdXQgJHsuVEFSR0VUfQogCitib290Mi5vdXQ6ICR7QlRYRElSfS9saWIvY3J0MC5v IGJvb3QyLm8gc2lvLm8KKwlsZCAtVHRleHQgMHgyMDAwIC1vIGJvb3QyLm91dAorCitib290Mi5v OiBib290Mi5zCisJJHtDQ30gJHtBQ0ZMQUdTfSAtYyBib290Mi5zCisKK1NSQ1M9CWJvb3QyLmMg Ym9vdDIuaAorCitib290Mi5zOiBib290Mi5jIGJvb3QyLmggJHsuQ1VSRElSfS8uLi8uLi9jb21t b24vdWZzcmVhZC5jCisJJHtDQ30gJHtDRkxBR1N9IC1TIC1vIGJvb3QyLnMudG1wICR7LkNVUkRJ Un0vYm9vdDIuYworCXNlZCAtZSAnL2FsaWduL2QnIC1lICcvbm9wL2QnICJNSVNTSU5HIiBib290 Mi5zLnRtcCA+IGJvb3QyLnMKKwlybSAtZiBib290Mi5zLnRtcAorCitib290Mi5oOiBib290MS5v dXQKKwkke05NfSAtdCBkICR7LkFMTFNSQ30gfCBhd2sgJy8oWzAtOV0pKyBUIHhyZWFkLyBcCisJ ICAgIHsgeCA9ICQkMSAtIE9SRzE7IFwKKwkgICAgcHJpbnRmKCIjZGVmaW5lIFhSRUFET1JHICUj eFxuIiwgUkVMMSArIHgpIH0nIFwKKwkgICAgT1JHMT1gcHJpbnRmICIlZCIgJHtPUkcxfWAgXAor CSAgICBSRUwxPWBwcmludGYgIiVkIiAke1JFTDF9YCA+ICR7LlRBUkdFVH0KKzwvcHJvZ3JhbWxp c3Rpbmc+CitUaGUgbWVjaGFuaXNtIGZvciBidWlsZGluZyA8ZmlsZW5hbWU+Ym9vdDI8L2ZpbGVu YW1lPiBpcyBmYXIgbW9yZSBlbGFib3JhdGVkLiBMZXQncyBwb2ludCBvdXQgdGhlIG1vc3QgcmVs ZXZhbnQgZmFjdHMuIFRoZSBkZXBlbmRlbmN5IGxpc3QgaXMgYXMgZm9sbG93czoKKzxwcm9ncmFt bGlzdGluZz48ZmlsZW5hbWU+c3lzL2Jvb3QvaTM4Ni9ib290Mi9NYWtlZmlsZTo8L2ZpbGVuYW1l PgorYm9vdDI6IGJvb3QyLmxkCitib290Mi5sZDogYm9vdDIubGRyIGJvb3QyLmJpbiAke0JUWERJ Un0vYnR4L2J0eAorYm9vdDIuYmluOiBib290Mi5vdXQKK2Jvb3QyLm91dDogJHtCVFhESVJ9L2xp Yi9jcnQwLm8gYm9vdDIubyBzaW8ubworYm9vdDIubzogYm9vdDIucworYm9vdDIuczogYm9vdDIu YyBib290Mi5oICR7LkNVUkRJUn0vLi4vLi4vY29tbW9uL3Vmc3JlYWQuYworYm9vdDIuaDogYm9v dDEub3V0Cis8L3Byb2dyYW1saXN0aW5nPgorCitOb3RlIHRoYXQgaW5pdGlhbGx5IHRoZXJlIGlz IG5vIGhlYWRlciA8ZmlsZW5hbWU+Ym9vdDIuaDwvZmlsZW5hbWU+IGZpbGU7IGl0cyBjcmVhdGlv biBkZXBlbmRzIG9uIDxmaWxlbmFtZT5ib290MS5vdXQ8L2ZpbGVuYW1lPiwgd2hpY2ggd2UgYWxy ZWFkeSBoYXZlLiBUaGUgcnVsZSBmb3IgaXRzIGNyZWF0aW9uIGlzIGEgYml0IHRlcnNlLCBidXQg dGhlIGltcG9ydGFudCB0aGluZyBpcyB0aGF0IHRoZSBvdXRwdXQsIDxmaWxlbmFtZT5ib290Mi5o PC9maWxlbmFtZT4sIGlzIHNvbWV0aGluZyBsaWtlIHRoaXM6Cis8cHJvZ3JhbWxpc3Rpbmc+PGZp bGVuYW1lPnN5cy9ib290L2kzODYvYm9vdDIvYm9vdDIuaDo8L2ZpbGVuYW1lPgorI2RlZmluZSBY UkVBRE9SRyAweDcyNQorPC9wcm9ncmFtbGlzdGluZz4KK1JlY2FsbCB0aGF0IDxmaWxlbmFtZT5i b290MTwvZmlsZW5hbWU+IHdhcyByZWxvY2F0ZWQgKGkuZSBjb3BpZWQgZnJvbSA8bGl0ZXJhbD4w eDdjMDA8L2xpdGVyYWw+IHRvIDxsaXRlcmFsPjB4NzAwPC9saXRlcmFsPikuIE5vdyB0aGlzIHJl bG9jYXRpb24gd2lsbCBtYWtlIHNlbnNlLCBiZWNhdXNlIGFzIHdlIHdpbGwgc2VlLCB0aGUgPGxp dGVyYWw+QlRYIHNlcnZlcjwvbGl0ZXJhbD4gcmVjbGFpbXMgc29tZSBtZW1vcnksIGluY2x1ZGlu ZyB3aGVyZSA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPiB3YXMgb3JpZ2luYWxseSBsb2FkZWQu IEhvd2V2ZXIsIGl0IG5lZWRzIGFjY2VzcyB0byA8ZmlsZW5hbWU+Ym9vdDE8L2ZpbGVuYW1lPidz IDxsaXRlcmFsPnhyZWFkPC9saXRlcmFsPiBmdW5jdGlvbjsgdGhpcyBmdW5jdGlvbiwgYWNjb3Jk aW5nIHRvIHRoZSBvdXRwdXQgb2YgPGZpbGVuYW1lPmJvb3QyLmg8L2ZpbGVuYW1lPiwgaXMgYXQg bG9jYXRpb24gPGxpdGVyYWw+MHg3MjU8L2xpdGVyYWw+LiBJbmRlZWQsIHRoZSA8bGl0ZXJhbD5C VFggc2VydmVyPC9saXRlcmFsPiB1c2VzIHRoZSA8bGl0ZXJhbD54cmVhZDwvbGl0ZXJhbD4gZnVu Y3Rpb24gZnJvbSB0aGUgcmVsb2NhdGVkIDxmaWxlbmFtZT5ib290MTwvZmlsZW5hbWU+J3MgY29k ZS4gVGhpcyBmdW5jdGlvbiBpcyBub3cgYWNjZXNpYmxlIGZyb20gd2l0aGluIHRoZSA8ZmlsZW5h bWU+Ym9vdDI8L2ZpbGVuYW1lPiBjbGllbnQuPC9wYXJhPgorPHBhcmE+CitIYXZpbmcgPGZpbGVu YW1lPmJvb3QyLmg8L2ZpbGVuYW1lPiwgd2UgbmV4dCBidWlsZCA8ZmlsZW5hbWU+Ym9vdDIuczwv ZmlsZW5hbWU+IGZyb20gPGZpbGVuYW1lPmJvb3QyLmg8L2ZpbGVuYW1lPiwgPGZpbGVuYW1lPmJv b3QyLmM8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPi91c3Ivc3JjL3N5cy9ib290L2NvbW1vbi91 ZnNyZWFkLmM8L2ZpbGVuYW1lPi4gVGhlIHJ1bGUgZm9yIHRoaXMgaXMgdG8gY29tcGlsZSB0aGUg Y29kZSBpbiA8ZmlsZW5hbWU+Ym9vdDIuYzwvZmlsZW5hbWU+IGludG8gYXNzZW1ibHkgY29kZS4g VGhlIG5leHQgcnVsZSBhc3NlbWJsZXMgPGZpbGVuYW1lPmJvb3QyLnM8L2ZpbGVuYW1lPiBjcmVh dGluZyB0aGUgb2JqZWN0IGZpbGUgPGZpbGVuYW1lPmJvb3QyLm88L2ZpbGVuYW1lPi4gQWZ0ZXIg dGhpcywgdGhlIGZvbGxvd2luZyBydWxlIGRpcmVjdHMgdGhlIGxpbmtlciB0byBsaW5rIHZhcmlv dXMgZmlsZXMgKDxmaWxlbmFtZT5jcnQwLm88L2ZpbGVuYW1lPiwgPGZpbGVuYW1lPmJvb3QyLm88 L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPnNpby5vPC9maWxlbmFtZT4pLiBOb3RlIHRoYXQgdGhl IG91dHB1dCBmaWxlLCA8ZmlsZW5hbWU+Ym9vdDIub3V0PC9maWxlbmFtZT4sIGlzIGxpbmtlZCB0 byBleGVjdXRlIGF0IGFkZHJlc3MgPGxpdGVyYWw+MHgyMDAwPC9saXRlcmFsPi4gUmVjYWxsIHRo YXQgPGZpbGVuYW1lPmJvb3QyPC9maWxlbmFtZT4gd2lsbCBiZSBleGVjdXRlZCBpbiB1c2VyIG1v ZGUsIHdpdGhpbiBhIHNwZWNpYWwgdXNlciBzZWdtZW50IHNldCB1cCBieSB0aGUgPGxpdGVyYWw+ QlRYIHNlcnZlcjwvbGl0ZXJhbD4uIFRoaXMgc2VnbWVudCBzdGFydHMgYXQgPGxpdGVyYWw+MHhh MDAwPC9saXRlcmFsPi4gQWxzbywgcmVtZW1iZXIgdGhhdCB0aGUgPGZpbGVuYW1lPmJvb3QyPC9m aWxlbmFtZT4gcG9ydGlvbiBvZiA8ZmlsZW5hbWU+Ym9vdDwvZmlsZW5hbWU+IHdhcyBjb3BpZWQg YnkgPGZpbGVuYW1lPmJvb3QxPC9maWxlbmFtZT4gaW50byBhZGRyZXNzIDxsaXRlcmFsPjB4YzAw MDwvbGl0ZXJhbD4sIHRoYXQgaXMsIG9mZnNldCA8bGl0ZXJhbD4weDIwMDA8L2xpdGVyYWw+IGZy b20gdGhlIHN0YXJ0IG9mIHRoZSB1c2VyIHNlZ21lbnQsIHNvIDxmaWxlbmFtZT5ib290MjwvZmls ZW5hbWU+IHdpbGwgd29yayBwcm9wZXJseSB3aGVuIHdlIHRyYW5zZmVyIGNvbnRyb2wgdG8gaXQu IE5leHQsIDxmaWxlbmFtZT5ib290Mi5iaW48L2ZpbGVuYW1lPiBpcyBjcmVhdGVkIGZyb20gPGZp bGVuYW1lPmJvb3QyLm91dDwvZmlsZW5hbWU+IGJ5IHN0cmlwcGluZyBpdHMgc3ltYm9scyBhbmQg Zm9ybWF0IGluZm9ybWF0aW9uOyBib290Mi5iaW4gaXMgYSA8ZW1waGFzaXM+cmF3PC9lbXBoYXNp cz4uIE5vdywgbm90ZSB0aGF0IGEgZmlsZSA8ZmlsZW5hbWU+Ym9vdDIubGRyPC9maWxlbmFtZT4g aXMgY3JlYXRlZCBhcyBhIDUxMi1ieXRlIGZpbGUgZnVsbAorPC9wYXJhPgorICA8L3NlY3QxPgor IAorPHNlY3QxIHhtbDppZD0iYm9vdDIiPgorICAgIDx0aXRsZT48bGl0ZXJhbD5ib290MjwvbGl0 ZXJhbD4gU3RhZ2U8L3RpdGxlPgorCiAgICAgPHBhcmE+VGhlIGNvZGUgaW1wbGVtZW50aW5nIDxm aWxlbmFtZT5ib290MjwvZmlsZW5hbWU+IHJlc2lkZXMgaW4KICAgICAgIDxmaWxlbmFtZT5zeXMv Ym9vdC9pMzg2L2Jvb3QyLzwvZmlsZW5hbWU+LCBhbmQgdGhlIGV4ZWN1dGFibGUKICAgICAgIGl0 c2VsZiBpcyBpbiA8ZmlsZW5hbWU+L2Jvb3Q8L2ZpbGVuYW1lPi4gIFRoZSBmaWxlcwpAQCAtNDQ5 LDEwICs4MTUsMTMgQEAKICAgICBfX2V4ZWMoKGNhZGRyX3QpYWRkciwgUkJfQk9PVElORk8gfCAo b3B0cyAmYW1wOyBSQlhfTUFTSyksCiAJICAgTUFLRUJPT1RERVYoZGV2X21haltkc2sudHlwZV0s IDAsIGRzay5zbGljZSwgZHNrLnVuaXQsIGRzay5wYXJ0KSwKIAkgICAwLCAwLCAwLCBWVE9QKCZh bXA7Ym9vdGluZm8pKTs8L3Byb2dyYW1saXN0aW5nPgorCiAgIDwvc2VjdDE+CiAKKworCiAgIDxz ZWN0MSB4bWw6aWQ9ImJvb3QtbG9hZGVyIj4KLSAgICA8dGl0bGU+PGFwcGxpY2F0aW9uPmxvYWRl cjwvYXBwbGljYXRpb24+IFN0YWdlPC90aXRsZT4KKyAgICA8dGl0bGU+PGxpdGVyYWw+bG9hZGVy PC9saXRlcmFsPiBTdGFnZTwvdGl0bGU+CiAKICAgICA8cGFyYT48YXBwbGljYXRpb24+bG9hZGVy PC9hcHBsaWNhdGlvbj4gaXMgYSBCVFggY2xpZW50IGFzIHdlbGwuCiAgICAgICBJIHdpbGwgbm90 IGRlc2NyaWJlIGl0IGhlcmUgaW4gZGV0YWlsLCB0aGVyZSBpcyBhIGNvbXByZWhlbnNpdmUK --089e01176f01ef40cf04efecd7a9-- From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 15:19:50 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CC3E8168; Tue, 14 Jan 2014 15:19:50 +0000 (UTC) Received: from wonkity.com (wonkity.com [67.158.26.137]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 799161FC3; Tue, 14 Jan 2014 15:19:50 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.7/8.14.7) with ESMTP id s0EFJmUF097230; Tue, 14 Jan 2014 08:19:48 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.7/8.14.7/Submit) with ESMTP id s0EFJmqE097227; Tue, 14 Jan 2014 08:19:48 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Tue, 14 Jan 2014 08:19:48 -0700 (MST) From: Warren Block To: =?ISO-8859-15?Q?Sergio_Andr=E9s_G=F3mez_del_Real?= Subject: Re: Proposed change to Bootstrapping and Kernel Initialization in FreeBSD Architecture Handbook In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-ID: X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (wonkity.com [127.0.0.1]); Tue, 14 Jan 2014 08:19:49 -0700 (MST) Content-Type: TEXT/PLAIN; CHARSET=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8BIT X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: freebsd-hackers@freebsd.org, freebsd-doc@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 15:19:50 -0000 On Tue, 14 Jan 2014, Sergio Andrés Gómez del Real wrote: > I started studying the FreeBSD boot system and found that the documentation > is limited and, in some cases, not true; for example it doesn't address > appropriately the boot1 stage, stating erroneously that it is limited for > booting with a floppy. > Anyway, I've been working on an up-to-date version, and would like to hear > some feedback. > > I attach the diff file for > doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.xml. Thank you for working on this. From a doc perspective, it appears that whitespace and content changes have been mixed, which makes the work of translators more difficult. The new XML source is largely unformatted, and should be wrapped at 70 columns. Please see http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/book.html#writing-style-tag-style Rather than "FreeBSD", use the &os; entity. I did not look at the content much, but am willing if the first two problems can be fixed. Thanks! From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 18:10:41 2014 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2CC6B30A; Tue, 14 Jan 2014 18:10:41 +0000 (UTC) Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E01FE1FE9; Tue, 14 Jan 2014 18:10:40 +0000 (UTC) Received: by mail-ob0-f173.google.com with SMTP id vb8so422019obc.4 for ; Tue, 14 Jan 2014 10:10:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=SKBNtEhwmPH505xLuVnAU8lk7nzsCwaLftM+ETNY62I=; b=mowysmmbmGFUCQfTqrNtyhoEexi/qIJUhhrXkRfP7PMvxYDod+sQaY8irogLFdMQ8t GgI16UyyNVv7+4DmhlvfNtWIr23VLZJFB7ahwcl4yehSu+zg22BNJsSAlyvYlsvViq09 43phTf/OTOCAPuhWzT6G89leh5K7QzfOw7abmXWK3/yd2TPdGy5YjhhAN/5g2Lo0amlT 3FySB3AXBaYnm5gPjhNOf9LLJ2IjaqXo1aFZtoR7XkqHDzS60N/x4vOwsGmd349Eovpk 6E4qHp3PNKmePpNdOL4S6QT8tA8zqXLw+kN86NX4yyK00FGJVvA09ldXNf/v3STY3G1J RKSA== MIME-Version: 1.0 X-Received: by 10.60.33.7 with SMTP id n7mr2273087oei.25.1389723040200; Tue, 14 Jan 2014 10:10:40 -0800 (PST) Sender: pali.gabor@gmail.com Received: by 10.182.22.44 with HTTP; Tue, 14 Jan 2014 10:10:40 -0800 (PST) Date: Tue, 14 Jan 2014 19:10:40 +0100 X-Google-Sender-Auth: YLDWeFOGBBOwewGZsVu2mK46zp8 Message-ID: Subject: Final Call for FreeBSD 2013Q4 (October-December) Status Reports From: Gabor Pali To: hackers@freebsd.org, current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 18:10:41 -0000 Dear FreeBSD Community, Please note that the submission date for the October to December Quarterly Status Reports is, January 14th, 2014, today. Please consult my earlier message for the details: On Sat, Dec 14, 2013 at 2:05 PM, Gabor Pali wrote: > Dear FreeBSD Community, > > Please note that the next submission date for the October to December > Quarterly Status Reports is January 14th, 2014, about a month away. > > They do not have to be very long -- basically they may be about > anything that lets people know what is going on around the FreeBSD > Project. Submission of reports is not restricted to committers: > Anyone who is doing anything interesting and FreeBSD-related can (and > therefore encouraged to) write one! > > The preferred and easiest submission method is to use the XML > generator [1] with the result emailed as an attachment to us, that is, > monthly@FreeBSD.org [2]. There is also an XML template [3] which can > be filled out manually and attached if preferred. For the expected > content and style, please study our guidelines on how to write a good > status reports [4]. > > To enable compilation and publication of the Q4 report as soon as > possible for the January 14th deadline, please be prompt with any > report submissions you may have. > > We are looking forward to all of your 2013Q4 reports! > > Thanks, > Gabor > > > [1] http://www.freebsd.org/cgi/monthly.cgi > [2] mailto:monthly@freebsd.org > [3] http://www.freebsd.org/news/status/report-sample.xml > [4] http://www.freebsd.org/news/status/howto.html From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 20:15:54 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1DC2AEDC for ; Tue, 14 Jan 2014 20:15:54 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E92FE10A6 for ; Tue, 14 Jan 2014 20:15:53 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id D4C23B946; Tue, 14 Jan 2014 15:15:52 -0500 (EST) From: John Baldwin To: freebsd-hackers@freebsd.org, Nomad Esst Subject: Re: Access pci devices' serial numbers programmatically Date: Tue, 14 Jan 2014 08:24:03 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> <1389678825.62302.YahooMailNeo@web162702.mail.bf1.yahoo.com> <1389679735.19797.YahooMailNeo@web162702.mail.bf1.yahoo.com> In-Reply-To: <1389679735.19797.YahooMailNeo@web162702.mail.bf1.yahoo.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201401140824.03549.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 14 Jan 2014 15:15:53 -0500 (EST) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 20:15:54 -0000 On Tuesday, January 14, 2014 1:08:55 am Nomad Esst wrote: > Thank you. The thing is one of the input arguments of this function is device_t. How can I get this struct by device name so I can pass it to pci_get_vpd_readonly function? If you are in a device driver method such as probe or attach, you should already have the device_t available. Are you trying to query this from userland? -- John Baldwin From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 14 20:15:51 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9BBDCEB6 for ; Tue, 14 Jan 2014 20:15:51 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 743CD10A1 for ; Tue, 14 Jan 2014 20:15:51 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 77F3DB9C9; Tue, 14 Jan 2014 15:15:50 -0500 (EST) From: John Baldwin To: freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 Date: Tue, 14 Jan 2014 08:23:00 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <52CF850A.9060906@erdgeist.org> <52D4A3C9.50201@erdgeist.org> <52D4A63A.5040808@yahoo.com> In-Reply-To: <52D4A63A.5040808@yahoo.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201401140823.00259.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 14 Jan 2014 15:15:50 -0500 (EST) Cc: David Shane Holden X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 20:15:51 -0000 On Monday, January 13, 2014 9:51:38 pm David Shane Holden wrote: > On 01/13/14 21:41, Dirk Engling wrote: > > On 14.01.14 03:11, David Shane Holden wrote: > > > >> You're gonna love this... I've been able to reproduce your problem > >> with one of my boards. Looks like if you have AHCI disabled *and* > >> on-board audio disabled then this happens. So either re-enable > >> the on-board audio or switch to AHCI. > > > > Thank you, sir ;) > > > > Although enabling on board audio did not help, switching to AHCI did. > > Enjoying my home router again. > > > > Best, > > > > erdgeist _______________________________________________ > > freebsd-hackers@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To > > unsubscribe, send any mail to > > "freebsd-hackers-unsubscribe@freebsd.org" > > > > That's weird. It would work in IDE mode with audio or AHCI without > audio for me, just not in IDE without audio. Either way, glad it works > and if there's any devs who might have an idea what might cause this and > want me to do further testing just let me know, I've got one of these > boards doing nothing at the moment. It's a resource conflict in the BIOS-assigned resources. It would be really handy if you could get the output of 'devinfo -u' and 'devinfo -rv' when it works, and a verbose dmesg when it is broken. -- John Baldwin From owner-freebsd-hackers@FreeBSD.ORG Wed Jan 15 04:02:53 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE969694 for ; Wed, 15 Jan 2014 04:02:53 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AAFB611C4 for ; Wed, 15 Jan 2014 04:02:53 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W3Hgo-0008LN-PX for freebsd-hackers@freebsd.org; Wed, 15 Jan 2014 05:02:50 +0100 Received: from 97.96.39.205 ([97.96.39.205]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 15 Jan 2014 05:02:50 +0100 Received: from dpejesh by 97.96.39.205 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 15 Jan 2014 05:02:50 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-hackers@freebsd.org From: David Shane Holden Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 Date: Tue, 14 Jan 2014 23:02:36 -0500 Lines: 53 Message-ID: References: <52CF850A.9060906@erdgeist.org> <52D4A3C9.50201@erdgeist.org> <52D4A63A.5040808@yahoo.com> <201401140823.00259.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 97.96.39.205 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: <201401140823.00259.jhb@freebsd.org> X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jan 2014 04:02:54 -0000 On 01/14/14 08:23, John Baldwin wrote: > > It's a resource conflict in the BIOS-assigned resources. > > It would be really handy if you could get the output of 'devinfo -u' > and 'devinfo -rv' when it works, and a verbose dmesg when it is > broken. > So, I've been trying to understand what exactly is causing this, but since I'm no expert hopefully it makes sense to you. There appears to be a couple of issues here. I've uploaded a 'failed' and 'working' directory with diffs between them. The only thing I've changed between the two is to switch the chipset from IDE to AHCI in the BIOS and booting into a 10.0-RC5 install. https://googledrive.com/host/0B0OQnKtejJEMRTJCYlNyWnRLaW8/ The few things that I've noticed is that in IDE mode, the MAC address on the re0 interface seems to get munged. Even after switching it back to AHCI mode and hard resetting the machine the MAC will sometimes stick to the interface and the only way to get it to reset is to set the BIOS jumper on the motherboard. The way it munges it is somewhat interesting too. munged: ef:27:ad:09:ef:48 munged: ff:be:03:de:ff:be munged: 00:be:0e:de:f6:be actual: 00:27:0e:09:f6:48 -re0: Chip rev. 0x5c800000 -re0: MAC rev. 0x00200000 +re0: Chip rev. 0x28000000 +re0: MAC rev. 0x00100000 This here seems very unusual, which might be the root cause of the MAC problem. 0x5c800000 maps to RL_HWREV_8411B while 0x28000000 maps to RL_HWREV_8168D. So I'm guessing the driver is trying to use the card as if it's an 8411. It'll continue to somewhat work if it doesn't roll a multicast mac but it's still spotty. I don't see how this would cause all the pcib allocation failures though that are in the dmesg output. You mention that it's a resource conflict in the BIOS, but I'm not seeing where it could be. Could these allocation failures also explain why my Atheros card doesn't get assigned an irq? I'm all for chalking this up to a subpar BIOS that ships with this board, but if it might be a problem in FreeBSD that could rear its ugly head somewhere else I'd like to help track down what's causing it. I'll try to find some time to test a Debian live CD and see how Linux handles it tomorrow. From owner-freebsd-hackers@FreeBSD.ORG Wed Jan 15 05:26:28 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 821DE3A1 for ; Wed, 15 Jan 2014 05:26:28 +0000 (UTC) Received: from elektropost.org (elektropost.org [217.115.13.199]) by mx1.freebsd.org (Postfix) with ESMTP id C3A4C1833 for ; Wed, 15 Jan 2014 05:26:27 +0000 (UTC) Received: (qmail 5290 invoked from network); 15 Jan 2014 05:26:19 -0000 Received: from elektropost.org (HELO elektropost.org) (erdgeist@erdgeist.org) by elektropost.org with CAMELLIA256-SHA encrypted SMTP; 15 Jan 2014 05:26:19 -0000 Message-ID: <52D61BFA.1070205@erdgeist.org> Date: Wed, 15 Jan 2014 06:26:18 +0100 From: Dirk Engling User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: David Shane Holden , freebsd-hackers@freebsd.org Subject: Re: Atom Board ACPI API MOPNV10J failing since 9.1 References: <52CF850A.9060906@erdgeist.org> <52D4A3C9.50201@erdgeist.org> <52D4A63A.5040808@yahoo.com> <201401140823.00259.jhb@freebsd.org> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jan 2014 05:26:28 -0000 On 15.01.14 05:02, David Shane Holden wrote: > I'm all for chalking this up to a subpar BIOS that ships with this > board, but if it might be a problem in FreeBSD that could rear its ugly > head somewhere else I'd like to help track down what's causing it. I'll > try to find some time to test a Debian live CD and see how Linux handles > it tomorrow. Look no further than FreeBSD pre 9.1, where my system worked flawlessly for several years despite the on board audio and ACHI settings. It would be interesting to see what has changed between 9.0 and 9.1. Regards, erdgeist From owner-freebsd-hackers@FreeBSD.ORG Wed Jan 15 06:06:07 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7216E449 for ; Wed, 15 Jan 2014 06:06:07 +0000 (UTC) Received: from nm30-vm0.bullet.mail.bf1.yahoo.com (nm30-vm0.bullet.mail.bf1.yahoo.com [98.139.213.126]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1F69B1B36 for ; Wed, 15 Jan 2014 06:06:06 +0000 (UTC) Received: from [98.139.215.140] by nm30.bullet.mail.bf1.yahoo.com with NNFMP; 15 Jan 2014 06:06:00 -0000 Received: from [98.139.212.204] by tm11.bullet.mail.bf1.yahoo.com with NNFMP; 15 Jan 2014 06:06:00 -0000 Received: from [127.0.0.1] by omp1013.mail.bf1.yahoo.com with NNFMP; 15 Jan 2014 06:06:00 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 188097.76465.bm@omp1013.mail.bf1.yahoo.com Received: (qmail 4316 invoked by uid 60001); 15 Jan 2014 06:06:00 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1389765960; bh=H/JnV+87n2/4JLgOpiiqV+G//Ni7h1SnwlvQNeJkNHs=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=hC9vti3EiH61Xh9c00svrV1mfS5WU7MxDkgbaGhBh3nXWe1iI3q7K8ZnPxjhmI5BWQ88nTiUd3X6nKM57li5BETtCS5IHPIQ9bLAC9TXAp7/jd1XBLs/9cw+jnzEJNsGXwj1+P6szNoiDwSSOgu3VzvxV5hheTMm0kq5qIlnipE= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=BPV/yMtoIkrLH1Sl0+fQFmr8aSFeY48FaRP2woRXBMQjc5Kkmh3LqvLEQfnL+2skGrerhvmGlB0ORiwrc3l/ycXi1d3D4FeN5yJ43vwAyT4ABts3ZhiBdE0q91a9NFc8nsTPLrrikXI9Ldsesmmw+JcHQNm+wHHm3J10gSQbZWw=; X-YMail-OSG: 7KqDTnUVM1nnNnJiWuUoFjK6.SE9vQVxwaIeo0v9kqpvvQF dRzj6U.H9P2PRox8DmkqAkH_lq_KzwpLOHmB61aTV7BBhc6yjLFPZuSb_IsS c5BTBY0eKD1H5vHr8Bs52zo0RzAdT2FTZ0crX2k45IpeJlYDJ8L6z.5K06iO TcbZuxekaLA1kFvU6uPoIFEOvPBHQBuRavOnLWHrcSOzBI9yVhm7SegatypO 5ZqMJNDL_BINqf7Twq51ccTwrHXC5Q9Zi20xbd5MpTIUxE7VEBCTDZTQsI6v OoGpA5sIg.6X5XzcRV.lkhuC3EVvlEqkZpgCgnpCBkn1Dv4yhRdJo70lochI Kc8IZ4zj9Kp9Yk0XkHLvGqRR4s6W23zJOMcK_1LMHl_kvrAAmC4xdcRkWl6d jkFu03gQXXYm.j.laCBgKN1z.PsvdaNzLDGkEtrxPYxc5r6IZCNqRCXEmWFK BsMFBm4ljwckK3HPsJ4jM_VIBy6_f7G1hNnbtpgjVKCGQk5LWavh_kvvsX2l iYGLKoQdahy3Ul99X3w83 Received: from [89.165.120.140] by web162702.mail.bf1.yahoo.com via HTTP; Tue, 14 Jan 2014 22:05:59 PST X-Rocket-MIMEInfo: 002.001, WWVzIEknbSB0cnlpbmcgdG8gZ2V0IHRoZXNlIGluZm9ybWF0aW9uIGZyb20gdXNlci1sYW5kLiBBbnkgaWRlYXMgbm93PwoKCgpPbiBUdWVzZGF5LCBKYW51YXJ5IDE0LCAyMDE0IDQ6NTQgUE0sIEpvaG4gQmFsZHdpbiA8amhiQGZyZWVic2Qub3JnPiB3cm90ZToKIApPbiBUdWVzZGF5LCBKYW51YXJ5IDE0LCAyMDE0IDE6MDg6NTUgYW0gTm9tYWQgRXNzdCB3cm90ZToKPj4gVGhhbmsgeW91LiBUaGUgdGhpbmcgaXMgb25lIG9mIHRoZSBpbnB1dCBhcmd1bWVudHMgb2YgdGhpcyBmdW5jdGlvbiBpcyAKPmRldmkBMAEBAQE- X-Mailer: YahooMailWebService/0.8.172.614 References: <1389515545.51283.YahooMailNeo@web162704.mail.bf1.yahoo.com> <1389678825.62302.YahooMailNeo@web162702.mail.bf1.yahoo.com> <1389679735.19797.YahooMailNeo@web162702.mail.bf1.yahoo.com> <201401140824.03549.jhb@freebsd.org> Message-ID: <1389765959.45668.YahooMailNeo@web162702.mail.bf1.yahoo.com> Date: Tue, 14 Jan 2014 22:05:59 -0800 (PST) From: Nomad Esst Subject: Re: Access pci devices' serial numbers programmatically To: John Baldwin , "freebsd-hackers@freebsd.org" In-Reply-To: <201401140824.03549.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: Nomad Esst List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jan 2014 06:06:07 -0000 Yes I'm trying to get these information from user-land. Any ideas now?=0A= =0A=0A=0AOn Tuesday, January 14, 2014 4:54 PM, John Baldwin wrote:=0A =0AOn Tuesday, January 14, 2014 1:08:55 am Nomad Esst wrote:= =0A>> Thank you. The thing is one of the input arguments of this function i= s =0A>device_t. How can I get this struct by device name so I can pass it t= o =0A>pci_get_vpd_readonly function?=0A>=0A>If you are in a device driver m= ethod such as probe or attach, you should=0A>already have the device_t avai= lable.=A0 Are you trying to query this from=0A>userland?=0A>=0A>=0A>-- =0A>= John Baldwin=0A>=0A>=0A> From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 12:38:33 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DCD309C8 for ; Thu, 16 Jan 2014 12:38:33 +0000 (UTC) Received: from mta05.bitpro.no (mta05.bitpro.no [92.42.64.202]) by mx1.freebsd.org (Postfix) with ESMTP id 979D2140F for ; Thu, 16 Jan 2014 12:38:33 +0000 (UTC) Received: from mail.lockless.no (mail.lockless.no [46.29.221.38]) by mta05.bitpro.no (Postfix) with ESMTPS id 584A517FCA1 for ; Thu, 16 Jan 2014 13:38:25 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id E04688EEB8D for ; Thu, 16 Jan 2014 13:39:13 +0100 (CET) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at lockless.no Received: from mail.lockless.no ([127.0.0.1]) by localhost (mail.lockless.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iKBA7h0sLGuS for ; Thu, 16 Jan 2014 13:39:13 +0100 (CET) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) by mail.lockless.no (Postfix) with ESMTPSA id 4DDB48EE2AF for ; Thu, 16 Jan 2014 13:39:13 +0100 (CET) Message-ID: <52D7D302.3090403@bitfrost.no> Date: Thu, 16 Jan 2014 13:39:30 +0100 From: Hans Petter Selasky Organization: Bitfrost A/S User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "freebsd-hackers@freebsd.org" Subject: Make "sys/queue.h" usable with C++ Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 12:38:33 -0000 Hi, I'm using "sys/queue.h" with some C++ programs. The only problem is that you cannot make an ENTRY() using classes without getting some compiler warnings, because all macros in "sys/queue.h" assume "struct". My simple patch is to add something like: #ifdef "C++" #define QUEUE_STRUCT #else #define QUEUE_STRUCT struct #endif And use QUEUE_STRUCT instead of "struct" everywhere inside "sys/queue.h". Any opinions about this? --HPS From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 14:05:31 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 79907B78 for ; Thu, 16 Jan 2014 14:05:31 +0000 (UTC) Received: from smtp.vangyzen.net (hotblack.vangyzen.net [IPv6:2607:fc50:1000:7400:216:3eff:fe72:314f]) by mx1.freebsd.org (Postfix) with ESMTP id 531551FBC for ; Thu, 16 Jan 2014 14:05:31 +0000 (UTC) Received: from latitude.home.vangyzen.net (localhost [127.0.0.1]) by smtp.vangyzen.net (Postfix) with ESMTP id C6EB756436; Thu, 16 Jan 2014 08:05:29 -0600 (CST) Message-ID: <52D7E728.1010606@vangyzen.net> Date: Thu, 16 Jan 2014 08:05:28 -0600 From: Eric van Gyzen User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Hans Petter Selasky , "freebsd-hackers@freebsd.org" Subject: Re: Make "sys/queue.h" usable with C++ References: <52D7D302.3090403@bitfrost.no> In-Reply-To: <52D7D302.3090403@bitfrost.no> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 14:05:31 -0000 On 01/16/2014 06:39 AM, Hans Petter Selasky wrote: > Hi, > > I'm using "sys/queue.h" with some C++ programs. The only problem is that > you cannot make an ENTRY() using classes without getting some compiler > warnings, because all macros in "sys/queue.h" assume "struct". > > My simple patch is to add something like: > > #ifdef "C++" > #define QUEUE_STRUCT > #else > #define QUEUE_STRUCT struct > #endif > > And use QUEUE_STRUCT instead of "struct" everywhere inside > "sys/queue.h". Any opinions about this? Sounds great to me...not that my opinion matters much. :) I expect you will want to use "#ifdef __cplusplus". Eric From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 14:18:28 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A45B09D0 for ; Thu, 16 Jan 2014 14:18:28 +0000 (UTC) Received: from mta04.bitpro.no (mta04.bitpro.no [92.42.64.203]) by mx1.freebsd.org (Postfix) with ESMTP id 5F788110E for ; Thu, 16 Jan 2014 14:18:28 +0000 (UTC) Received: from mail.lockless.no (mail.lockless.no [46.29.221.38]) by mta04.bitpro.no (Postfix) with ESMTPS id 87E111002B7; Thu, 16 Jan 2014 15:01:23 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id E14648EFB4A; Thu, 16 Jan 2014 15:02:11 +0100 (CET) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at lockless.no Received: from mail.lockless.no ([127.0.0.1]) by localhost (mail.lockless.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a3l+MwkTupJ1; Thu, 16 Jan 2014 15:02:11 +0100 (CET) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) by mail.lockless.no (Postfix) with ESMTPSA id 04B898EFB44; Thu, 16 Jan 2014 15:02:10 +0100 (CET) Message-ID: <52D7E674.4010501@bitfrost.no> Date: Thu, 16 Jan 2014 15:02:28 +0100 From: Hans Petter Selasky Organization: Bitfrost A/S User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Poul-Henning Kamp Subject: Re: Make "sys/queue.h" usable with C++ References: <52D7D302.3090403@bitfrost.no> <1679.1389879981@critter.freebsd.dk> In-Reply-To: <1679.1389879981@critter.freebsd.dk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 14:18:28 -0000 Hi Paul-Henning, On 01/16/14 14:46, Poul-Henning Kamp wrote: > In message <52D7D302.3090403@bitfrost.no>, Hans Petter Selasky writes: >> Hi, >> >> I'm using "sys/queue.h" with some C++ programs. The only problem is that >> you cannot make an ENTRY() using classes without getting some compiler >> warnings, because all macros in "sys/queue.h" assume "struct". > > I came >< this close to removing the assumed struct many years ago > when I orthogonalized sys/queue.h, but were persuaded by others that > it was pointless and that nobody were ever going to use it with C++ > anyway, C++ being so much more evolved in such aspects :-) > Pointless ... hmm. After I've been programming some years in the kernel, I see no better way to make linked lists than using the macros inside "sys/queue.h". I love em. They are simple and straight forward. And gives you the flexibility of choosing the list type. Even GDB can be made to understand them. In my current code I simply: #define struct TAILQ_XXX() #undef struct And that works the few places I need it. > Wouldn't > > #ifndef SYS_QUEUE_STRUCT > # define SYS_QUEUE_STRUCT struct > #endif > > Make more sense ? That's a valid possibility too. I would suggest stripping the SYS_ prefix because the queue file can reside other places too. Or make one macro for each list type? #ifndef TAILQ_STRUCT #define TAILQ_STRUCT struct #endif #ifndef LIST_STRUCT #define LIST_STRUCT struct #endif and so on? > > That would allow C code to also make the struct explicit. > Or for allowing typedef'ed structures. Will you make a patch for it? Another question: Who will distribute the queue.h updates to Linux and other OS'es. I see the Linux's sys/queue.h is already a bit behind ours. --HPS From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 13:46:28 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F2EB431B for ; Thu, 16 Jan 2014 13:46:28 +0000 (UTC) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id B7F251E4A for ; Thu, 16 Jan 2014 13:46:28 +0000 (UTC) Received: from critter.freebsd.dk (critter-phk.freebsd.dk [192.168.48.2]) by phk.freebsd.dk (Postfix) with ESMTP id AA0903EB93; Thu, 16 Jan 2014 13:46:21 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.14.7/8.14.7) with ESMTP id s0GDkL6P001680; Thu, 16 Jan 2014 13:46:21 GMT (envelope-from phk@phk.freebsd.dk) To: Hans Petter Selasky Subject: Re: Make "sys/queue.h" usable with C++ In-reply-to: <52D7D302.3090403@bitfrost.no> From: "Poul-Henning Kamp" References: <52D7D302.3090403@bitfrost.no> Content-Type: text/plain; charset=ISO-8859-1 Date: Thu, 16 Jan 2014 13:46:21 +0000 Message-ID: <1679.1389879981@critter.freebsd.dk> X-Mailman-Approved-At: Thu, 16 Jan 2014 16:33:06 +0000 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 13:46:29 -0000 In message <52D7D302.3090403@bitfrost.no>, Hans Petter Selasky writes: >Hi, > >I'm using "sys/queue.h" with some C++ programs. The only problem is that >you cannot make an ENTRY() using classes without getting some compiler >warnings, because all macros in "sys/queue.h" assume "struct". I came >< this close to removing the assumed struct many years ago when I orthogonalized sys/queue.h, but were persuaded by others that it was pointless and that nobody were ever going to use it with C++ anyway, C++ being so much more evolved in such aspects :-) Wouldn't #ifndef SYS_QUEUE_STRUCT # define SYS_QUEUE_STRUCT struct #endif Make more sense ? That would allow C code to also make the struct explicit. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 14:18:31 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E49859D1 for ; Thu, 16 Jan 2014 14:18:31 +0000 (UTC) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) by mx1.freebsd.org (Postfix) with ESMTP id A90BB110F for ; Thu, 16 Jan 2014 14:18:31 +0000 (UTC) Received: from critter.freebsd.dk (critter-phk.freebsd.dk [192.168.48.2]) by phk.freebsd.dk (Postfix) with ESMTP id B6FB93EB38; Thu, 16 Jan 2014 14:18:30 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.14.7/8.14.7) with ESMTP id s0GEIU2i016418; Thu, 16 Jan 2014 14:18:30 GMT (envelope-from phk@phk.freebsd.dk) To: Hans Petter Selasky Subject: Re: Make "sys/queue.h" usable with C++ In-reply-to: <52D7E674.4010501@bitfrost.no> From: "Poul-Henning Kamp" References: <52D7D302.3090403@bitfrost.no> <1679.1389879981@critter.freebsd.dk> <52D7E674.4010501@bitfrost.no> Content-Type: text/plain; charset=ISO-8859-1 Date: Thu, 16 Jan 2014 14:18:30 +0000 Message-ID: <16417.1389881910@critter.freebsd.dk> X-Mailman-Approved-At: Thu, 16 Jan 2014 16:33:16 +0000 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 14:18:32 -0000 In message <52D7E674.4010501@bitfrost.no>, Hans Petter Selasky writes: >Or make one macro for each list type? > >#ifndef TAILQ_STRUCT >#define TAILQ_STRUCT struct >#endif > >#ifndef LIST_STRUCT >#define LIST_STRUCT struct >#endif > >and so on? lets not overthink this :-) -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 16 16:48:44 2014 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 47762FD3 for ; Thu, 16 Jan 2014 16:48:44 +0000 (UTC) Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 18FB91F40 for ; Thu, 16 Jan 2014 16:48:43 +0000 (UTC) Received: from c-24-8-230-52.hsd1.co.comcast.net ([24.8.230.52] helo=damnhippie.dyndns.org) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1W3q7R-000Hkh-Ir; Thu, 16 Jan 2014 16:48:37 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id s0GGmYRU040765; Thu, 16 Jan 2014 09:48:34 -0700 (MST) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 24.8.230.52 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1/Zo9+krBnpLlcyhH16OPie Subject: Re: Make "sys/queue.h" usable with C++ From: Ian Lepore To: Poul-Henning Kamp In-Reply-To: <16417.1389881910@critter.freebsd.dk> References: <52D7D302.3090403@bitfrost.no> <1679.1389879981@critter.freebsd.dk> <52D7E674.4010501@bitfrost.no> <16417.1389881910@critter.freebsd.dk> Content-Type: text/plain; charset="us-ascii" Date: Thu, 16 Jan 2014 09:48:33 -0700 Message-ID: <1389890913.1230.64.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: Hans Petter Selasky , "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 16:48:44 -0000 On Thu, 2014-01-16 at 14:18 +0000, Poul-Henning Kamp wrote: > In message <52D7E674.4010501@bitfrost.no>, Hans Petter Selasky writes: > > >Or make one macro for each list type? > > > >#ifndef TAILQ_STRUCT > >#define TAILQ_STRUCT struct > >#endif > > > >#ifndef LIST_STRUCT > >#define LIST_STRUCT struct > >#endif > > > >and so on? > > lets not overthink this :-) > > Given how nearly synonymous 'class' and 'struct' are in C++, would a viable solution to this be dealing with it wholly within the application space? That is, if you want an object to be a list entry, declare it as a struct instead of a class, and make whatever bits of it private that you want rather than relying on the default privateness you get with class. You can also define a trivial wrapper struct around a class, class Foo { ... }; struct FooEntry : public Foo {}; But of course that leaves you needing to write ctors and dtors at least for the FooEntry. Then of course there's the whole world of templatized solutions, something along the lines of template struct ListEntry { /* list fields */ /* operator overload functions to convert a ListEntry * to a reference/pointer to T */ }; class Foo : public ListEntry { ... }; If it were me, I'd probably use the template solution. (Actually, if it were me, I'd use STL containers, not try to wedge primitive C-language invasive list management code into C++ objects.) -- Ian From owner-freebsd-hackers@FreeBSD.ORG Fri Jan 17 05:39:57 2014 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 595FACCA; Fri, 17 Jan 2014 05:39:57 +0000 (UTC) Received: from mta05.bitpro.no (mta05.bitpro.no [92.42.64.202]) by mx1.freebsd.org (Postfix) with ESMTP id C38C61FCE; Fri, 17 Jan 2014 05:39:56 +0000 (UTC) Received: from mail.lockless.no (mail.lockless.no [46.29.221.38]) by mta05.bitpro.no (Postfix) with ESMTPS id 0DB4017FD08; Fri, 17 Jan 2014 06:39:53 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id 98DF98F686A; Fri, 17 Jan 2014 06:40:42 +0100 (CET) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at lockless.no Received: from mail.lockless.no ([127.0.0.1]) by localhost (mail.lockless.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EYnTBAJmUgej; Fri, 17 Jan 2014 06:40:40 +0100 (CET) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) by mail.lockless.no (Postfix) with ESMTPSA id 81EE48F602A; Fri, 17 Jan 2014 06:40:40 +0100 (CET) Message-ID: <52D8C268.1080009@bitfrost.no> Date: Fri, 17 Jan 2014 06:40:56 +0100 From: Hans Petter Selasky Organization: Bitfrost A/S User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Ian Lepore , Poul-Henning Kamp Subject: Re: Make "sys/queue.h" usable with C++ References: <52D7D302.3090403@bitfrost.no> <1679.1389879981@critter.freebsd.dk> <52D7E674.4010501@bitfrost.no> <16417.1389881910@critter.freebsd.dk> <1389890913.1230.64.camel@revolution.hippie.lan> In-Reply-To: <1389890913.1230.64.camel@revolution.hippie.lan> Content-Type: multipart/mixed; boundary="------------010008020906000207020705" X-Mailman-Approved-At: Fri, 17 Jan 2014 05:48:35 +0000 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jan 2014 05:39:57 -0000 This is a multi-part message in MIME format. --------------010008020906000207020705 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 01/16/14 17:48, Ian Lepore wrote: > On Thu, 2014-01-16 at 14:18 +0000, Poul-Henning Kamp wrote: >> In message <52D7E674.4010501@bitfrost.no>, Hans Petter Selasky writes: >> Please find attached a proposal for implementation. Remember that queue macros can be used inside extern "C" code and then a global struct define won't work. --HPS --------------010008020906000207020705 Content-Type: text/x-patch; name="queue.h.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="queue.h.diff" === ./queue.h ================================================================== --- ./queue.h (revision 260626) +++ ./queue.h (local) @@ -79,8 +79,10 @@ * * SLIST LIST STAILQ TAILQ * _HEAD + + + + + * _HEAD_TD + + + + * _HEAD_INITIALIZER + + + + * _ENTRY + + + + + * _ENTRY_TD + + + + * _INIT + + + + * _EMPTY + + + + * _FIRST + + + + @@ -146,17 +148,23 @@ /* * Singly-linked List declarations. */ -#define SLIST_HEAD(name, type) \ +#define SLIST_HEAD(name, type) \ + SLIST_HEAD_TD(name, struct type) + +#define SLIST_HEAD_TD(name, type) \ struct name { \ - struct type *slh_first; /* first element */ \ + type *slh_first; /* first element */ \ } #define SLIST_HEAD_INITIALIZER(head) \ { NULL } -#define SLIST_ENTRY(type) \ +#define SLIST_ENTRY(type) \ + SLIST_ENTRY_TD(struct type) + +#define SLIST_ENTRY_TD(type) \ struct { \ - struct type *sle_next; /* next element */ \ + type *sle_next; /* next element */ \ } /* @@ -213,7 +221,8 @@ SLIST_REMOVE_HEAD((head), field); \ } \ else { \ - struct type *curelm = SLIST_FIRST((head)); \ + __typeof(SLIST_FIRST(head)) curelm = \ + SLIST_FIRST(head); \ while (SLIST_NEXT(curelm, field) != (elm)) \ curelm = SLIST_NEXT(curelm, field); \ SLIST_REMOVE_AFTER(curelm, field); \ @@ -231,7 +240,7 @@ } while (0) #define SLIST_SWAP(head1, head2, type) do { \ - struct type *swap_first = SLIST_FIRST(head1); \ + __typeof(SLIST_FIRST(head1)) *swap_first = SLIST_FIRST(head1); \ SLIST_FIRST(head1) = SLIST_FIRST(head2); \ SLIST_FIRST(head2) = swap_first; \ } while (0) @@ -239,18 +248,24 @@ /* * Singly-linked Tail queue declarations. */ -#define STAILQ_HEAD(name, type) \ +#define STAILQ_HEAD(name, type) \ + STAILQ_HEAD_TD(name, struct type) + +#define STAILQ_HEAD_TD(name, type) \ struct name { \ - struct type *stqh_first;/* first element */ \ - struct type **stqh_last;/* addr of last next element */ \ + type *stqh_first;/* first element */ \ + type **stqh_last;/* addr of last next element */ \ } #define STAILQ_HEAD_INITIALIZER(head) \ { NULL, &(head).stqh_first } -#define STAILQ_ENTRY(type) \ +#define STAILQ_ENTRY(type) \ + STAILQ_ENTRY_TD(struct type) + +#define STAILQ_ENTRY_TD(type) \ struct { \ - struct type *stqe_next; /* next element */ \ + type *stqe_next; /* next element */ \ } /* @@ -313,7 +328,8 @@ #define STAILQ_LAST(head, type, field) \ (STAILQ_EMPTY((head)) ? NULL : \ - __containerof((head)->stqh_last, struct type, field.stqe_next)) + __containerof((head)->stqh_last, \ + __typeof(field.stqe_next[0]), field.stqe_next)) #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) @@ -323,7 +339,8 @@ STAILQ_REMOVE_HEAD((head), field); \ } \ else { \ - struct type *curelm = STAILQ_FIRST((head)); \ + __typeof(STAILQ_FIRST(head)) curelm = \ + STAILQ_FIRST(head); \ while (STAILQ_NEXT(curelm, field) != (elm)) \ curelm = STAILQ_NEXT(curelm, field); \ STAILQ_REMOVE_AFTER(head, curelm, field); \ @@ -344,8 +361,8 @@ } while (0) #define STAILQ_SWAP(head1, head2, type) do { \ - struct type *swap_first = STAILQ_FIRST(head1); \ - struct type **swap_last = (head1)->stqh_last; \ + __typeof(STAILQ_FIRST(head1)) swap_first = STAILQ_FIRST(head1); \ + __typeof((head1)->stqh_last) swap_last = (head1)->stqh_last; \ STAILQ_FIRST(head1) = STAILQ_FIRST(head2); \ (head1)->stqh_last = (head2)->stqh_last; \ STAILQ_FIRST(head2) = swap_first; \ @@ -360,18 +377,24 @@ /* * List declarations. */ -#define LIST_HEAD(name, type) \ +#define LIST_HEAD(name, type) \ + LIST_HEAD_TD(name, struct type) + +#define LIST_HEAD_TD(name, type) \ struct name { \ - struct type *lh_first; /* first element */ \ + type *lh_first; /* first element */ \ } #define LIST_HEAD_INITIALIZER(head) \ { NULL } -#define LIST_ENTRY(type) \ +#define LIST_ENTRY(type) \ + LIST_ENTRY_TD(struct type) + +#define LIST_ENTRY_TD(type) \ struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ + type *le_next; /* next element */ \ + type **le_prev; /* address of previous next element */ \ } /* @@ -460,7 +483,8 @@ #define LIST_PREV(elm, head, type, field) \ ((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL : \ - __containerof((elm)->field.le_prev, struct type, field.le_next)) + __containerof((elm)->field.le_prev, \ + __typeof(field.le_next[0]), field.le_next)) #define LIST_REMOVE(elm, field) do { \ QMD_SAVELINK(oldnext, (elm)->field.le_next); \ @@ -476,7 +500,7 @@ } while (0) #define LIST_SWAP(head1, head2, type, field) do { \ - struct type *swap_tmp = LIST_FIRST((head1)); \ + __typeof(LIST_FIRST(head1)) swap_tmp = LIST_FIRST(head1); \ LIST_FIRST((head1)) = LIST_FIRST((head2)); \ LIST_FIRST((head2)) = swap_tmp; \ if ((swap_tmp = LIST_FIRST((head1))) != NULL) \ @@ -488,10 +512,13 @@ /* * Tail queue declarations. */ -#define TAILQ_HEAD(name, type) \ +#define TAILQ_HEAD(name, type) \ + TAILQ_HEAD_TD(name, struct type) + +#define TAILQ_HEAD_TD(name, type) \ struct name { \ - struct type *tqh_first; /* first element */ \ - struct type **tqh_last; /* addr of last next element */ \ + type *tqh_first; /* first element */ \ + type **tqh_last; /* addr of last next element */ \ TRACEBUF \ } @@ -498,10 +525,13 @@ #define TAILQ_HEAD_INITIALIZER(head) \ { NULL, &(head).tqh_first, TRACEBUF_INITIALIZER } -#define TAILQ_ENTRY(type) \ +#define TAILQ_ENTRY(type) \ + TAILQ_ENTRY_TD(struct type) + +#define TAILQ_ENTRY_TD(type) \ struct { \ - struct type *tqe_next; /* next element */ \ - struct type **tqe_prev; /* address of previous next element */ \ + type *tqe_next; /* next element */ \ + type **tqe_prev; /* address of previous next element */ \ TRACEBUF \ } @@ -649,13 +679,16 @@ } while (0) #define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) + (*(((__typeof(head))((head)->tqh_last))->tqh_last)) #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) #define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) + TAILQ_PREV_TD(elm, struct headname, field) +#define TAILQ_PREV_TD(elm, headname, field) \ + (*(((headname *)((elm)->field.tqe_prev))->tqh_last)) + #define TAILQ_REMOVE(head, elm, field) do { \ QMD_SAVELINK(oldnext, (elm)->field.tqe_next); \ QMD_SAVELINK(oldprev, (elm)->field.tqe_prev); \ @@ -675,8 +708,8 @@ } while (0) #define TAILQ_SWAP(head1, head2, type, field) do { \ - struct type *swap_first = (head1)->tqh_first; \ - struct type **swap_last = (head1)->tqh_last; \ + __typeof((head1)->tqh_first) swap_first = (head1)->tqh_first; \ + __typeof((head1)->tqh_last) swap_last = (head1)->tqh_last; \ (head1)->tqh_first = (head2)->tqh_first; \ (head1)->tqh_last = (head2)->tqh_last; \ (head2)->tqh_first = swap_first; \ --------------010008020906000207020705-- From owner-freebsd-hackers@FreeBSD.ORG Fri Jan 17 11:20:18 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7E972790; Fri, 17 Jan 2014 11:20:18 +0000 (UTC) Received: from mail-pa0-x233.google.com (mail-pa0-x233.google.com [IPv6:2607:f8b0:400e:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 528911830; Fri, 17 Jan 2014 11:20:18 +0000 (UTC) Received: by mail-pa0-f51.google.com with SMTP id ld10so1687583pab.38 for ; Fri, 17 Jan 2014 03:20:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=tDO4V0TTaqxErHOXSFnyIghd2/W6XcJS7dt9QDDZixQ=; b=TtKsmjH5ZEUQX7W1haDuB1FkyS20LDSV+etIWj7+poCAaTn7s+bY3DwodFIcJojpkV /E4ysoYdjuGRZGMfOXAtIifB8UsDuRRNp+ViBnzActqSV0xyUaf1n8YFnL49OmIuLUY0 fQJwgxauKykgM9qJ6VNA4gt81o+JTqS+RrxTiyWtfNTQIqwCkki3QnBW1rWD4CAwybub xuLOeKU8GhuLZmzpCzJdNYFl2VVCHYCpzxeK3bUGC58MxTBrxrUEGF43II+b5hmJ+PvT WOe0FOvdfYtOl9JnTQJOwLqZfoj16E+eFxvdJc4wxyCQsLbLzZ5xzTYAhg/Ubw68uHF7 M1eg== MIME-Version: 1.0 X-Received: by 10.66.179.143 with SMTP id dg15mr1561159pac.52.1389957617732; Fri, 17 Jan 2014 03:20:17 -0800 (PST) Received: by 10.68.185.130 with HTTP; Fri, 17 Jan 2014 03:20:17 -0800 (PST) Date: Fri, 17 Jan 2014 06:20:17 -0500 Message-ID: Subject: emulators/petitecloud 0.2.1 available From: Aryeh Friedman To: "freebsd-virtualization@freebsd.org" , FreeBSD Mailing List Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jan 2014 11:20:18 -0000 PetiteCloud is a HyperVisor frontend for BSD. It has the following features: * Support for bhyve and QEMU. * Any x86 OS as a guest (tested only on QEMU) * Install, import, start, stop and reboot instances safely (guest OS needs to be controlled independently) * Clone, backup/export, delete stopped instances 100% safely * Keep track of all your instances on one screen * All transactions that change instance state are password protected at all critical stages * A growing number of general purpose and specialized instances/applications are available for PetiteCloud What's new in 0.2.1: * QEMU support * Several bugs related to resource limits and the WebUI were fixed For more info see http://www.petitecloud.org P.S. Support for QEMU does not diminish our support for Bhyve. Our experience with QEMU in fact shows that Bhyve is on the right track. Note also that Bhyve is and will remain our prefered HyperVisor for testing PetiteCloud (PetiteCloud is developed on a PetiteCloud instance that uses Bhyve). We will be posting in the next few days a comparison between the two. We will also point out what features we feel Bhyve needs to compete with QEMU in all areas. -- Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org From owner-freebsd-hackers@FreeBSD.ORG Fri Jan 17 16:30:20 2014 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 557E1671; Fri, 17 Jan 2014 16:30:20 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2C1F01322; Fri, 17 Jan 2014 16:30:19 +0000 (UTC) Received: from [192.168.2.102] (p5DD7D483.dip0.t-ipconnect.de [93.215.212.131]) (authenticated bits=0) by vps1.elischer.org (8.14.7/8.14.7) with ESMTP id s0HGUClq077599 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 17 Jan 2014 08:30:13 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <52D95A8E.3000006@freebsd.org> Date: Fri, 17 Jan 2014 17:30:06 +0100 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Hans Petter Selasky , Ian Lepore , Poul-Henning Kamp Subject: Re: Make "sys/queue.h" usable with C++ References: <52D7D302.3090403@bitfrost.no> <1679.1389879981@critter.freebsd.dk> <52D7E674.4010501@bitfrost.no> <16417.1389881910@critter.freebsd.dk> <1389890913.1230.64.camel@revolution.hippie.lan> <52D8C268.1080009@bitfrost.no> In-Reply-To: <52D8C268.1080009@bitfrost.no> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jan 2014 16:30:20 -0000 On 1/17/14, 6:40 AM, Hans Petter Selasky wrote: > On 01/16/14 17:48, Ian Lepore wrote: >> On Thu, 2014-01-16 at 14:18 +0000, Poul-Henning Kamp wrote: >>> In message <52D7E674.4010501@bitfrost.no>, Hans Petter Selasky >>> writes: >>> > > Please find attached a proposal for implementation. Remember that > queue macros can be used inside extern "C" code and then a global > struct define won't work. > at least as shown on my screen, you've broken all the alignment for the "\" continuations. not commenting on the content as I don't use C++ enough. > --HPS > > > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"