diff options
Diffstat (limited to 'sys/contrib/octeon-sdk/cvmx-access.h')
-rw-r--r-- | sys/contrib/octeon-sdk/cvmx-access.h | 98 |
1 files changed, 56 insertions, 42 deletions
diff --git a/sys/contrib/octeon-sdk/cvmx-access.h b/sys/contrib/octeon-sdk/cvmx-access.h index d0da7ca..c1206dd 100644 --- a/sys/contrib/octeon-sdk/cvmx-access.h +++ b/sys/contrib/octeon-sdk/cvmx-access.h @@ -1,41 +1,43 @@ /***********************license start*************** - * Copyright (c) 2003-2009 Cavium Networks (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 Networks nor the names of - * its contributors may be used to endorse or promote products - * derived from this software without specific prior written - * permission. - * - * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" - * AND WITH ALL FAULTS AND CAVIUM NETWORKS 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. - * - * - * For any questions regarding licensing please contact marketing@caviumnetworks.com - * + * Copyright (c) 2003-2010 Cavium Networks (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 Networks 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 NETWORKS 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 * Function prototypes for accessing memory and CSRs on Octeon. @@ -138,7 +140,7 @@ CVMX_FUNCTION void cvmx_send_single(uint64_t data); CVMX_FUNCTION void cvmx_read_csr_async(uint64_t scraddr, uint64_t csr_addr); /** - * Number of the Core on which the program is currently running. + * Number of the Core on which the program is currently running. * * @return Number of cores */ @@ -165,23 +167,28 @@ CVMX_FUNCTION uint32_t cvmx_pop(uint32_t val); CVMX_FUNCTION int cvmx_dpop(uint64_t val); /** - * Provide current cycle counter as a return value + * @deprecated + * Provide current cycle counter as a return value. Deprecated, use + * cvmx_clock_get_count(CVMX_CLOCK_CORE) to get cycle counter. * * @return current cycle counter */ CVMX_FUNCTION uint64_t cvmx_get_cycle(void); /** - * Reads a chip global cycle counter. This counts CPU cycles since - * chip reset. The counter is 64 bit. - * This register does not exist on CN38XX pass 1 silicion + * @deprecated + * Reads a chip global cycle counter. This counts SCLK cycles since + * chip reset. The counter is 64 bit. This function is deprecated as the rate + * of the global cycle counter is different between Octeon+ and Octeon2, use + * cvmx_clock_get_count(CVMX_CLOCK_SCLK) instead. For Octeon2, the clock rate + * of SCLK may be differnet than the core clock. * * @return Global chip cycle count since chip reset. */ -CVMX_FUNCTION uint64_t cvmx_get_cycle_global(void); +CVMX_FUNCTION uint64_t cvmx_get_cycle_global(void) __attribute__((deprecated)); /** - * Wait for the specified number of cycle + * Wait for the specified number of core clock cycles * * @param cycles */ @@ -195,6 +202,13 @@ CVMX_FUNCTION void cvmx_wait(uint64_t cycles); CVMX_FUNCTION void cvmx_wait_usec(uint64_t usec); /** + * Wait for the specified number of io clock cycles + * + * @param cycles + */ +CVMX_FUNCTION void cvmx_wait_io(uint64_t cycles); + +/** * Perform a soft reset of Octeon * * @return |