From nobody Fri Dec 31 07:37:46 2021 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id D397519233BF; Fri, 31 Dec 2021 07:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JQH6k48sXz4mfh; Fri, 31 Dec 2021 07:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6E9DE27B12; Fri, 31 Dec 2021 07:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1BV7bo6e093028; Fri, 31 Dec 2021 07:37:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1BV7bkmV093022; Fri, 31 Dec 2021 07:37:46 GMT (envelope-from git) Date: Fri, 31 Dec 2021 07:37:46 GMT Message-Id: <202112310737.1BV7bkmV093022@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 373d5df3e368 - main - remove octeon sdk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 373d5df3e368817161325ab2f586894f6bfb77a0 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1640936270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8vM+ZQH10lFas2UlmiCOB8OjoInupf6EspUdoDdbbK4=; b=EA4RygQ6nCTd+Kwr14iHd8o0lfBN0zmGqfEGrXUMocReRVw1tOiiqD+iTKVrf8nrDzDGit UeV3ycCg9wSrGe0wi1v1YE6qlt2BPK0sIm//IGt4icZpiE/dD1feLIf83N4eRBQxxI4FCh g3sY2hTB+FmIExWSkQ7JnP1MS5BXiplPooxBNFoKecnpW0jIk92EJARGiMoUKJD6PQ3DFR RmxSB5wxc9UKHKBKIBGHh/eYFEuGHyTJxzxT3P+2KiUL+M645OSLDLxdiKxN87qnAdBToC hPtVgOJAiD3glFJVZ2LhhyongCKi8w95HFD2BzUe0MK7y5l9tzZqqf2KLLOjhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1640936270; a=rsa-sha256; cv=none; b=Z+K5zBjAOeC/1nwt/oglRCgJ71UDhaI7ecfBsWCU+Aj3BZbGrocwIkxlhHYH3vpRIOpEPD J5AQF0W3qWp7gZJUa/+4YFiSkz5ThGb1CKAcR+6aa04B/4e9gViz945Hv+KNK7RUBuTA38 jWyYF6apqgzvRWytsh+MdIMlElhy6zc1ewA0gpnvL9JmQrv5CoAQWZUWfKnU4Zw+XHMSH8 ic8CVydxqUoIPylrBQhD+NiJo0zH0yTUI5ASeODLDxLX7BZ9V4hmsmqPcW965aHx1Xn2sW HAfhbvV4C/U36hwgVUI9xoGwjLIEa2sLpItJWZeOKDP7BHSYXd4NtCSoDtfZJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=373d5df3e368817161325ab2f586894f6bfb77a0 commit 373d5df3e368817161325ab2f586894f6bfb77a0 Author: Warner Losh AuthorDate: 2021-12-31 07:28:12 +0000 Commit: Warner Losh CommitDate: 2021-12-31 07:28:12 +0000 remove octeon sdk Octeon is a mips-only target. Sponsored by: Netflix --- sys/contrib/octeon-sdk/cvmip.h | 209 - sys/contrib/octeon-sdk/cvmx-abi.h | 112 - sys/contrib/octeon-sdk/cvmx-access-native.h | 725 - sys/contrib/octeon-sdk/cvmx-access.h | 242 - sys/contrib/octeon-sdk/cvmx-address.h | 266 - sys/contrib/octeon-sdk/cvmx-agl-defs.h | 4947 ------- sys/contrib/octeon-sdk/cvmx-app-hotplug.c | 885 -- sys/contrib/octeon-sdk/cvmx-app-hotplug.h | 155 - sys/contrib/octeon-sdk/cvmx-app-init-linux.c | 446 - sys/contrib/octeon-sdk/cvmx-app-init.c | 589 - sys/contrib/octeon-sdk/cvmx-app-init.h | 516 - sys/contrib/octeon-sdk/cvmx-asm.h | 667 - sys/contrib/octeon-sdk/cvmx-asx0-defs.h | 142 - sys/contrib/octeon-sdk/cvmx-asxx-defs.h | 1318 -- sys/contrib/octeon-sdk/cvmx-atomic.h | 770 -- sys/contrib/octeon-sdk/cvmx-bootloader.h | 152 - sys/contrib/octeon-sdk/cvmx-bootmem.c | 1187 -- sys/contrib/octeon-sdk/cvmx-bootmem.h | 488 - sys/contrib/octeon-sdk/cvmx-ciu-defs.h | 13083 ------------------- sys/contrib/octeon-sdk/cvmx-ciu2-defs.h | 10670 --------------- sys/contrib/octeon-sdk/cvmx-clock.c | 142 - sys/contrib/octeon-sdk/cvmx-clock.h | 139 - sys/contrib/octeon-sdk/cvmx-cmd-queue.c | 339 - sys/contrib/octeon-sdk/cvmx-cmd-queue.h | 614 - sys/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.c | 216 - sys/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.h | 71 - sys/contrib/octeon-sdk/cvmx-compactflash.c | 433 - sys/contrib/octeon-sdk/cvmx-compactflash.h | 78 - sys/contrib/octeon-sdk/cvmx-core.c | 162 - sys/contrib/octeon-sdk/cvmx-core.h | 188 - sys/contrib/octeon-sdk/cvmx-coremask.c | 134 - sys/contrib/octeon-sdk/cvmx-coremask.h | 319 - sys/contrib/octeon-sdk/cvmx-crypto.c | 78 - sys/contrib/octeon-sdk/cvmx-crypto.h | 70 - sys/contrib/octeon-sdk/cvmx-csr-enums.h | 185 - sys/contrib/octeon-sdk/cvmx-csr-typedefs.h | 117 - sys/contrib/octeon-sdk/cvmx-csr.h | 223 - sys/contrib/octeon-sdk/cvmx-dbg-defs.h | 151 - sys/contrib/octeon-sdk/cvmx-debug-handler.S | 278 - sys/contrib/octeon-sdk/cvmx-debug-remote.c | 94 - sys/contrib/octeon-sdk/cvmx-debug-uart.c | 267 - sys/contrib/octeon-sdk/cvmx-debug.c | 1600 --- sys/contrib/octeon-sdk/cvmx-debug.h | 454 - sys/contrib/octeon-sdk/cvmx-dfa-defs.h | 5694 -------- sys/contrib/octeon-sdk/cvmx-dfa.c | 122 - sys/contrib/octeon-sdk/cvmx-dfa.h | 802 -- sys/contrib/octeon-sdk/cvmx-dfm-defs.h | 3218 ----- sys/contrib/octeon-sdk/cvmx-dma-engine.c | 553 - sys/contrib/octeon-sdk/cvmx-dma-engine.h | 378 - sys/contrib/octeon-sdk/cvmx-dpi-defs.h | 2072 --- sys/contrib/octeon-sdk/cvmx-ebt3000.c | 117 - sys/contrib/octeon-sdk/cvmx-ebt3000.h | 69 - sys/contrib/octeon-sdk/cvmx-endor-defs.h | 7826 ----------- sys/contrib/octeon-sdk/cvmx-eoi-defs.h | 689 - sys/contrib/octeon-sdk/cvmx-fau.h | 604 - sys/contrib/octeon-sdk/cvmx-flash.c | 674 - sys/contrib/octeon-sdk/cvmx-flash.h | 136 - sys/contrib/octeon-sdk/cvmx-fpa-defs.h | 2647 ---- sys/contrib/octeon-sdk/cvmx-fpa.c | 207 - sys/contrib/octeon-sdk/cvmx-fpa.h | 337 - sys/contrib/octeon-sdk/cvmx-gmx.h | 96 - sys/contrib/octeon-sdk/cvmx-gmxx-defs.h | 10603 --------------- sys/contrib/octeon-sdk/cvmx-gpio-defs.h | 842 -- sys/contrib/octeon-sdk/cvmx-gpio.h | 185 - sys/contrib/octeon-sdk/cvmx-helper-board.c | 1652 --- sys/contrib/octeon-sdk/cvmx-helper-board.h | 222 - sys/contrib/octeon-sdk/cvmx-helper-cfg.c | 717 - sys/contrib/octeon-sdk/cvmx-helper-cfg.h | 282 - sys/contrib/octeon-sdk/cvmx-helper-check-defines.h | 97 - sys/contrib/octeon-sdk/cvmx-helper-errata.c | 329 - sys/contrib/octeon-sdk/cvmx-helper-errata.h | 93 - sys/contrib/octeon-sdk/cvmx-helper-fpa.c | 246 - sys/contrib/octeon-sdk/cvmx-helper-fpa.h | 83 - sys/contrib/octeon-sdk/cvmx-helper-ilk.c | 442 - sys/contrib/octeon-sdk/cvmx-helper-ilk.h | 110 - sys/contrib/octeon-sdk/cvmx-helper-jtag.c | 230 - sys/contrib/octeon-sdk/cvmx-helper-jtag.h | 106 - sys/contrib/octeon-sdk/cvmx-helper-loop.c | 146 - sys/contrib/octeon-sdk/cvmx-helper-loop.h | 83 - sys/contrib/octeon-sdk/cvmx-helper-npi.c | 179 - sys/contrib/octeon-sdk/cvmx-helper-npi.h | 86 - sys/contrib/octeon-sdk/cvmx-helper-rgmii.c | 557 - sys/contrib/octeon-sdk/cvmx-helper-rgmii.h | 135 - sys/contrib/octeon-sdk/cvmx-helper-sgmii.c | 778 -- sys/contrib/octeon-sdk/cvmx-helper-sgmii.h | 126 - sys/contrib/octeon-sdk/cvmx-helper-spi.c | 277 - sys/contrib/octeon-sdk/cvmx-helper-spi.h | 110 - sys/contrib/octeon-sdk/cvmx-helper-srio.c | 357 - sys/contrib/octeon-sdk/cvmx-helper-srio.h | 111 - sys/contrib/octeon-sdk/cvmx-helper-util.c | 864 -- sys/contrib/octeon-sdk/cvmx-helper-util.h | 354 - sys/contrib/octeon-sdk/cvmx-helper-xaui.c | 476 - sys/contrib/octeon-sdk/cvmx-helper-xaui.h | 127 - sys/contrib/octeon-sdk/cvmx-helper.c | 1999 --- sys/contrib/octeon-sdk/cvmx-helper.h | 373 - sys/contrib/octeon-sdk/cvmx-hfa.c | 174 - sys/contrib/octeon-sdk/cvmx-hfa.h | 437 - sys/contrib/octeon-sdk/cvmx-higig.h | 418 - sys/contrib/octeon-sdk/cvmx-ilk-defs.h | 3529 ----- sys/contrib/octeon-sdk/cvmx-ilk.c | 1400 -- sys/contrib/octeon-sdk/cvmx-ilk.h | 183 - sys/contrib/octeon-sdk/cvmx-interrupt-handler.S | 197 - sys/contrib/octeon-sdk/cvmx-interrupt.c | 1288 -- sys/contrib/octeon-sdk/cvmx-interrupt.h | 241 - sys/contrib/octeon-sdk/cvmx-iob-defs.h | 1951 --- sys/contrib/octeon-sdk/cvmx-iob1-defs.h | 184 - sys/contrib/octeon-sdk/cvmx-ipd-defs.h | 3588 ----- sys/contrib/octeon-sdk/cvmx-ipd.c | 318 - sys/contrib/octeon-sdk/cvmx-ipd.h | 203 - sys/contrib/octeon-sdk/cvmx-ixf18201.c | 362 - sys/contrib/octeon-sdk/cvmx-ixf18201.h | 112 - sys/contrib/octeon-sdk/cvmx-key-defs.h | 266 - sys/contrib/octeon-sdk/cvmx-key.h | 115 - sys/contrib/octeon-sdk/cvmx-l2c-defs.h | 6543 ---------- sys/contrib/octeon-sdk/cvmx-l2c.c | 1628 --- sys/contrib/octeon-sdk/cvmx-l2c.h | 529 - sys/contrib/octeon-sdk/cvmx-l2d-defs.h | 1136 -- sys/contrib/octeon-sdk/cvmx-l2t-defs.h | 649 - sys/contrib/octeon-sdk/cvmx-led-defs.h | 630 - sys/contrib/octeon-sdk/cvmx-llm.c | 929 -- sys/contrib/octeon-sdk/cvmx-llm.h | 391 - sys/contrib/octeon-sdk/cvmx-lmcx-defs.h | 8421 ------------ sys/contrib/octeon-sdk/cvmx-log-arc.S | 178 - sys/contrib/octeon-sdk/cvmx-log.c | 539 - sys/contrib/octeon-sdk/cvmx-log.h | 139 - sys/contrib/octeon-sdk/cvmx-malloc.h | 225 - sys/contrib/octeon-sdk/cvmx-malloc/README-malloc | 12 - sys/contrib/octeon-sdk/cvmx-malloc/arena.c | 293 - sys/contrib/octeon-sdk/cvmx-malloc/malloc.c | 4106 ------ sys/contrib/octeon-sdk/cvmx-malloc/malloc.h | 213 - sys/contrib/octeon-sdk/cvmx-malloc/thread-m.h | 73 - sys/contrib/octeon-sdk/cvmx-mdio.h | 599 - sys/contrib/octeon-sdk/cvmx-mgmt-port.c | 1029 -- sys/contrib/octeon-sdk/cvmx-mgmt-port.h | 237 - sys/contrib/octeon-sdk/cvmx-mio-defs.h | 9525 -------------- sys/contrib/octeon-sdk/cvmx-mixx-defs.h | 1524 --- sys/contrib/octeon-sdk/cvmx-mpi-defs.h | 560 - sys/contrib/octeon-sdk/cvmx-nand.c | 1992 --- sys/contrib/octeon-sdk/cvmx-nand.h | 716 - sys/contrib/octeon-sdk/cvmx-ndf-defs.h | 541 - sys/contrib/octeon-sdk/cvmx-npei-defs.h | 7439 ----------- sys/contrib/octeon-sdk/cvmx-npi-defs.h | 4650 ------- sys/contrib/octeon-sdk/cvmx-npi.h | 149 - sys/contrib/octeon-sdk/cvmx-packet.h | 81 - sys/contrib/octeon-sdk/cvmx-pci-defs.h | 4585 ------- sys/contrib/octeon-sdk/cvmx-pci.h | 70 - sys/contrib/octeon-sdk/cvmx-pcie.c | 1702 --- sys/contrib/octeon-sdk/cvmx-pcie.h | 321 - sys/contrib/octeon-sdk/cvmx-pcieepx-defs.h | 6084 --------- sys/contrib/octeon-sdk/cvmx-pciercx-defs.h | 5782 -------- sys/contrib/octeon-sdk/cvmx-pcm-defs.h | 236 - sys/contrib/octeon-sdk/cvmx-pcmx-defs.h | 1136 -- sys/contrib/octeon-sdk/cvmx-pcsx-defs.h | 1450 -- sys/contrib/octeon-sdk/cvmx-pcsxx-defs.h | 1087 -- sys/contrib/octeon-sdk/cvmx-pemx-defs.h | 1438 -- sys/contrib/octeon-sdk/cvmx-pescx-defs.h | 1055 -- sys/contrib/octeon-sdk/cvmx-pexp-defs.h | 2202 ---- sys/contrib/octeon-sdk/cvmx-pip-defs.h | 6125 --------- sys/contrib/octeon-sdk/cvmx-pip.h | 807 -- sys/contrib/octeon-sdk/cvmx-pko-defs.h | 3987 ------ sys/contrib/octeon-sdk/cvmx-pko.c | 1030 -- sys/contrib/octeon-sdk/cvmx-pko.h | 838 -- sys/contrib/octeon-sdk/cvmx-platform.h | 243 - sys/contrib/octeon-sdk/cvmx-pow-defs.h | 2011 --- sys/contrib/octeon-sdk/cvmx-pow.c | 788 -- sys/contrib/octeon-sdk/cvmx-pow.h | 2350 ---- sys/contrib/octeon-sdk/cvmx-power-throttle.c | 290 - sys/contrib/octeon-sdk/cvmx-power-throttle.h | 120 - sys/contrib/octeon-sdk/cvmx-profiler.c | 239 - sys/contrib/octeon-sdk/cvmx-profiler.h | 103 - sys/contrib/octeon-sdk/cvmx-qlm-tables.c | 445 - sys/contrib/octeon-sdk/cvmx-qlm.c | 740 -- sys/contrib/octeon-sdk/cvmx-qlm.h | 165 - sys/contrib/octeon-sdk/cvmx-rad-defs.h | 1075 -- sys/contrib/octeon-sdk/cvmx-raid.c | 148 - sys/contrib/octeon-sdk/cvmx-raid.h | 208 - sys/contrib/octeon-sdk/cvmx-resources.config | 197 - sys/contrib/octeon-sdk/cvmx-rng.h | 165 - sys/contrib/octeon-sdk/cvmx-rnm-defs.h | 328 - sys/contrib/octeon-sdk/cvmx-rtc.h | 153 - sys/contrib/octeon-sdk/cvmx-rwlock.h | 171 - sys/contrib/octeon-sdk/cvmx-scratch.h | 163 - sys/contrib/octeon-sdk/cvmx-shared-linux-n32.ld | 307 - sys/contrib/octeon-sdk/cvmx-shared-linux-o32.ld | 279 - sys/contrib/octeon-sdk/cvmx-shared-linux.ld | 306 - sys/contrib/octeon-sdk/cvmx-shmem.c | 748 -- sys/contrib/octeon-sdk/cvmx-shmem.h | 139 - sys/contrib/octeon-sdk/cvmx-sim-magic.h | 198 - sys/contrib/octeon-sdk/cvmx-sli-defs.h | 6330 --------- sys/contrib/octeon-sdk/cvmx-smi-defs.h | 104 - sys/contrib/octeon-sdk/cvmx-smix-defs.h | 513 - sys/contrib/octeon-sdk/cvmx-spi.c | 670 - sys/contrib/octeon-sdk/cvmx-spi.h | 271 - sys/contrib/octeon-sdk/cvmx-spi4000.c | 531 - sys/contrib/octeon-sdk/cvmx-spinlock.h | 432 - sys/contrib/octeon-sdk/cvmx-spx0-defs.h | 116 - sys/contrib/octeon-sdk/cvmx-spxx-defs.h | 1406 -- sys/contrib/octeon-sdk/cvmx-srio.c | 1622 --- sys/contrib/octeon-sdk/cvmx-srio.h | 553 - sys/contrib/octeon-sdk/cvmx-sriomaintx-defs.h | 4399 ------- sys/contrib/octeon-sdk/cvmx-sriox-defs.h | 3888 ------ sys/contrib/octeon-sdk/cvmx-srxx-defs.h | 363 - sys/contrib/octeon-sdk/cvmx-sso-defs.h | 2194 ---- sys/contrib/octeon-sdk/cvmx-stxx-defs.h | 864 -- sys/contrib/octeon-sdk/cvmx-swap.h | 143 - sys/contrib/octeon-sdk/cvmx-sysinfo.c | 264 - sys/contrib/octeon-sdk/cvmx-sysinfo.h | 189 - sys/contrib/octeon-sdk/cvmx-thunder.c | 331 - sys/contrib/octeon-sdk/cvmx-thunder.h | 150 - sys/contrib/octeon-sdk/cvmx-tim-defs.h | 1374 -- sys/contrib/octeon-sdk/cvmx-tim.c | 313 - sys/contrib/octeon-sdk/cvmx-tim.h | 333 - sys/contrib/octeon-sdk/cvmx-tlb.c | 408 - sys/contrib/octeon-sdk/cvmx-tlb.h | 175 - sys/contrib/octeon-sdk/cvmx-tra-defs.h | 104 - sys/contrib/octeon-sdk/cvmx-tra.c | 943 -- sys/contrib/octeon-sdk/cvmx-tra.h | 748 -- sys/contrib/octeon-sdk/cvmx-trax-defs.h | 3590 ----- sys/contrib/octeon-sdk/cvmx-twsi.c | 559 - sys/contrib/octeon-sdk/cvmx-twsi.h | 324 - sys/contrib/octeon-sdk/cvmx-uahcx-defs.h | 2823 ---- sys/contrib/octeon-sdk/cvmx-uart.c | 170 - sys/contrib/octeon-sdk/cvmx-uart.h | 169 - sys/contrib/octeon-sdk/cvmx-uctlx-defs.h | 963 -- sys/contrib/octeon-sdk/cvmx-usb.c | 3457 ----- sys/contrib/octeon-sdk/cvmx-usb.h | 1092 -- sys/contrib/octeon-sdk/cvmx-usbcx-defs.h | 4254 ------ sys/contrib/octeon-sdk/cvmx-usbd.c | 1041 -- sys/contrib/octeon-sdk/cvmx-usbd.h | 300 - sys/contrib/octeon-sdk/cvmx-usbnx-defs.h | 2332 ---- sys/contrib/octeon-sdk/cvmx-utils.h | 215 - sys/contrib/octeon-sdk/cvmx-version.h | 48 - sys/contrib/octeon-sdk/cvmx-warn.c | 89 - sys/contrib/octeon-sdk/cvmx-warn.h | 76 - sys/contrib/octeon-sdk/cvmx-wqe.h | 711 - sys/contrib/octeon-sdk/cvmx-zip-defs.h | 1113 -- sys/contrib/octeon-sdk/cvmx-zip.c | 234 - sys/contrib/octeon-sdk/cvmx-zip.h | 282 - sys/contrib/octeon-sdk/cvmx-zone.c | 173 - sys/contrib/octeon-sdk/cvmx.h | 109 - sys/contrib/octeon-sdk/octeon-boot-info.h | 225 - sys/contrib/octeon-sdk/octeon-feature.c | 146 - sys/contrib/octeon-sdk/octeon-feature.h | 317 - sys/contrib/octeon-sdk/octeon-model.c | 454 - sys/contrib/octeon-sdk/octeon-model.h | 384 - sys/contrib/octeon-sdk/octeon-pci-console.c | 499 - sys/contrib/octeon-sdk/octeon-pci-console.h | 142 - 247 files changed, 272217 deletions(-) diff --git a/sys/contrib/octeon-sdk/cvmip.h b/sys/contrib/octeon-sdk/cvmip.h deleted file mode 100644 index 4bcaaa66aa8f..000000000000 --- a/sys/contrib/octeon-sdk/cvmip.h +++ /dev/null @@ -1,209 +0,0 @@ -/***********************license start*************** - * Copyright (c) 2003-2010 Cavium Inc. (support@cavium.com). All rights - * reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - - * * Neither the name of Cavium Inc. nor the names of - * its contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - - * This Software, including technical data, may be subject to U.S. export control - * laws, including the U.S. Export Administration Act and its associated - * regulations, and may be subject to export or import regulations in other - * countries. - - * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" - * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR - * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO - * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR - * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM - * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, - * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF - * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR - * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR - * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. - ***********************license end**************************************/ - - - - - - - -/** - * @file - * - * Cavium Inc. Internet Protocol (IP) - * - * Definitions for the Internet Protocol (IP) support. - * - *
$Revision: 70030 $
- * - */ - -#ifndef __CVMIP_H__ -#define __CVMIP_H__ - - -/* - * IP protocol values (1 byte) - * - */ -#define CVMIP_PROTO_ICMP 1 /* Internet Control Message Protocol */ -#define CVMIP_PROTO_TCP 6 /* Transmission Control Protocol */ -#define CVMIP_PROTO_UDP 17 /* User Datagram Protocol */ -#define CVMIP_PROTO_ESP 50 /* Encapsulated Security Payload */ -#define CVMIP_PROTO_AH 51 /* Authentication Header */ - - -/** - * network packet header definitions - * (originally from octane_hw.h) - * - */ - -/** - * UDP Packet header - */ -typedef struct { - union { - int32_t s32 ; - uint32_t u32 ; - struct { - uint16_t src_prt ; - uint16_t dst_prt ; - } s; - } prts; - uint16_t len ; - uint16_t chksum ; -} cvmip_udp_hdr_t; - -/** - * TCP Packet header - */ -typedef struct { - uint16_t src_prt ; - uint16_t dst_prt ; - uint32_t seq ; - uint32_t ack_seq ; - uint32_t hlen :4; - uint32_t rsvd :6; - uint32_t urg :1; - uint32_t ack :1; - uint32_t psh :1; - uint32_t rst :1; - uint32_t syn :1; - uint32_t fin :1; - uint16_t win_sz ; - uint16_t chksum ; - uint16_t urg_ptr ; - uint32_t junk ; -} cvmip_tcp_hdr_t; - -/** - * L4 Packet header - */ -typedef union { - cvmip_udp_hdr_t udphdr; - cvmip_tcp_hdr_t tcphdr; - struct { - union { - int32_t s32 ; - uint32_t u32 ; - struct { - uint16_t src_prt; - uint16_t dst_prt; - } s; - } prts; - uint16_t len ; - uint16_t chksum ; - char dat[48] ; // 48 for IPv6 with no extension hdrs, 64 for IPv4 without options - } udp; - struct { - uint16_t src_prt ; - uint16_t dst_prt ; - uint32_t seq ; - uint32_t ack_seq ; - uint32_t hlen :4; - uint32_t rsvd :6; - uint32_t urg :1; - uint32_t ack :1; - uint32_t psh :1; - uint32_t rst :1; - uint32_t syn :1; - uint32_t fin :1; - uint16_t win_sz ; - uint16_t chksum ; - uint16_t urg_ptr ; - char dat[36] ; // 36 for IPv6 with no extension hdrs, 52 for IPv6 without options - } tcp; -} cvmip_l4_info_t; - -/** - * Special struct to add a pad to IPv4 header - */ -typedef struct { - uint32_t pad; - - uint32_t version : 4; - uint32_t hl : 4; - uint8_t tos ; - uint16_t len ; - - uint16_t id ; - uint32_t mbz : 1; - uint32_t df : 1; - uint32_t mf : 1; - uint32_t off :13; - - uint8_t ttl ; - uint8_t protocol; - uint16_t chksum ; - - union { - uint64_t u64; - struct { - uint32_t src; - uint32_t dst; - } s; - } src_dst; -} cvmip_ipv4_hdr_t; - -/** - * IPv6 Packet header - */ -typedef struct { - - uint32_t version : 4; - uint32_t v6class : 8; - uint32_t flow :20; - - uint16_t len ; // includes extension headers plus payload (add 40 to be equiv to v4 len field) - uint8_t next_hdr; // equivalent to the v4 protocol field - uint8_t hop_lim ; // equivalent to the v4 TTL field - - union { - uint64_t u64[4]; - struct { - uint64_t src[2]; - uint64_t dst[2]; - } s; - } src_dst; - -} cvmip_ipv6_hdr_t; - - -#endif /* __CVMIP_H__ */ diff --git a/sys/contrib/octeon-sdk/cvmx-abi.h b/sys/contrib/octeon-sdk/cvmx-abi.h deleted file mode 100644 index f727e99a7764..000000000000 --- a/sys/contrib/octeon-sdk/cvmx-abi.h +++ /dev/null @@ -1,112 +0,0 @@ -/***********************license start*************** - * Copyright (c) 2003-2010 Cavium Inc. (support@cavium.com). All rights - * reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - - * * Neither the name of Cavium Inc. nor the names of - * its contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - - * This Software, including technical data, may be subject to U.S. export control - * laws, including the U.S. Export Administration Act and its associated - * regulations, and may be subject to export or import regulations in other - * countries. - - * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" - * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR - * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO - * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR - * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM - * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, - * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF - * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR - * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR - * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. - ***********************license end**************************************/ - - - -/** - * @file - * - * This file defines macros for use in determining the current calling ABI. - * - *
$Revision: 70030 $
-*/ - -#ifndef __CVMX_ABI_H__ -#define __CVMX_ABI_H__ - -#if defined(__FreeBSD__) && defined(_KERNEL) -#include -#else -#ifndef __U_BOOT__ -#include -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Check for N32 ABI, defined for 32-bit Simple Exec applications - and Linux N32 ABI.*/ -#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) -#define CVMX_ABI_N32 -/* Check for N64 ABI, defined for 64-bit Linux toolchain. */ -#elif (defined _ABI64 && _MIPS_SIM == _ABI64) -#define CVMX_ABI_N64 -/* Check for O32 ABI, defined for Linux 032 ABI, not supported yet. */ -#elif (defined _ABIO32 && _MIPS_SIM == _ABIO32) -#define CVMX_ABI_O32 -/* Check for EABI ABI, defined for 64-bit Simple Exec applications. */ -#else -#define CVMX_ABI_EABI -#endif - -#ifndef __BYTE_ORDER - #if defined(__BIG_ENDIAN) && !defined(__LITTLE_ENDIAN) - #define __BYTE_ORDER __BIG_ENDIAN - #elif !defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) - #define __BYTE_ORDER __LITTLE_ENDIAN - #define __BIG_ENDIAN 4321 - #elif !defined(__BIG_ENDIAN) && !defined(__LITTLE_ENDIAN) - #define __BIG_ENDIAN 4321 - #define __BYTE_ORDER __BIG_ENDIAN - #else - #error Unable to determine Endian mode - #endif -#endif - -/* For compatibility with Linux definitions... */ -#if __BYTE_ORDER == __BIG_ENDIAN -# ifndef __BIG_ENDIAN_BITFIELD -# define __BIG_ENDIAN_BITFIELD -# endif -#else -# ifndef __LITTLE_ENDIAN_BITFIELD -# define __LITTLE_ENDIAN_BITFIELD -# endif -#endif -#if defined(__BIG_ENDIAN_BITFIELD) && defined(__LITTLE_ENDIAN_BITFIELD) -# error Cannot define both __BIG_ENDIAN_BITFIELD and __LITTLE_ENDIAN_BITFIELD -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __CVMX_ABI_H__ */ diff --git a/sys/contrib/octeon-sdk/cvmx-access-native.h b/sys/contrib/octeon-sdk/cvmx-access-native.h deleted file mode 100644 index 78d8029297ab..000000000000 --- a/sys/contrib/octeon-sdk/cvmx-access-native.h +++ /dev/null @@ -1,725 +0,0 @@ -/***********************license start*************** - * Copyright (c) 2003-2010 Cavium Inc. (support@cavium.com). All rights - * reserved. - * - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - - * * Neither the name of Cavium Inc. nor the names of - * its contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - - * This Software, including technical data, may be subject to U.S. export control - * laws, including the U.S. Export Administration Act and its associated - * regulations, and may be subject to export or import regulations in other - * countries. - - * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" - * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR - * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO - * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR - * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM - * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, - * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF - * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR - * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR - * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. - ***********************license end**************************************/ - - -/** - * @file - * Functions for accessing memory and CSRs on Octeon when we are compiling - * natively. - * - *
$Revision: 38306 $
-*/ -#ifndef __CVMX_ACCESS_NATIVE_H__ -#define __CVMX_ACCESS_NATIVE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Returns the Octeon processor ID. - * - * @return Octeon processor ID from COP0 - */ -static inline uint32_t cvmx_get_proc_id(void) -{ -#ifdef CVMX_BUILD_FOR_LINUX_USER - extern uint32_t cvmx_app_init_processor_id; - return cvmx_app_init_processor_id; -#else - uint32_t id; - asm ("mfc0 %0, $15,0" : "=r" (id)); - return id; -#endif -} - -/** - * Convert a memory pointer (void*) into a hardware compatable - * memory address (uint64_t). Octeon hardware widgets don't - * understand logical addresses. - * - * @param ptr C style memory pointer - * @return Hardware physical address - */ -static inline uint64_t cvmx_ptr_to_phys(void *ptr) -{ - if (CVMX_ENABLE_PARAMETER_CHECKING) - cvmx_warn_if(ptr==NULL, "cvmx_ptr_to_phys() passed a NULL pointer\n"); - -#ifdef CVMX_BUILD_FOR_UBOOT - uint64_t uboot_tlb_ptr_to_phys(void *ptr); - - if (((uint32_t)ptr) < 0x80000000) - { - /* Handle useg (unmapped due to ERL) here*/ - return(CAST64(ptr) & 0x7FFFFFFF); - } - else if (((uint32_t)ptr) < 0xC0000000) - { - /* Here we handle KSEG0/KSEG1 _pointers_. We know we are dealing - ** with 32 bit only values, so we treat them that way. Note that - ** a cvmx_phys_to_ptr(cvmx_ptr_to_phys(X)) will not return X in this case, - ** but the physical address of the KSEG0/KSEG1 address. */ - return(CAST64(ptr) & 0x1FFFFFFF); - } - else - return(uboot_tlb_ptr_to_phys(ptr)); /* Should not get get here in !TLB case */ - -#endif - -#ifdef __linux__ - if (sizeof(void*) == 8) - { - /* We're running in 64 bit mode. Normally this means that we can use - 40 bits of address space (the hardware limit). Unfortunately there - is one case were we need to limit this to 30 bits, sign extended - 32 bit. Although these are 64 bits wide, only 30 bits can be used */ - if ((CAST64(ptr) >> 62) == 3) - return CAST64(ptr) & cvmx_build_mask(30); - else - return CAST64(ptr) & cvmx_build_mask(40); - } - else - { -#ifdef __KERNEL__ - return (long)(ptr) & 0x1fffffff; -#else - extern uint64_t linux_mem32_offset; - if (cvmx_likely(ptr)) - return CAST64(ptr) - linux_mem32_offset; - else - return 0; -#endif - } -#elif defined(_WRS_KERNEL) - return (long)(ptr) & 0x7fffffff; -#elif defined(VXWORKS_USER_MAPPINGS) - /* This mapping mode is used in vxWorks 5.5 to support 2GB of ram. The - 2nd 256MB is mapped at 0x10000000 and the rest of memory is 1:1 */ - uint64_t address = (long)ptr; - if (address & 0x80000000) - return address & 0x1fffffff; /* KSEG pointers directly map the lower 256MB and bootbus */ - else if ((address >= 0x10000000) && (address < 0x20000000)) - return address + 0x400000000ull; /* 256MB-512MB is a virtual mapping for the 2nd 256MB */ - else - return address; /* Looks to be a 1:1 mapped userspace pointer */ -#elif defined(__FreeBSD__) && defined(_KERNEL) - return (pmap_kextract((vm_offset_t)ptr)); -#else -#if CVMX_USE_1_TO_1_TLB_MAPPINGS - /* We are assumung we're running the Simple Executive standalone. In this - mode the TLB is setup to perform 1:1 mapping and 32 bit sign extended - addresses are never used. Since we know all this, save the masking - cycles and do nothing */ - return CAST64(ptr); -#else - - if (sizeof(void*) == 8) - { - /* We're running in 64 bit mode. Normally this means that we can use - 40 bits of address space (the hardware limit). Unfortunately there - is one case were we need to limit this to 30 bits, sign extended - 32 bit. Although these are 64 bits wide, only 30 bits can be used */ - if ((CAST64(ptr) >> 62) == 3) - return CAST64(ptr) & cvmx_build_mask(30); - else - return CAST64(ptr) & cvmx_build_mask(40); - } - else - return (long)(ptr) & 0x7fffffff; - -#endif -#endif -} - - -/** - * Convert a hardware physical address (uint64_t) into a - * memory pointer (void *). - * - * @param physical_address - * Hardware physical address to memory - * @return Pointer to memory - */ -static inline void *cvmx_phys_to_ptr(uint64_t physical_address) -{ - if (CVMX_ENABLE_PARAMETER_CHECKING) - cvmx_warn_if(physical_address==0, "cvmx_phys_to_ptr() passed a zero address\n"); - -#ifdef CVMX_BUILD_FOR_UBOOT - - /* U-boot is a special case, as it is running in 32 bit mode, using the TLB to map code/data - ** which can have a physical address above the 32 bit address space. 1-1 mappings are used - ** to allow the low 2 GBytes to be accessed as in error level. - ** - ** NOTE: This conversion can cause problems in u-boot, as users may want to enter addresses - ** like 0xBFC00000 (kseg1 boot bus address), which is a valid 64 bit physical address, - ** but is likely intended to be a boot bus address. */ - - if (physical_address < 0x80000000) - { - /* Handle useg here. ERL is set, so useg is unmapped. This is the only physical - ** address range that is directly addressable by u-boot. */ - return CASTPTR(void, physical_address); - } - else - { - DECLARE_GLOBAL_DATA_PTR; - extern char uboot_start; - /* Above 0x80000000 we can only support one case - a physical address - ** that is mapped for u-boot code/data. We check against the u-boot mem range, - ** and return NULL if it is out of this range. - */ - if (physical_address >= gd->bd->bi_uboot_ram_addr - && physical_address < gd->bd->bi_uboot_ram_addr + gd->bd->bi_uboot_ram_used_size) - { - return ((char *)&uboot_start + (physical_address - gd->bd->bi_uboot_ram_addr)); - } - else - return(NULL); - } - - if (physical_address >= 0x80000000) - return NULL; - else -#endif - -#ifdef __linux__ - if (sizeof(void*) == 8) - { - /* Just set the top bit, avoiding any TLB uglyness */ - return CASTPTR(void, CVMX_ADD_SEG(CVMX_MIPS_SPACE_XKPHYS, physical_address)); - } - else - { -#ifdef __KERNEL__ - return CASTPTR(void, CVMX_ADD_SEG32(CVMX_MIPS32_SPACE_KSEG0, physical_address)); -#else - extern uint64_t linux_mem32_offset; - if (cvmx_likely(physical_address)) - return CASTPTR(void, physical_address + linux_mem32_offset); - else - return NULL; -#endif - } -#elif defined(_WRS_KERNEL) - return CASTPTR(void, CVMX_ADD_SEG32(CVMX_MIPS32_SPACE_KSEG0, physical_address)); -#elif defined(VXWORKS_USER_MAPPINGS) - /* This mapping mode is used in vxWorks 5.5 to support 2GB of ram. The - 2nd 256MB is mapped at 0x10000000 and the rest of memory is 1:1 */ - if ((physical_address >= 0x10000000) && (physical_address < 0x20000000)) - return CASTPTR(void, CVMX_ADD_SEG32(CVMX_MIPS32_SPACE_KSEG0, physical_address)); - else if ((OCTEON_IS_MODEL(OCTEON_CN3XXX) || OCTEON_IS_MODEL(OCTEON_CN5XXX)) - && (physical_address >= 0x410000000ull) - && (physical_address < 0x420000000ull)) - return CASTPTR(void, physical_address - 0x400000000ull); - else - return CASTPTR(void, physical_address); -#elif defined(__FreeBSD__) && defined(_KERNEL) -#if defined(__mips_n64) - return CASTPTR(void, CVMX_ADD_SEG(CVMX_MIPS_SPACE_XKPHYS, physical_address)); -#else - if (physical_address < 0x20000000) - return CASTPTR(void, CVMX_ADD_SEG32(CVMX_MIPS32_SPACE_KSEG0, physical_address)); - else - panic("%s: mapping high address (%#jx) not yet supported.\n", __func__, (uintmax_t)physical_address); -#endif -#else - -#if CVMX_USE_1_TO_1_TLB_MAPPINGS - /* We are assumung we're running the Simple Executive standalone. In this - mode the TLB is setup to perform 1:1 mapping and 32 bit sign extended - addresses are never used. Since we know all this, save bit insert - cycles and do nothing */ - return CASTPTR(void, physical_address); -#else - /* Set the XKPHYS/KSEG0 bit as appropriate based on ABI */ - if (sizeof(void*) == 8) - return CASTPTR(void, CVMX_ADD_SEG(CVMX_MIPS_SPACE_XKPHYS, physical_address)); - else - return CASTPTR(void, CVMX_ADD_SEG32(CVMX_MIPS32_SPACE_KSEG0, physical_address)); - -#endif - -#endif -} - - -/* The following #if controls the definition of the macro - CVMX_BUILD_WRITE64. This macro is used to build a store operation to - a full 64bit address. With a 64bit ABI, this can be done with a simple - pointer access. 32bit ABIs require more complicated assembly */ -#if defined(CVMX_ABI_N64) || defined(CVMX_ABI_EABI) - -/* We have a full 64bit ABI. Writing to a 64bit address can be done with - a simple volatile pointer */ -#define CVMX_BUILD_WRITE64(TYPE, ST) \ -static inline void cvmx_write64_##TYPE(uint64_t addr, TYPE##_t val) \ -{ \ - *CASTPTR(volatile TYPE##_t, addr) = val; \ -} - -#elif defined(CVMX_ABI_N32) - -/* The N32 ABI passes all 64bit quantities in a single register, so it is - possible to use the arguments directly. We have to use inline assembly - for the actual store since a pointer would truncate the address */ -#define CVMX_BUILD_WRITE64(TYPE, ST) \ -static inline void cvmx_write64_##TYPE(uint64_t addr, TYPE##_t val) \ -{ \ - asm volatile (ST " %[v], 0(%[c])" ::[v] "r" (val), [c] "r" (addr)); \ -} - -#elif defined(CVMX_ABI_O32) - -#ifdef __KERNEL__ -#define CVMX_BUILD_WRITE64(TYPE, LT) extern void cvmx_write64_##TYPE(uint64_t csr_addr, TYPE##_t val); -#else - -/* Ok, now the ugly stuff starts. O32 splits 64bit quantities into two - separate registers. Assembly must be used to put them back together - before they're used. What should be a simple store becomes a - convoluted mess of shifts and ors */ -#define CVMX_BUILD_WRITE64(TYPE, ST) \ -static inline void cvmx_write64_##TYPE(uint64_t csr_addr, TYPE##_t val) \ -{ \ - if (sizeof(TYPE##_t) == 8) \ - { \ - uint32_t csr_addrh = csr_addr>>32; \ - uint32_t csr_addrl = csr_addr; \ - uint32_t valh = (uint64_t)val>>32; \ - uint32_t vall = val; \ - uint32_t tmp1; \ - uint32_t tmp2; \ - uint32_t tmp3; \ - \ - asm volatile ( \ - ".set push\n" \ - ".set mips64\n" \ - "dsll %[tmp1], %[valh], 32\n" \ - "dsll %[tmp2], %[csrh], 32\n" \ - "dsll %[tmp3], %[vall], 32\n" \ - "dsrl %[tmp3], %[tmp3], 32\n" \ - "or %[tmp1], %[tmp1], %[tmp3]\n" \ - "dsll %[tmp3], %[csrl], 32\n" \ - "dsrl %[tmp3], %[tmp3], 32\n" \ - "or %[tmp2], %[tmp2], %[tmp3]\n" \ - ST " %[tmp1], 0(%[tmp2])\n" \ - ".set pop\n" \ - : [tmp1] "=&r" (tmp1), [tmp2] "=&r" (tmp2), [tmp3] "=&r" (tmp3)\ - : [valh] "r" (valh), [vall] "r" (vall), \ - [csrh] "r" (csr_addrh), [csrl] "r" (csr_addrl) \ - ); \ - } \ - else \ - { \ - uint32_t csr_addrh = csr_addr>>32; \ - uint32_t csr_addrl = csr_addr; \ - uint32_t tmp1; \ - uint32_t tmp2; \ - \ - asm volatile ( \ - ".set push\n" \ - ".set mips64\n" \ - "dsll %[tmp1], %[csrh], 32\n" \ - "dsll %[tmp2], %[csrl], 32\n" \ - "dsrl %[tmp2], %[tmp2], 32\n" \ - "or %[tmp1], %[tmp1], %[tmp2]\n" \ - ST " %[val], 0(%[tmp1])\n" \ - ".set pop\n" \ - : [tmp1] "=&r" (tmp1), [tmp2] "=&r" (tmp2) \ - : [val] "r" (val), [csrh] "r" (csr_addrh), \ - [csrl] "r" (csr_addrl) \ - ); \ - } \ -} - -#endif - -#else - -/* cvmx-abi.h didn't recognize the ABI. Force the compile to fail. */ -#error: Unsupported ABI - -#endif - -/* The following #if controls the definition of the macro - CVMX_BUILD_READ64. This macro is used to build a load operation from *** 272977 LINES SKIPPED ***