From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E332C48BE5 for ; Tue, 22 Jun 2021 19:21:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E28E861351 for ; Tue, 22 Jun 2021 19:21:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232021AbhFVTXk (ORCPT ); Tue, 22 Jun 2021 15:23:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56514 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229786AbhFVTXj (ORCPT ); Tue, 22 Jun 2021 15:23:39 -0400 Received: from mail-ot1-x32a.google.com (mail-ot1-x32a.google.com [IPv6:2607:f8b0:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56A61C061574 for ; Tue, 22 Jun 2021 12:21:22 -0700 (PDT) Received: by mail-ot1-x32a.google.com with SMTP id 7-20020a9d0d070000b0290439abcef697so22319601oti.2 for ; Tue, 22 Jun 2021 12:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=e5CaOZBOftVhbkEerPYPtaLJCTi7dkW17rRGwPvuHPJJoz1+U4machk4c/sWYYds9F ix+7YOv/rHYeIbZ5mOBktSK7y1oi02liHSKSjMkzWSsFNHipPhBp/d7g5CMC1O/Zq8dO aKmYXEe0vLST278s3JBJERKtZVE+IDiO8pDyQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=jvMKxQy9JH60SbfT9sITfItWc0U5mYfWe5Gsl3LASeGLLtVB/umqE/sCRCI0QzFjfk K9u6iC8DfwSjQcy7zW7Xsj3gF8JpiKrp/73XN9zi39zjKQJPoEpDAWXYdjOs3EvDcnD9 NWv3j7FrmpGB89Xz+8BSY6V4ubCeleHZlg3nEmYCIjQvrcA7x+QRV/jsSN+umRbgdPPP CeOGuYuMcuhnEZ4e5Axr+Mi2lTsTnzULeOXHPRTCmRaKFsopqB1I7E/oo+oUp4I3OcuC +w2owNYDcJWzbuyMqoULLpOyr4xhCLUE4jyAXs4cvIva72tzDUjn7dyZ2b7VS80uZu/y NGWA== X-Gm-Message-State: AOAM533CvcdpjZ6FshDEboxBJglDtYt6SVxfbJfre9rkWkQ/3413TM94 nScjZbOQFprubo5OXxMbeBsh31KOxeScIE/bDZ3foA== X-Google-Smtp-Source: ABdhPJxEjFo8oIALPvZRWajZYHHD9+zYYML42DA/uD7PRo7j950Ok3AXzR/g8ARzZSUBUYI2JILIZh+XPK5Vw12qP60= X-Received: by 2002:a9d:12eb:: with SMTP id g98mr4360330otg.303.1624389681754; Tue, 22 Jun 2021 12:21:21 -0700 (PDT) MIME-Version: 1.0 References: <20210622165511.3169559-1-daniel.vetter@ffwll.ch> <20210622165511.3169559-3-daniel.vetter@ffwll.ch> In-Reply-To: From: Daniel Vetter Date: Tue, 22 Jun 2021 21:21:10 +0200 Message-ID: Subject: Re: [PATCH 02/15] dma-buf: Switch to inline kerneldoc To: Sam Ravnborg Cc: DRI Development , Deepak R Varma , Intel Graphics Development , Kevin Wang , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Nirmoy Das , Chen Li , Dave Airlie , Alex Deucher , Daniel Vetter , =?UTF-8?Q?Christian_K=C3=B6nig?= , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org On Tue, Jun 22, 2021 at 9:01 PM Sam Ravnborg wrote: > > Hi Daniel. > > On Tue, Jun 22, 2021 at 06:54:58PM +0200, Daniel Vetter wrote: > > Also review & update everything while we're at it. > > > > This is prep work to smash a ton of stuff into the kerneldoc for > > @resv. > > > > Signed-off-by: Daniel Vetter > > Cc: Sumit Semwal > > Cc: "Christian K=C3=B6nig" > > Cc: Alex Deucher > > Cc: Daniel Vetter > > Cc: Dave Airlie > > Cc: Nirmoy Das > > Cc: Deepak R Varma > > Cc: Chen Li > > Cc: Kevin Wang > > Cc: linux-media@vger.kernel.org > > Cc: linaro-mm-sig@lists.linaro.org > > --- > > include/linux/dma-buf.h | 107 +++++++++++++++++++++++++++++++--------- > > 1 file changed, 83 insertions(+), 24 deletions(-) > > > > diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > > index 92eec38a03aa..6d18b9e448b9 100644 > > --- a/include/linux/dma-buf.h > > +++ b/include/linux/dma-buf.h > > @@ -289,28 +289,6 @@ struct dma_buf_ops { > > > > /** > > * struct dma_buf - shared buffer object > > - * @size: size of the buffer; invariant over the lifetime of the buffe= r. > > - * @file: file pointer used for sharing buffers across, and for refcou= nting. > > - * @attachments: list of dma_buf_attachment that denotes all devices a= ttached, > > - * protected by dma_resv lock. > > - * @ops: dma_buf_ops associated with this buffer object. > > - * @lock: used internally to serialize list manipulation, attach/detac= h and > > - * vmap/unmap > > - * @vmapping_counter: used internally to refcnt the vmaps > > - * @vmap_ptr: the current vmap ptr if vmapping_counter > 0 > > - * @exp_name: name of the exporter; useful for debugging. > > - * @name: userspace-provided name; useful for accounting and debugging= , > > - * protected by @resv. > > - * @name_lock: spinlock to protect name access > > - * @owner: pointer to exporter module; used for refcounting when expor= ter is a > > - * kernel module. > > - * @list_node: node for dma_buf accounting and debugging. > > - * @priv: exporter specific private data for this buffer object. > > - * @resv: reservation object linked to this dma-buf > > - * @poll: for userspace poll support > > - * @cb_excl: for userspace poll support > > - * @cb_shared: for userspace poll support > > - * @sysfs_entry: for exposing information about this buffer in sysfs. > > This sentence > > * The attachment_uid member of @sysfs_entry is protected by dma_resv = lock > > * and is incremented on each attach. > belongs to the paragraph describing sysfs_entry and should be moved too. > Or maybe reworded and then document all fields in dma_buf_sysfs_entry? Unfortunately kerneldoc lost the ability to document embedded structs/unions. At least last time I checked, it's a bit a bikeshed. So I'd need to pull the entire struct out. I'll just move it since it's indeed misplaced. > With this fixed: > Acked-by: Sam Ravnborg Thanks for taking a look. -Daniel --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CAE55C2B9F4 for ; Tue, 22 Jun 2021 19:21:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8DCED601FE for ; Tue, 22 Jun 2021 19:21:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8DCED601FE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0337C6E156; Tue, 22 Jun 2021 19:21:23 +0000 (UTC) Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com [IPv6:2607:f8b0:4864:20::335]) by gabe.freedesktop.org (Postfix) with ESMTPS id 648636E156 for ; Tue, 22 Jun 2021 19:21:22 +0000 (UTC) Received: by mail-ot1-x335.google.com with SMTP id v22-20020a0568301416b029044e2d8e855eso13106858otp.8 for ; Tue, 22 Jun 2021 12:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=e5CaOZBOftVhbkEerPYPtaLJCTi7dkW17rRGwPvuHPJJoz1+U4machk4c/sWYYds9F ix+7YOv/rHYeIbZ5mOBktSK7y1oi02liHSKSjMkzWSsFNHipPhBp/d7g5CMC1O/Zq8dO aKmYXEe0vLST278s3JBJERKtZVE+IDiO8pDyQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=PeLfH/mXlLWIInz2hna6o4SBY0Gw2THfYah3g/AWr8nMebtuiPyBhEz+jDyPrvhguF pcSw8YhzDHdMSVngQ8XWbaDc81BooqdsSOnFKNl5KixiPQ17Z/dXp/oMyWbz0/D6GmoH V70nc9cyuT1K5fyayJEQ2DUpx0WFfPr8YWTBB8/mtFO9OLClXPshPAj/FLemVfnDoB34 vrL50jBOnwr1bj2un0sUId9LURoqjBjEtprgVT4T7YNtsR2bj88jUU1pVOwhEouUz+H2 a8CqXXh7d9QR7FfpMraY2cpgqTesPwVw4zWT6lESq0G0it/BKZURqI4/bUlu9SWTIqJp NxCg== X-Gm-Message-State: AOAM530acezIoh4XHnbQAhJIBc85fBUX61ttgfOJHesE9McuxMfcESvu q094EU6hChbJHD/N2qUiRH3p/XegY0nuDKTKK2iaETcKsCg= X-Google-Smtp-Source: ABdhPJxEjFo8oIALPvZRWajZYHHD9+zYYML42DA/uD7PRo7j950Ok3AXzR/g8ARzZSUBUYI2JILIZh+XPK5Vw12qP60= X-Received: by 2002:a9d:12eb:: with SMTP id g98mr4360330otg.303.1624389681754; Tue, 22 Jun 2021 12:21:21 -0700 (PDT) MIME-Version: 1.0 References: <20210622165511.3169559-1-daniel.vetter@ffwll.ch> <20210622165511.3169559-3-daniel.vetter@ffwll.ch> In-Reply-To: From: Daniel Vetter Date: Tue, 22 Jun 2021 21:21:10 +0200 Message-ID: Subject: Re: [PATCH 02/15] dma-buf: Switch to inline kerneldoc To: Sam Ravnborg Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Deepak R Varma , Intel Graphics Development , Kevin Wang , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Nirmoy Das , Chen Li , Daniel Vetter , Alex Deucher , Dave Airlie , =?UTF-8?Q?Christian_K=C3=B6nig?= , "open list:DMA BUFFER SHARING FRAMEWORK" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Tue, Jun 22, 2021 at 9:01 PM Sam Ravnborg wrote: > > Hi Daniel. > > On Tue, Jun 22, 2021 at 06:54:58PM +0200, Daniel Vetter wrote: > > Also review & update everything while we're at it. > > > > This is prep work to smash a ton of stuff into the kerneldoc for > > @resv. > > > > Signed-off-by: Daniel Vetter > > Cc: Sumit Semwal > > Cc: "Christian K=C3=B6nig" > > Cc: Alex Deucher > > Cc: Daniel Vetter > > Cc: Dave Airlie > > Cc: Nirmoy Das > > Cc: Deepak R Varma > > Cc: Chen Li > > Cc: Kevin Wang > > Cc: linux-media@vger.kernel.org > > Cc: linaro-mm-sig@lists.linaro.org > > --- > > include/linux/dma-buf.h | 107 +++++++++++++++++++++++++++++++--------- > > 1 file changed, 83 insertions(+), 24 deletions(-) > > > > diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > > index 92eec38a03aa..6d18b9e448b9 100644 > > --- a/include/linux/dma-buf.h > > +++ b/include/linux/dma-buf.h > > @@ -289,28 +289,6 @@ struct dma_buf_ops { > > > > /** > > * struct dma_buf - shared buffer object > > - * @size: size of the buffer; invariant over the lifetime of the buffe= r. > > - * @file: file pointer used for sharing buffers across, and for refcou= nting. > > - * @attachments: list of dma_buf_attachment that denotes all devices a= ttached, > > - * protected by dma_resv lock. > > - * @ops: dma_buf_ops associated with this buffer object. > > - * @lock: used internally to serialize list manipulation, attach/detac= h and > > - * vmap/unmap > > - * @vmapping_counter: used internally to refcnt the vmaps > > - * @vmap_ptr: the current vmap ptr if vmapping_counter > 0 > > - * @exp_name: name of the exporter; useful for debugging. > > - * @name: userspace-provided name; useful for accounting and debugging= , > > - * protected by @resv. > > - * @name_lock: spinlock to protect name access > > - * @owner: pointer to exporter module; used for refcounting when expor= ter is a > > - * kernel module. > > - * @list_node: node for dma_buf accounting and debugging. > > - * @priv: exporter specific private data for this buffer object. > > - * @resv: reservation object linked to this dma-buf > > - * @poll: for userspace poll support > > - * @cb_excl: for userspace poll support > > - * @cb_shared: for userspace poll support > > - * @sysfs_entry: for exposing information about this buffer in sysfs. > > This sentence > > * The attachment_uid member of @sysfs_entry is protected by dma_resv = lock > > * and is incremented on each attach. > belongs to the paragraph describing sysfs_entry and should be moved too. > Or maybe reworded and then document all fields in dma_buf_sysfs_entry? Unfortunately kerneldoc lost the ability to document embedded structs/unions. At least last time I checked, it's a bit a bikeshed. So I'd need to pull the entire struct out. I'll just move it since it's indeed misplaced. > With this fixed: > Acked-by: Sam Ravnborg Thanks for taking a look. -Daniel --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D0B2C48BDF for ; Tue, 22 Jun 2021 19:21:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F02B36134F for ; Tue, 22 Jun 2021 19:21:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F02B36134F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 328796E873; Tue, 22 Jun 2021 19:21:23 +0000 (UTC) Received: from mail-ot1-x32e.google.com (mail-ot1-x32e.google.com [IPv6:2607:f8b0:4864:20::32e]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6DA7B6E873 for ; Tue, 22 Jun 2021 19:21:22 +0000 (UTC) Received: by mail-ot1-x32e.google.com with SMTP id j11-20020a9d738b0000b02903ea3c02ded8so22304468otk.5 for ; Tue, 22 Jun 2021 12:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=e5CaOZBOftVhbkEerPYPtaLJCTi7dkW17rRGwPvuHPJJoz1+U4machk4c/sWYYds9F ix+7YOv/rHYeIbZ5mOBktSK7y1oi02liHSKSjMkzWSsFNHipPhBp/d7g5CMC1O/Zq8dO aKmYXEe0vLST278s3JBJERKtZVE+IDiO8pDyQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=NLND4Ku01kSAPaPQnJOp1FH7Yq9QVSRTNQQ4RbCxk0w=; b=Cl1zsnZYqZYvrF8PKY1IbBjGKRWhyBYB+IJ1XgB1hiFUqjPMzDnhp8aKl0FDDMYmhX kPhJ90tk5y8E4qySskGp4mmhfl88U5xEbICg8Z7kpFebf6aPYWlWB8R9wovlUYigpyU4 kYb5V5Oc57q9FTcPJpVIf6i6cybZarmUE0hUDPN615sNMTEEnYmxp3gjJRYXrKqee8NM ur91iYXSBGy0cTeY0cg1z2vaHaAgpI5L0vJKfNulhmiVx04ON0oHxdwcd0AmkeqnA3xF 1nNJAzwz3ngkax1vI96JdsNFX3YpDehHSGc+h+eN8JbclXBYWiF0DJUv0kBtUxyVhMXZ pCvA== X-Gm-Message-State: AOAM533aQXwwf15t5N2Da2zJgYgInzZ+/Ptan4mBopQoZXld2bUuJd2O rZTYl13R19rtPLytAldTdBzhNNdnalK+ARWwDSJlAA== X-Google-Smtp-Source: ABdhPJxEjFo8oIALPvZRWajZYHHD9+zYYML42DA/uD7PRo7j950Ok3AXzR/g8ARzZSUBUYI2JILIZh+XPK5Vw12qP60= X-Received: by 2002:a9d:12eb:: with SMTP id g98mr4360330otg.303.1624389681754; Tue, 22 Jun 2021 12:21:21 -0700 (PDT) MIME-Version: 1.0 References: <20210622165511.3169559-1-daniel.vetter@ffwll.ch> <20210622165511.3169559-3-daniel.vetter@ffwll.ch> In-Reply-To: From: Daniel Vetter Date: Tue, 22 Jun 2021 21:21:10 +0200 Message-ID: To: Sam Ravnborg Subject: Re: [Intel-gfx] [PATCH 02/15] dma-buf: Switch to inline kerneldoc X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Deepak R Varma , Intel Graphics Development , Kevin Wang , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Nirmoy Das , Chen Li , Daniel Vetter , Alex Deucher , Dave Airlie , =?UTF-8?Q?Christian_K=C3=B6nig?= , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVHVlLCBKdW4gMjIsIDIwMjEgYXQgOTowMSBQTSBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9y Zy5vcmc+IHdyb3RlOgo+Cj4gSGkgRGFuaWVsLgo+Cj4gT24gVHVlLCBKdW4gMjIsIDIwMjEgYXQg MDY6NTQ6NThQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+IEFsc28gcmV2aWV3ICYg dXBkYXRlIGV2ZXJ5dGhpbmcgd2hpbGUgd2UncmUgYXQgaXQuCj4gPgo+ID4gVGhpcyBpcyBwcmVw IHdvcmsgdG8gc21hc2ggYSB0b24gb2Ygc3R1ZmYgaW50byB0aGUga2VybmVsZG9jIGZvcgo+ID4g QHJlc3YuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBpbnRlbC5jb20+Cj4gPiBDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGluYXJvLm9y Zz4KPiA+IENjOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4K PiA+IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cj4gPiBDYzog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+IENjOiBEYXZlIEFpcmxp ZSA8YWlybGllZEByZWRoYXQuY29tPgo+ID4gQ2M6IE5pcm1veSBEYXMgPG5pcm1veS5kYXNAYW1k LmNvbT4KPiA+IENjOiBEZWVwYWsgUiBWYXJtYSA8bWgxMmd4MjgyNUBnbWFpbC5jb20+Cj4gPiBD YzogQ2hlbiBMaSA8Y2hlbmxpQHVuaW9udGVjaC5jb20+Cj4gPiBDYzogS2V2aW4gV2FuZyA8a2V2 aW4xLndhbmdAYW1kLmNvbT4KPiA+IENjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcKPiA+ IENjOiBsaW5hcm8tbW0tc2lnQGxpc3RzLmxpbmFyby5vcmcKPiA+IC0tLQo+ID4gIGluY2x1ZGUv bGludXgvZG1hLWJ1Zi5oIHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25z KC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oIGIvaW5jbHVk ZS9saW51eC9kbWEtYnVmLmgKPiA+IGluZGV4IDkyZWVjMzhhMDNhYS4uNmQxOGI5ZTQ0OGI5IDEw MDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmgKPiA+ICsrKyBiL2luY2x1ZGUv bGludXgvZG1hLWJ1Zi5oCj4gPiBAQCAtMjg5LDI4ICsyODksNiBAQCBzdHJ1Y3QgZG1hX2J1Zl9v cHMgewo+ID4KPiA+ICAvKioKPiA+ICAgKiBzdHJ1Y3QgZG1hX2J1ZiAtIHNoYXJlZCBidWZmZXIg b2JqZWN0Cj4gPiAtICogQHNpemU6IHNpemUgb2YgdGhlIGJ1ZmZlcjsgaW52YXJpYW50IG92ZXIg dGhlIGxpZmV0aW1lIG9mIHRoZSBidWZmZXIuCj4gPiAtICogQGZpbGU6IGZpbGUgcG9pbnRlciB1 c2VkIGZvciBzaGFyaW5nIGJ1ZmZlcnMgYWNyb3NzLCBhbmQgZm9yIHJlZmNvdW50aW5nLgo+ID4g LSAqIEBhdHRhY2htZW50czogbGlzdCBvZiBkbWFfYnVmX2F0dGFjaG1lbnQgdGhhdCBkZW5vdGVz IGFsbCBkZXZpY2VzIGF0dGFjaGVkLAo+ID4gLSAqICAgICAgICAgICAgICAgcHJvdGVjdGVkIGJ5 IGRtYV9yZXN2IGxvY2suCj4gPiAtICogQG9wczogZG1hX2J1Zl9vcHMgYXNzb2NpYXRlZCB3aXRo IHRoaXMgYnVmZmVyIG9iamVjdC4KPiA+IC0gKiBAbG9jazogdXNlZCBpbnRlcm5hbGx5IHRvIHNl cmlhbGl6ZSBsaXN0IG1hbmlwdWxhdGlvbiwgYXR0YWNoL2RldGFjaCBhbmQKPiA+IC0gKiAgICAg ICAgdm1hcC91bm1hcAo+ID4gLSAqIEB2bWFwcGluZ19jb3VudGVyOiB1c2VkIGludGVybmFsbHkg dG8gcmVmY250IHRoZSB2bWFwcwo+ID4gLSAqIEB2bWFwX3B0cjogdGhlIGN1cnJlbnQgdm1hcCBw dHIgaWYgdm1hcHBpbmdfY291bnRlciA+IDAKPiA+IC0gKiBAZXhwX25hbWU6IG5hbWUgb2YgdGhl IGV4cG9ydGVyOyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4KPiA+IC0gKiBAbmFtZTogdXNlcnNwYWNl LXByb3ZpZGVkIG5hbWU7IHVzZWZ1bCBmb3IgYWNjb3VudGluZyBhbmQgZGVidWdnaW5nLAo+ID4g LSAqICAgICAgICBwcm90ZWN0ZWQgYnkgQHJlc3YuCj4gPiAtICogQG5hbWVfbG9jazogc3Bpbmxv Y2sgdG8gcHJvdGVjdCBuYW1lIGFjY2Vzcwo+ID4gLSAqIEBvd25lcjogcG9pbnRlciB0byBleHBv cnRlciBtb2R1bGU7IHVzZWQgZm9yIHJlZmNvdW50aW5nIHdoZW4gZXhwb3J0ZXIgaXMgYQo+ID4g LSAqICAgICAgICAga2VybmVsIG1vZHVsZS4KPiA+IC0gKiBAbGlzdF9ub2RlOiBub2RlIGZvciBk bWFfYnVmIGFjY291bnRpbmcgYW5kIGRlYnVnZ2luZy4KPiA+IC0gKiBAcHJpdjogZXhwb3J0ZXIg c3BlY2lmaWMgcHJpdmF0ZSBkYXRhIGZvciB0aGlzIGJ1ZmZlciBvYmplY3QuCj4gPiAtICogQHJl c3Y6IHJlc2VydmF0aW9uIG9iamVjdCBsaW5rZWQgdG8gdGhpcyBkbWEtYnVmCj4gPiAtICogQHBv bGw6IGZvciB1c2Vyc3BhY2UgcG9sbCBzdXBwb3J0Cj4gPiAtICogQGNiX2V4Y2w6IGZvciB1c2Vy c3BhY2UgcG9sbCBzdXBwb3J0Cj4gPiAtICogQGNiX3NoYXJlZDogZm9yIHVzZXJzcGFjZSBwb2xs IHN1cHBvcnQKPiA+IC0gKiBAc3lzZnNfZW50cnk6IGZvciBleHBvc2luZyBpbmZvcm1hdGlvbiBh Ym91dCB0aGlzIGJ1ZmZlciBpbiBzeXNmcy4KPgo+IFRoaXMgc2VudGVuY2UKPiA+ICAgKiBUaGUg YXR0YWNobWVudF91aWQgbWVtYmVyIG9mIEBzeXNmc19lbnRyeSBpcyBwcm90ZWN0ZWQgYnkgZG1h X3Jlc3YgbG9jawo+ID4gICAqIGFuZCBpcyBpbmNyZW1lbnRlZCBvbiBlYWNoIGF0dGFjaC4KPiBi ZWxvbmdzIHRvIHRoZSBwYXJhZ3JhcGggZGVzY3JpYmluZyBzeXNmc19lbnRyeSBhbmQgc2hvdWxk IGJlIG1vdmVkIHRvby4KPiBPciBtYXliZSByZXdvcmRlZCBhbmQgdGhlbiBkb2N1bWVudCBhbGwg ZmllbGRzIGluIGRtYV9idWZfc3lzZnNfZW50cnk/CgpVbmZvcnR1bmF0ZWx5IGtlcm5lbGRvYyBs b3N0IHRoZSBhYmlsaXR5IHRvIGRvY3VtZW50IGVtYmVkZGVkCnN0cnVjdHMvdW5pb25zLiBBdCBs ZWFzdCBsYXN0IHRpbWUgSSBjaGVja2VkLCBpdCdzIGEgYml0IGEgYmlrZXNoZWQuClNvIEknZCBu ZWVkIHRvIHB1bGwgdGhlIGVudGlyZSBzdHJ1Y3Qgb3V0LiBJJ2xsIGp1c3QgbW92ZSBpdCBzaW5j ZQppdCdzIGluZGVlZCBtaXNwbGFjZWQuCgo+IFdpdGggdGhpcyBmaXhlZDoKPiBBY2tlZC1ieTog U2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgoKVGhhbmtzIGZvciB0YWtpbmcgYSBsb29r LgotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jw b3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK