From patchwork Tue Jan 31 08:07:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 92949 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp1815829qgi; Tue, 31 Jan 2017 00:10:42 -0800 (PST) X-Received: by 10.55.33.163 with SMTP id f35mr24874574qki.66.1485850242452; Tue, 31 Jan 2017 00:10:42 -0800 (PST) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id x67si11440437qka.111.2017.01.31.00.10.42; Tue, 31 Jan 2017 00:10:42 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 1B54B607C8; Tue, 31 Jan 2017 08:10:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 84F5360C94; Tue, 31 Jan 2017 08:08:11 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id EEC2260C07; Tue, 31 Jan 2017 08:07:55 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0109.outbound.protection.outlook.com [104.47.2.109]) by lists.linaro.org (Postfix) with ESMTPS id 0692B60C48 for ; Tue, 31 Jan 2017 08:07:50 +0000 (UTC) Received: from AMXPR07CA0041.eurprd07.prod.outlook.com (10.242.64.41) by HE1PR0701MB2713.eurprd07.prod.outlook.com (10.168.188.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.6; Tue, 31 Jan 2017 08:07:48 +0000 Received: from DB3FFO11FD022.protection.gbl (2a01:111:f400:7e04::159) by AMXPR07CA0041.outlook.office365.com (2a01:111:e400:1000::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.5 via Frontend Transport; Tue, 31 Jan 2017 08:07:48 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.36 as permitted sender) Received: from hybrid2.ext.net.nokia.com (131.228.2.36) by DB3FFO11FD022.mail.protection.outlook.com (10.47.217.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.2 via Frontend Transport; Tue, 31 Jan 2017 08:07:47 +0000 Received: from fihe3nok1346.nsn-intra.net (10.158.36.134) by fihe3nok1347.nsn-intra.net (10.158.36.135) with Microsoft SMTP Server (TLS) id 15.1.466.34; Tue, 31 Jan 2017 10:07:47 +0200 Received: from mailrelay.int.nokia.com (10.130.128.21) by fihe3nok1346.nsn-intra.net (10.158.36.134) with Microsoft SMTP Server (TLS) id 15.1.466.34 via Frontend Transport; Tue, 31 Jan 2017 10:07:46 +0200 Received: from fihe3nok0734.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v0V87Q1b032656 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 31 Jan 2017 10:07:26 +0200 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v0V87Qao032638 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Tue, 31 Jan 2017 10:07:26 +0200 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Tue, 31 Jan 2017 10:07:21 +0200 Message-ID: <1485850046-28457-4-git-send-email-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1485850046-28457-1-git-send-email-petri.savolainen@linaro.org> References: <1485850046-28457-1-git-send-email-petri.savolainen@linaro.org> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.36; IPV:NLI; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(39840400002)(39410400002)(39860400002)(39850400002)(39450400003)(2980300002)(189002)(199003)(5003940100001)(2351001)(106466001)(626004)(105596002)(305945005)(50986999)(47776003)(356003)(33646002)(81166006)(81156014)(8676002)(50226002)(38730400001)(8936002)(77096006)(76176999)(5890100001)(92566002)(68736007)(50466002)(48376002)(189998001)(97736004)(5660300001)(22756006)(53936002)(110136003)(107886002)(86362001)(36756003)(450100001)(6666003)(2950100002)(6916009)(2906002); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0701MB2713; H:hybrid2.ext.net.nokia.com; FPR:; SPF:SoftFail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB3FFO11FD022; 1:8Tl/IahtBSAhpUxwYvIej2syahspEr0wViJbyVgAhIlyMpidrYeN1me5wtIQ//HGSKllQ4Of8HoPukbR+hBK/Icve2GCE6/u4i2Qqz3pN3WExoIrffGjfsvvSxG2YhFtmEcrQJczDh0lbwwPD25FRJJ/jemNPy58ionb17cTjUhBiPig8BHUCXwwrUOQ8pzEmuqpaJx2oh+fD5XcAeH6fMHZ7ub3mgJd6cDCbMmmv5c8gQLiFbUlSAgqIMDI07ApWRYC8GWt0b8vRjVpBEKqkdpqKD80GdUpZA5O1Hryp6gwQATcYa3Ly03JnjQulG4/Y/4t7SQLfOuFcQ56rMu1FIIYOyRLJrzocH4BR2GqKt4ImaayPKkOsWTl6jcVUT/PZLGFZBcECYalYWCmdZ1s8beMFToupvNZ2XFYYcLHLSOueU6j2R2UtJXTX3fPZgsjjM9YCRyiwNDO7Wbet3djpQ== X-MS-Office365-Filtering-Correlation-Id: 8c899162-784a-4163-a62d-08d449b03e92 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:HE1PR0701MB2713; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2713; 3:xHbGVW3wqJsMmn0Y+hk3j9ifz9pVLaOJZQdBRmzLlzkQwnewaCr5LgDbD9NIEeWrXoaMgMf7OOkU9qUvCm75CP31Sod4mvfRFa0JXEx43kS6+kGxQ49hgVAI0BG3X0I8769+JRgqV0wlKWfHYUx7F9VGNIcuUYTHyXxK0nmekgty/zbuwMK+ksailn48IgBZiFJzOaO3GvSWSQR5ULmtTHtMO3qKUNrPlyIqUFoiIU2djx8Aeuz5oAI449ZezAv3AgEyQCtnbFZd0cvH51VQrfkAgao1eo8z+Z5XoZSRTft8kgdM/p1SBEYY/sS7M06o2hKz4jhy4/rFRQRHxpoatOINCVAYNQXggg1Y1bPRIeE=; 25:u/Cga0RHa8BiYUmR1b1UIxaYeBX4w0GE+k1/Yw8x4bikdlSu+6ki8KMmKNpZHOIa0gfMWiIK+7+0ntSq1vrt/+B+61cKj6JoCZcreis1jXrapIgINgVC6qfrUbulZUsw2s0C58JViCde7f6DH+yw1VY0dmVgNwfGYQzvPVhtd95qLE0X8iXJ7Vb7tkW1nRXr6O63cDD+2SPbg3XkiCenZhXeYi4JHeOhLH9uoxFRZ+5Wj/e+27CcyqNEwzRQpDWmAu1L17SxquYUq5uvY013Z7WcTnOLyI2oAtYCod8A9xTrgngib7CAQikqXChUllHhuhbcoDZv0ReCimC6oZ9WGiU0r9nTfOQvr3nOvWrUHdTEFy2tWE4dOvtsDy/Qi4myAu/zBYyjgUvkK1apTHZD6v8fhgRBZlrBpqoI56y7d2OyRsujlaT+yNVwmKYTilxaCAYxZxzWFoN13MGtBaj6Dw== X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2713; 31:UZfWabdb9u7hbbLkz1/v8gikAJqOQ7cp3BWs85nyu+F7yJ1JtvFJ3YJC14rPGtyZ3tPV2O2HUGiWr4TQDNRPxJqvdVJfe/hxALT+5xy+SS2gjEweMrSaIoccu54iMiCZiCFncT1prAnavyS9FDX33jrdI0khli9n9n1PTCu55sxHbtRlpL7ciNpAAk+gyWpFFxHCfx3qrGF96sG5W0mcVGDT6VvnXymevbxmcnqCwTFL4U2xX4m7827/dktGODOXaxq2bTzCCb3fB5ZZYtAECQ==; 20:obT0dSuKW917+yKSZuIG/VoqvH0hRKiU635I9pD5mvcalbjsIe2jLt/DfNMqXj/KFdClWoaaRCCViqDLcUcJJq1qSbLEpPq6uEZFbAWXkgF3Z30plAQtKw/KS3JwRdPTTLQU0t4MjPM34ZMSUQ1j/E+iJWgI4wuThkjShxl6XQCQEC844SyF9IgQWqFbV3j1QY1Lvgj5YLf45aEzinL/UogF7sThtKQRqi60LmBCkRTd8zlN9PgDlGFnlTYgvnHNOynIeExRhgVkVrYaddqJzlBdzhf0r+9C9hLxdp1qmACz7e+suEZnbMjWTfSCGj0MFUVYpcNJ0ISNyjLu5mQDTANkxP6dvAwDWF17TIuo7je83on7TC8y8ULdVrVaV7OwAcwivvr5VO3NhKbBcMhI5XByqEj+Wvt7rXxdjDDrJIYeICfVBOtPhdCT8W+mvS9EPPmGX5yto3XhtpcOtywVDmuuzF9MWyFZBrBXHz92yvIxVBr+7Z5n+fUKk8EgvIJjKW+Pk0GlVqxAM3gpRMPs9NiBdOaow0NL7qONEVKfLLOHh8vQ4DywH9IS5wGUGtldWgkm4MR/sWlhv7t4ZhouCWkFMg9WzdmAwVjT/SmQf9M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(6072148); SRVR:HE1PR0701MB2713; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0701MB2713; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2713; 4:2/sihxwBCohXHDx/NFoYOjtse/C+1Qm0oVewnDOn6WPVFPZN8lTruYkvUx8hiu72JH5iaoew5S+LdbRAYnI939yJK7fi+P/7IwMr4C0LeiAXoOHKt/ohOI9fxJazNy+zIXCgfnBGefMA5aSEduSQ9XCm61PaguJ5qquAbyaHAHyi6Y1s3032jqg9XKYCrFaqqiONlxC8zu0W5D+O+7BMu2+23Q7NNpSdy82VEe0szK/aQxvCZ4mwSah/fwt0jnPPs/8Kt+EEz3I+TeZ9qKyeD6oz38MT0rUJiiNR/IcKhoGISUan4qBa08NHzJjYY0R/eFX+6uBFQ3pUZfEK1FjWEBVMeL+yYh3uVr5aD0T9NbOeYVqAiqwKEW0OeXRA/wB2kjaYXo5E7IIdqWq4jzQxQFOGTelnX7I9B4Rdm4UZHqf8JWRe+MpwcEA9bNZorQdu/kR33yBFMh/+ZrPXD8ShWkO0xRZXZdBKTqg/eUKpEz87i3RzCDYyMLLkrOH/tYg1DFfk8pH4sJTFP08/QZGq0Nu+2DPgJswHzHfdONg+DJlppitMFipliHLL8R1uiiHCK/bYQu4kpY+kDHE39GwWZ0GQNK6Uwqm+ocs2M1+mGulSFxeax9CSdL/TQMXQA//I X-Forefront-PRVS: 0204F0BDE2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0701MB2713; 23:t9vWIf7W4uAcKHkEDTFa6eNfhZyPxG9IGHyi3ax?= w45GdNgLCCHfC+ziPzDzNQ0uHDYxgqfvG+CyuMdHdZWuzhoXl7S6LPAN/rELRD3NAVevqOWC+Hm9ieVU/EqKkuNUYOI5eu+ha2x943KMGGoBYm/Zb/wUh/1fs6HDp0Uhs//c/fUXYOXJpN6FctyLzX1ufSYijQ9+4ODCXyQAQk50w+lTmbz6pu+BdYBDgTei7smev3+TcwzinpXf98EnC/NqDTvRZCuvvtpstkvfppL2ivVoAaKBosk0KDtskGLV8H3MG1xyA+z7bHUPRJybMwRG83dGvE7Rc0RoPa5moSs4QX+Xo79bO5/MrYvh/JVHxD2JMitBWqEfgUyt+r0Oj21WiAIzVYI5WxdvN+UIOdwEw0ao28VAdVDE39dbHdqrX8BsuDmnTMlCkN2A5gbprTD4Q4E1tWYOEj+aomJBHxVg4Ua00/dzMNJvMzBwtNhLC+yyQSHtllsfCNOT7QbMq4Uafhh6MtS+iS4BUIpL/5ixLuEqCLmvbZxC2IxWca9kTAAH6mXP4C9Ak7816f4uyND7/ThibMbUf4f0l7H7G2IVOEUVoMWcMnTeF7bg5+TSEslev7MBD+Lez/VStjNCBDIvtEIVlWTGTVM8mmXe6kSGKdL38Aemq84Gcie8AQbHbGNJ3bXpW/8MPpxmmSZ8mResmQZwvnGzxu5kfPxQgbynGf6X0+iyA286NZCalpVckco6Cw9aEJ9N3da3yp40I5l9IaqQEYyAGTIuZd/hhBujHK344bPVYN8fq7t8pkZ8/hfb/MtqFGLWB/QHcIr+wiC0bbwSeiu4xmkhqOJQmfr31XYy2oITBClhJe2bz7cFlvF2TE4waTSTCRtWOjOZfL1CDGVDhd37geSfBxJ2CaU2s4Hrhc8afISN+5DG8+NaQq2LhxQVtX8e7b28NumLiDWcOGDb4s3IhUHjDXr9gjbBzijTzZLpp+cY+NDhpzO5XQ6xtiQcQaT1O6Z30zRSfQ4vWLtt9C12Vrr9k5qua9c+lH79gKhvzNMKZzMZGUCAmywc/51K0clssZFBRkQC7p36zSbTmaio7qwcEK4UZXtsBxWGiEY/cHnALRF5ZhBgqF1sMF+JllSzvLi9r08L1t4BHck4ldj4xxKCLPA+TLI6q/g== X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2713; 6:jO9F3tJfmARDcumbHqSV5NwPrudYKzDldw5nQSAbfc543MrMa6yQCAa4in/FwCECjeP+r23J9gVpjpHEIu0nCcrgSFWMcJf+Kl9UGRWKdNWzPHY8j68hjwWaVSz6wPT52uKckV10OR6jGuCtA3N847i89HVN99ZdgsZ1JXke9ofrl0DMMcBbNLd+tPchHZzlcwwgT7bHcbbe3L1C2MhzEA+RgaW8fnQfgNajB5Nb0jTcskqacAuvvfSrV4GMJ6p50L7EpLISo7Yru20dJWUTlr77sD+L9XRIj+k7e+B6JmHvZPNEMZYIs4H1cWx3cX5WoG0RqA2uhdUYsrKrUeXyTXVbKR8lEyi8N2C4dgPJnhlICU0qSyecNZ1P2b3OwzjU4RlNHKL4C8Utehp5ThUGlkDWPDt68XICLWtvc8GE+hCVyiYVlFJRkiyFrQC+m3ml; 5:yGdICZCh3Rnr4dfVCMjUCtE37j//n29Ir5/xQa8VSBU494wh7JajRAVhkRdJZSS9Xo6fHN2s6O8ibvsqsK2poUhWKHmZ8GIlO3MILlAkMd1cEU4URsU2NWj/2cXRrq43rtllitxWBhkiUBxtZ8xFFw==; 24:PrgFNZEIej3eyvpuWcy/9VCNaPEjno2Oy1vxF5LqTVPvn3nT7nVVnvs6bdUK1TqFAI06dQFf4odpKTzs32KszYmqjjZ+w8cgKtRgbV0jwxQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB2713; 7:x2Dw3zV6tHnOLtzyF1XxLxIab9DUJuAS1nM+Fl1Hxjmdqk5TKjD8BnTWv7O2rs7TkjbqMdo98mwvFKzudoiDQqvXkH9vMOBBfXJrPyLZJk/1PguIL1BDyQ3N9vbKGDuiXjJw/EPCEus7lhfnzk4FHP6eQyIn7RD7oyRdpqmbGBUA+IKcT12xmMXlJbloOGnIxNifxgvrrFnISBVK3sOwcEdV7ExlStiRya7pWcGHXkG2isfIPTsXPSYRrOh6uwnSgRmN4MOu7EfOCZIn151/qREVEVzXPk1iomp++meW0EFI1sKbkYScCCbLdLUgF+rexRgQgEJt+GLbDjCRGHo4ApDGxfQiHOXc92QrEVJXdFRD18fCbGIMTCKDOut19Tukbz4vNbfBovDXOSh5Dyi4ncXh+TkCnPX64e4qFTNWYccLQfCQ5uRUm7xfUOG41cJueVhHXKOEvgpfXgS4qBDxO2eBWrQCd+98Pk7PF1+9sYRypWmuhmGNmU8BLvQOZk7+r9oFpbOk9rC5cenZ8yvzoAwZi0zuNjx7n3r4bipJTrCPyMK2ZzCYYHDa4f3YjSoh X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2017 08:07:47.7704 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.36]; Helo=[hybrid2.ext.net.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2713 Subject: [lng-odp] [PATCH v4 3/8] abi: classifier: added initial definitions X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase. Removed unused type definitions, documentation of those need to be still removed for API spec. Signed-off-by: Petri Savolainen --- .../arch/arm32-linux/odp/api/abi/classification.h | 7 ++++ .../arch/arm64-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/default/api/abi/classification.h | 40 ++++++++++++++++++++++ .../arch/mips64-linux/odp/api/abi/classification.h | 7 ++++ .../power64-linux/odp/api/abi/classification.h | 7 ++++ .../arch/x86_32-linux/odp/api/abi/classification.h | 7 ++++ .../arch/x86_64-linux/odp/api/abi/classification.h | 7 ++++ platform/Makefile.inc | 2 ++ .../linux-generic/include/odp/api/classification.h | 9 +++-- .../include/odp/api/plat/classification_types.h | 34 +++++++----------- .../include/odp_classification_datamodel.h | 3 -- platform/linux-generic/odp_classification.c | 12 +++++-- 12 files changed, 114 insertions(+), 28 deletions(-) create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/default/api/abi/classification.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/classification.h -- 2.8.1 diff --git a/include/odp/arch/arm32-linux/odp/api/abi/classification.h b/include/odp/arch/arm32-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/arm64-linux/odp/api/abi/classification.h b/include/odp/arch/arm64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/default/api/abi/classification.h b/include/odp/arch/default/api/abi/classification.h new file mode 100644 index 0000000..771907a --- /dev/null +++ b/include/odp/arch/default/api/abi/classification.h @@ -0,0 +1,40 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_CLASSIFICATION_H_ +#define ODP_ABI_CLASSIFICATION_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_cos_t; + +/** Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_pmr_t; + +/** @ingroup odp_classification + * @{ + */ + +typedef _odp_abi_cos_t *odp_cos_t; +typedef _odp_abi_pmr_t *odp_pmr_t; + +#define ODP_COS_INVALID ((odp_cos_t)~0) +#define ODP_PMR_INVAL ((odp_pmr_t)~0) + +#define ODP_COS_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/classification.h b/include/odp/arch/mips64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/power64-linux/odp/api/abi/classification.h b/include/odp/arch/power64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/classification.h b/include/odp/arch/x86_32-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/classification.h b/include/odp/arch/x86_64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include diff --git a/platform/Makefile.inc b/platform/Makefile.inc index b078df8..bb40692 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -63,11 +63,13 @@ odpapispecinclude_HEADERS = \ odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h EXTRA_DIST = \ diff --git a/platform/linux-generic/include/odp/api/classification.h b/platform/linux-generic/include/odp/api/classification.h index 0bec38b..2ba6eb0 100644 --- a/platform/linux-generic/include/odp/api/classification.h +++ b/platform/linux-generic/include/odp/api/classification.h @@ -10,8 +10,8 @@ * ODP classification descriptor */ -#ifndef ODP_PLAT_CLASSIFY_H_ -#define ODP_PLAT_CLASSIFY_H_ +#ifndef ODP_PLAT_CLASSIFICATION_H_ +#define ODP_PLAT_CLASSIFICATION_H_ #ifdef __cplusplus extern "C" { @@ -28,6 +28,11 @@ extern "C" { * @{ */ +/* REMOVE THESE FROM API SPEC. Typedefs needed only for suppressing Doxygen + * warning. */ +typedef void odp_flowsig_t; +typedef void odp_cos_flow_set_t; + /** * @} */ diff --git a/platform/linux-generic/include/odp/api/plat/classification_types.h b/platform/linux-generic/include/odp/api/plat/classification_types.h index 2093f54..d210feb 100644 --- a/platform/linux-generic/include/odp/api/plat/classification_types.h +++ b/platform/linux-generic/include/odp/api/plat/classification_types.h @@ -10,46 +10,38 @@ * ODP classification descriptor */ -#ifndef ODP_CLASSIFY_TYPES_H_ -#define ODP_CLASSIFY_TYPES_H_ +#ifndef ODP_CLASSIFICATION_TYPES_H_ +#define ODP_CLASSIFICATION_TYPES_H_ #ifdef __cplusplus extern "C" { #endif +#include +#if ODP_ABI_COMPAT == 1 +#include +#else + #include -/** @addtogroup odp_classification +/** @ingroup odp_classification * @{ */ typedef ODP_HANDLE_T(odp_cos_t); -typedef ODP_HANDLE_T(odp_flowsig_t); - -#define ODP_COS_INVALID _odp_cast_scalar(odp_cos_t, ~0) -#define ODP_COS_NAME_LEN 32 - -typedef uint16_t odp_cos_flow_set_t; +#define ODP_COS_INVALID _odp_cast_scalar(odp_cos_t, ~0) typedef ODP_HANDLE_T(odp_pmr_t); -#define ODP_PMR_INVAL _odp_cast_scalar(odp_pmr_t, ~0) - -/** Get printable format of odp_cos_t */ -static inline uint64_t odp_cos_to_u64(odp_cos_t hdl) -{ - return _odp_pri(hdl); -} +#define ODP_PMR_INVAL _odp_cast_scalar(odp_pmr_t, ~0) -/** Get printable format of odp_pmr_t */ -static inline uint64_t odp_pmr_to_u64(odp_pmr_t hdl) -{ - return _odp_pri(hdl); -} +#define ODP_COS_NAME_LEN 32 /** * @} */ +#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/include/odp_classification_datamodel.h b/platform/linux-generic/include/odp_classification_datamodel.h index f6393ee..d5382f3 100644 --- a/platform/linux-generic/include/odp_classification_datamodel.h +++ b/platform/linux-generic/include/odp_classification_datamodel.h @@ -83,7 +83,6 @@ struct cos_s { uint32_t valid; /* validity Flag */ odp_cls_drop_t drop_policy; /* Associated Drop Policy */ odp_queue_group_t queue_group; /* Associated Queue Group */ - odp_cos_flow_set_t flow_set; /* Assigned Flow Set */ size_t headroom; /* Headroom for this CoS */ odp_spinlock_t lock; /* cos lock */ odp_atomic_u32_t num_rule; /* num of PMRs attached with this CoS */ @@ -149,8 +148,6 @@ typedef struct classifier { uint32_t l3_precedence; /* L3 QoS precedence */ pmr_l2_cos_t l2_cos_table; /* L2 QoS-CoS table map */ pmr_l3_cos_t l3_cos_table; /* L3 Qos-CoS table map */ - odp_cos_flow_set_t flow_set; /* Flow Set to be calculated - for this pktio */ size_t headroom; /* Pktio Headroom */ size_t skip; /* Pktio Skip Offset */ } classifier_t; diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c index 50a7e54..e3e3574 100644 --- a/platform/linux-generic/odp_classification.c +++ b/platform/linux-generic/odp_classification.c @@ -185,7 +185,6 @@ odp_cos_t odp_cls_cos_create(const char *name, odp_cls_cos_param_t *param) } cos_tbl->cos_entry[i].s.queue = queue; cos_tbl->cos_entry[i].s.pool = param->pool; - cos_tbl->cos_entry[i].s.flow_set = 0; cos_tbl->cos_entry[i].s.headroom = 0; cos_tbl->cos_entry[i].s.valid = 1; cos_tbl->cos_entry[i].s.drop_policy = drop_policy; @@ -732,7 +731,6 @@ int pktio_classifier_init(pktio_entry_t *entry) if (entry == NULL) return -1; cls = &entry->s.cls; - cls->flow_set = 0; cls->error_cos = NULL; cls->default_cos = NULL; cls->headroom = 0; @@ -897,3 +895,13 @@ cos_t *match_qos_cos(pktio_entry_t *entry, const uint8_t *pkt_addr, } return NULL; } + +uint64_t odp_cos_to_u64(odp_cos_t hdl) +{ + return _odp_pri(hdl); +} + +uint64_t odp_pmr_to_u64(odp_pmr_t hdl) +{ + return _odp_pri(hdl); +}