source: svn/trunk/newcon3bcm2_21bu/nexus/base/include/nexus_base_mmap.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 3.8 KB
Line 
1/***************************************************************************
2*     (c)2007-2010 Broadcom Corporation
3*
4*  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5*  and may only be used, duplicated, modified or distributed pursuant to the terms and
6*  conditions of a separate, written license agreement executed between you and Broadcom
7*  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8*  no license (express or implied), right to use, or waiver of any kind with respect to the
9*  Software, and Broadcom expressly reserves all rights in and to the Software and all
10*  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11*  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12*  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13*
14*  Except as expressly set forth in the Authorized License,
15*
16*  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17*  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18*  and to use this information only in connection with your use of Broadcom integrated circuit products.
19*
20*  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21*  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22*  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23*  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24*  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25*  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26*  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27*  USE OR PERFORMANCE OF THE SOFTWARE.
28*
29*  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30*  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31*  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32*  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33*  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34*  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35*  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36*  ANY LIMITED REMEDY.
37*
38* $brcm_Workfile: nexus_base_mmap.h $
39* $brcm_Revision: 3 $
40* $brcm_Date: 11/3/10 4:16p $
41*
42* Revision History:
43*
44* $brcm_Log: /nexus/base/include/nexus_base_mmap.h $
45*
46* 3   11/3/10 4:16p erickson
47* SW7420-1223: refactor for application use of pointer/offset conversion
48*  functions
49*
50* 2   10/19/10 4:24p erickson
51* SW7420-1155: clarify that offset is a system-wide unique physical
52*  address
53*
54* 1   9/24/10 9:23a erickson
55* SW7420-943: add files
56*
57***************************************************************************/
58#ifndef NEXUS_BASE_MMAP_H__
59#define NEXUS_BASE_MMAP_H__
60
61#include "nexus_base_types.h"
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67/**
68This API is available to Nexus and applications.
69Only Nexus is able to submit new memory mappings (see nexus_base.h), but applications can query this mapping information.
70
71This API assumes that "physical offset" is a physical address.
72That means, for a system with multiple memory controllers (MEMC's), offsets will be unique in the system.
73**/
74
75/**
76Summary:
77Convert a cached or uncached virtual address to a physical offset.
78**/
79uint32_t NEXUS_AddrToOffset(const void *addr);
80
81/**
82Summary:
83Convert a physical offset to a cached address.
84**/
85void *NEXUS_OffsetToCachedAddr(uint32_t offset);
86
87/**
88Summary:
89Convert a physical offset to an uncached address.
90**/
91void *NEXUS_OffsetToUncachedAddr(uint32_t offset);
92
93#ifdef __cplusplus
94}
95#endif
96
97#endif
Note: See TracBrowser for help on using the repository browser.