The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/arm/arm/bus_space_base.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (C) 2008 MARVELL INTERNATIONAL LTD.
    3  * All rights reserved.
    4  *
    5  * Developed by Semihalf.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  * 3. Neither the name of MARVELL nor the names of contributors
   16  *    may be used to endorse or promote products derived from this software
   17  *    without specific prior written permission.
   18  *
   19  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   22  * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
   23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   29  * SUCH DAMAGE.
   30  */
   31 
   32 #include <sys/cdefs.h>
   33 __FBSDID("$FreeBSD: releng/10.2/sys/arm/arm/bus_space_base.c 278727 2015-02-13 22:32:02Z ian $");
   34 
   35 #include <sys/param.h>
   36 #include <sys/systm.h>
   37 #include <machine/bus.h>
   38 
   39 #include "opt_platform.h"
   40 
   41 /* Prototypes for all the bus_space structure functions */
   42 bs_protos(generic);
   43 
   44 /*
   45  * The bus space tag.  This is constant for all instances, so
   46  * we never have to explicitly "create" it.
   47  */
   48 static struct bus_space arm_base_bus_space __aligned(CACHE_LINE_SIZE) = {
   49         /* privdata is whatever the implementer wants; unused in base tag */
   50         .bs_privdata    = NULL,
   51 
   52         /* mapping/unmapping */
   53         .bs_map         = generic_bs_map,
   54         .bs_unmap       = generic_bs_unmap,
   55         .bs_subregion   = generic_bs_subregion,
   56 
   57         /* allocation/deallocation */
   58         .bs_alloc       = generic_bs_alloc,
   59         .bs_free        = generic_bs_free,
   60 
   61         /* barrier */
   62         .bs_barrier     = generic_bs_barrier,
   63 
   64         /* read (single) */
   65         .bs_r_1         = NULL, /* Use inline code in bus.h */
   66         .bs_r_2         = NULL, /* Use inline code in bus.h */
   67         .bs_r_4         = NULL, /* Use inline code in bus.h */
   68         .bs_r_8         = NULL, /* Use inline code in bus.h */
   69 
   70         /* read multiple */
   71         .bs_rm_1        = generic_bs_rm_1,
   72         .bs_rm_2        = generic_bs_rm_2,
   73         .bs_rm_4        = generic_bs_rm_4,
   74         .bs_rm_8        = BS_UNIMPLEMENTED,
   75 
   76         /* read region */
   77         .bs_rr_1        = generic_bs_rr_1,
   78         .bs_rr_2        = generic_bs_rr_2,
   79         .bs_rr_4        = generic_bs_rr_4,
   80         .bs_rr_8        = BS_UNIMPLEMENTED,
   81 
   82         /* write (single) */
   83         .bs_w_1         = NULL, /* Use inline code in bus.h */
   84         .bs_w_2         = NULL, /* Use inline code in bus.h */
   85         .bs_w_4         = NULL, /* Use inline code in bus.h */
   86         .bs_w_8         = NULL, /* Use inline code in bus.h */
   87 
   88         /* write multiple */
   89         .bs_wm_1        = generic_bs_wm_1,
   90         .bs_wm_2        = generic_bs_wm_2,
   91         .bs_wm_4        = generic_bs_wm_4,
   92         .bs_wm_8        = BS_UNIMPLEMENTED,
   93 
   94         /* write region */
   95         .bs_wr_1        = generic_bs_wr_1,
   96         .bs_wr_2        = generic_bs_wr_2,
   97         .bs_wr_4        = generic_bs_wr_4,
   98         .bs_wr_8        = BS_UNIMPLEMENTED,
   99 
  100         /* set multiple */
  101         .bs_sm_1        = BS_UNIMPLEMENTED,
  102         .bs_sm_2        = BS_UNIMPLEMENTED,
  103         .bs_sm_4        = BS_UNIMPLEMENTED,
  104         .bs_sm_8        = BS_UNIMPLEMENTED,
  105 
  106         /* set region */
  107         .bs_sr_1        = generic_bs_sr_1,
  108         .bs_sr_2        = generic_bs_sr_2,
  109         .bs_sr_4        = generic_bs_sr_4,
  110         .bs_sr_8        = BS_UNIMPLEMENTED,
  111 
  112         /* copy */
  113         .bs_c_1         = BS_UNIMPLEMENTED,
  114         .bs_c_2         = generic_bs_c_2,
  115         .bs_c_4         = BS_UNIMPLEMENTED,
  116         .bs_c_8         = BS_UNIMPLEMENTED,
  117 
  118         /* read stream (single) */
  119         .bs_r_1_s       = NULL,   /* Use inline code in bus.h */ 
  120         .bs_r_2_s       = NULL,   /* Use inline code in bus.h */ 
  121         .bs_r_4_s       = NULL,   /* Use inline code in bus.h */ 
  122         .bs_r_8_s       = NULL,   /* Use inline code in bus.h */ 
  123 
  124         /* read multiple stream */
  125         .bs_rm_1_s      = generic_bs_rm_1,
  126         .bs_rm_2_s      = generic_bs_rm_2,
  127         .bs_rm_4_s      = generic_bs_rm_4,
  128         .bs_rm_8_s      = BS_UNIMPLEMENTED,
  129 
  130         /* read region stream */
  131         .bs_rr_1_s      = generic_bs_rr_1,
  132         .bs_rr_2_s      = generic_bs_rr_2,
  133         .bs_rr_4_s      = generic_bs_rr_4,
  134         .bs_rr_8_s      = BS_UNIMPLEMENTED,
  135 
  136         /* write stream (single) */
  137         .bs_w_1_s       = NULL,   /* Use inline code in bus.h */ 
  138         .bs_w_2_s       = NULL,   /* Use inline code in bus.h */ 
  139         .bs_w_4_s       = NULL,   /* Use inline code in bus.h */ 
  140         .bs_w_8_s       = NULL,   /* Use inline code in bus.h */ 
  141 
  142         /* write multiple stream */
  143         .bs_wm_1_s      = generic_bs_wm_1,
  144         .bs_wm_2_s      = generic_bs_wm_2,
  145         .bs_wm_4_s      = generic_bs_wm_4,
  146         .bs_wm_8_s      = BS_UNIMPLEMENTED,
  147 
  148         /* write region stream */
  149         .bs_wr_1_s      = generic_bs_wr_1,
  150         .bs_wr_2_s      = generic_bs_wr_2,
  151         .bs_wr_4_s      = generic_bs_wr_4,
  152         .bs_wr_8_s      = BS_UNIMPLEMENTED,
  153 };
  154 
  155 #ifdef FDT
  156 bus_space_tag_t fdtbus_bs_tag = &arm_base_bus_space;
  157 #endif
  158 
  159 bus_space_tag_t arm_base_bs_tag = &arm_base_bus_space;

Cache object: ca345a7479f93830241550c3bc77b739


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.