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/mips/nlm/bus_space_rmi.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 2003-2011 Netlogic Microsystems (Netlogic). All rights
    3  * reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions are
    7  * met:
    8  *
    9  * 1. Redistributions of source code must retain the above copyright
   10  *    notice, this list of conditions and the following disclaimer.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in
   13  *    the documentation and/or other materials provided with the
   14  *    distribution.
   15  *
   16  * THIS SOFTWARE IS PROVIDED BY Netlogic Microsystems ``AS IS'' AND
   17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE
   20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
   26  * THE POSSIBILITY OF SUCH DAMAGE.
   27  *
   28  * NETLOGIC_BSD */
   29 
   30 #include <sys/cdefs.h>
   31 __FBSDID("$FreeBSD: releng/9.1/sys/mips/nlm/bus_space_rmi.c 225394 2011-09-05 10:45:29Z jchandra $");
   32 
   33 #include <sys/param.h>
   34 #include <sys/systm.h>
   35 #include <sys/bus.h>
   36 #include <sys/kernel.h>
   37 #include <sys/endian.h>
   38 #include <sys/malloc.h>
   39 #include <sys/ktr.h>
   40 
   41 #include <vm/vm.h>
   42 #include <vm/pmap.h>
   43 #include <vm/vm_kern.h>
   44 #include <vm/vm_extern.h>
   45 
   46 #include <machine/bus.h>
   47 #include <machine/cache.h>
   48 
   49 static int
   50 rmi_bus_space_map(void *t, bus_addr_t addr,
   51     bus_size_t size, int flags,
   52     bus_space_handle_t *bshp);
   53 
   54 static void
   55 rmi_bus_space_unmap(void *t, bus_space_handle_t bsh,
   56     bus_size_t size);
   57 
   58 static int
   59 rmi_bus_space_subregion(void *t,
   60     bus_space_handle_t bsh,
   61     bus_size_t offset, bus_size_t size,
   62     bus_space_handle_t *nbshp);
   63 
   64 static u_int8_t
   65 rmi_bus_space_read_1(void *t,
   66     bus_space_handle_t handle,
   67     bus_size_t offset);
   68 
   69 static u_int16_t
   70 rmi_bus_space_read_2(void *t,
   71     bus_space_handle_t handle,
   72     bus_size_t offset);
   73 
   74 static u_int32_t
   75 rmi_bus_space_read_4(void *t,
   76     bus_space_handle_t handle,
   77     bus_size_t offset);
   78 
   79 static void
   80 rmi_bus_space_read_multi_1(void *t,
   81     bus_space_handle_t handle,
   82     bus_size_t offset, u_int8_t *addr,
   83     size_t count);
   84 
   85 static void
   86 rmi_bus_space_read_multi_2(void *t,
   87     bus_space_handle_t handle,
   88     bus_size_t offset, u_int16_t *addr,
   89     size_t count);
   90 
   91 static void
   92 rmi_bus_space_read_multi_4(void *t,
   93     bus_space_handle_t handle,
   94     bus_size_t offset, u_int32_t *addr,
   95     size_t count);
   96 
   97 static void
   98 rmi_bus_space_read_region_1(void *t,
   99     bus_space_handle_t bsh,
  100     bus_size_t offset, u_int8_t *addr,
  101     size_t count);
  102 
  103 static void
  104 rmi_bus_space_read_region_2(void *t,
  105     bus_space_handle_t bsh,
  106     bus_size_t offset, u_int16_t *addr,
  107     size_t count);
  108 
  109 static void
  110 rmi_bus_space_read_region_4(void *t,
  111     bus_space_handle_t bsh,
  112     bus_size_t offset, u_int32_t *addr,
  113     size_t count);
  114 
  115 static void
  116 rmi_bus_space_write_1(void *t,
  117     bus_space_handle_t handle,
  118     bus_size_t offset, u_int8_t value);
  119 
  120 static void
  121 rmi_bus_space_write_2(void *t,
  122     bus_space_handle_t handle,
  123     bus_size_t offset, u_int16_t value);
  124 
  125 static void
  126 rmi_bus_space_write_4(void *t,
  127     bus_space_handle_t handle,
  128     bus_size_t offset, u_int32_t value);
  129 
  130 static void
  131 rmi_bus_space_write_multi_1(void *t,
  132     bus_space_handle_t handle,
  133     bus_size_t offset,
  134     const u_int8_t *addr,
  135     size_t count);
  136 
  137 static void
  138 rmi_bus_space_write_multi_2(void *t,
  139     bus_space_handle_t handle,
  140     bus_size_t offset,
  141     const u_int16_t *addr,
  142     size_t count);
  143 
  144 static void
  145 rmi_bus_space_write_multi_4(void *t,
  146     bus_space_handle_t handle,
  147     bus_size_t offset,
  148     const u_int32_t *addr,
  149     size_t count);
  150 
  151 static void
  152 rmi_bus_space_write_region_2(void *t,
  153     bus_space_handle_t bsh,
  154     bus_size_t offset,
  155     const u_int16_t *addr,
  156     size_t count);
  157 
  158 static void
  159 rmi_bus_space_write_region_4(void *t,
  160     bus_space_handle_t bsh,
  161     bus_size_t offset,
  162     const u_int32_t *addr,
  163     size_t count);
  164 
  165 
  166 static void
  167 rmi_bus_space_set_region_2(void *t,
  168     bus_space_handle_t bsh,
  169     bus_size_t offset, u_int16_t value,
  170     size_t count);
  171 static void
  172 rmi_bus_space_set_region_4(void *t,
  173     bus_space_handle_t bsh,
  174     bus_size_t offset, u_int32_t value,
  175     size_t count);
  176 
  177 static void
  178 rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
  179     bus_size_t offset __unused, bus_size_t len __unused, int flags);
  180 
  181 static void
  182 rmi_bus_space_copy_region_2(void *t,
  183     bus_space_handle_t bsh1,
  184     bus_size_t off1,
  185     bus_space_handle_t bsh2,
  186     bus_size_t off2, size_t count);
  187 
  188 u_int8_t
  189 rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
  190     bus_size_t offset);
  191 
  192 static u_int16_t
  193 rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
  194     bus_size_t offset);
  195 
  196 static u_int32_t
  197 rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
  198     bus_size_t offset);
  199 static void
  200 rmi_bus_space_read_multi_stream_1(void *t,
  201     bus_space_handle_t handle,
  202     bus_size_t offset, u_int8_t *addr,
  203     size_t count);
  204 
  205 static void
  206 rmi_bus_space_read_multi_stream_2(void *t,
  207     bus_space_handle_t handle,
  208     bus_size_t offset, u_int16_t *addr,
  209     size_t count);
  210 
  211 static void
  212 rmi_bus_space_read_multi_stream_4(void *t,
  213     bus_space_handle_t handle,
  214     bus_size_t offset, u_int32_t *addr,
  215     size_t count);
  216 
  217 void
  218 rmi_bus_space_write_stream_1(void *t, bus_space_handle_t bsh,
  219     bus_size_t offset, u_int8_t value);
  220 static void
  221 rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
  222     bus_size_t offset, u_int16_t value);
  223 
  224 static void
  225 rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
  226     bus_size_t offset, u_int32_t value);
  227 
  228 static void
  229 rmi_bus_space_write_multi_stream_1(void *t,
  230     bus_space_handle_t handle,
  231     bus_size_t offset,
  232     const u_int8_t *addr,
  233     size_t count);
  234 static void
  235 rmi_bus_space_write_multi_stream_2(void *t,
  236     bus_space_handle_t handle,
  237     bus_size_t offset,
  238     const u_int16_t *addr,
  239     size_t count);
  240 
  241 static void
  242 rmi_bus_space_write_multi_stream_4(void *t,
  243     bus_space_handle_t handle,
  244     bus_size_t offset,
  245     const u_int32_t *addr,
  246     size_t count);
  247 
  248 #define TODO() printf("XLP bus space: '%s' unimplemented\n", __func__)
  249 
  250 static struct bus_space local_rmi_bus_space = {
  251         /* cookie */
  252         (void *)0,
  253 
  254         /* mapping/unmapping */
  255         rmi_bus_space_map,
  256         rmi_bus_space_unmap,
  257         rmi_bus_space_subregion,
  258 
  259         /* allocation/deallocation */
  260         NULL,
  261         NULL,
  262 
  263         /* barrier */
  264         rmi_bus_space_barrier,
  265 
  266         /* read (single) */
  267         rmi_bus_space_read_1,
  268         rmi_bus_space_read_2,
  269         rmi_bus_space_read_4,
  270         NULL,
  271 
  272         /* read multiple */
  273         rmi_bus_space_read_multi_1,
  274         rmi_bus_space_read_multi_2,
  275         rmi_bus_space_read_multi_4,
  276         NULL,
  277 
  278         /* read region */
  279         rmi_bus_space_read_region_1,
  280         rmi_bus_space_read_region_2,
  281         rmi_bus_space_read_region_4,
  282         NULL,
  283 
  284         /* write (single) */
  285         rmi_bus_space_write_1,
  286         rmi_bus_space_write_2,
  287         rmi_bus_space_write_4,
  288         NULL,
  289 
  290         /* write multiple */
  291         rmi_bus_space_write_multi_1,
  292         rmi_bus_space_write_multi_2,
  293         rmi_bus_space_write_multi_4,
  294         NULL,
  295 
  296         /* write region */
  297         NULL,
  298         rmi_bus_space_write_region_2,
  299         rmi_bus_space_write_region_4,
  300         NULL,
  301 
  302         /* set multiple */
  303         NULL,
  304         NULL,
  305         NULL,
  306         NULL,
  307 
  308         /* set region */
  309         NULL,
  310         rmi_bus_space_set_region_2,
  311         rmi_bus_space_set_region_4,
  312         NULL,
  313 
  314         /* copy */
  315         NULL,
  316         rmi_bus_space_copy_region_2,
  317         NULL,
  318         NULL,
  319 
  320         /* read (single) stream */
  321         rmi_bus_space_read_stream_1,
  322         rmi_bus_space_read_stream_2,
  323         rmi_bus_space_read_stream_4,
  324         NULL,
  325 
  326         /* read multiple stream */
  327         rmi_bus_space_read_multi_stream_1,
  328         rmi_bus_space_read_multi_stream_2,
  329         rmi_bus_space_read_multi_stream_4,
  330         NULL,
  331 
  332         /* read region stream */
  333         rmi_bus_space_read_region_1,
  334         rmi_bus_space_read_region_2,
  335         rmi_bus_space_read_region_4,
  336         NULL,
  337 
  338         /* write (single) stream */
  339         rmi_bus_space_write_stream_1,
  340         rmi_bus_space_write_stream_2,
  341         rmi_bus_space_write_stream_4,
  342         NULL,
  343 
  344         /* write multiple stream */
  345         rmi_bus_space_write_multi_stream_1,
  346         rmi_bus_space_write_multi_stream_2,
  347         rmi_bus_space_write_multi_stream_4,
  348         NULL,
  349 
  350         /* write region stream */
  351         NULL,
  352         rmi_bus_space_write_region_2,
  353         rmi_bus_space_write_region_4,
  354         NULL,
  355 };
  356 
  357 /* generic bus_space tag */
  358 bus_space_tag_t rmi_bus_space = &local_rmi_bus_space;
  359 
  360 /*
  361  * Map a region of device bus space into CPU virtual address space.
  362  */
  363 static int
  364 rmi_bus_space_map(void *t __unused, bus_addr_t addr,
  365     bus_size_t size __unused, int flags __unused,
  366     bus_space_handle_t *bshp)
  367 {
  368 
  369         *bshp = addr;
  370         return (0);
  371 }
  372 
  373 /*
  374  * Unmap a region of device bus space.
  375  */
  376 static void
  377 rmi_bus_space_unmap(void *t __unused, bus_space_handle_t bsh __unused,
  378     bus_size_t size __unused)
  379 {
  380 }
  381 
  382 /*
  383  * Get a new handle for a subregion of an already-mapped area of bus space.
  384  */
  385 
  386 static int
  387 rmi_bus_space_subregion(void *t __unused, bus_space_handle_t bsh,
  388     bus_size_t offset, bus_size_t size __unused,
  389     bus_space_handle_t *nbshp)
  390 {
  391         *nbshp = bsh + offset;
  392         return (0);
  393 }
  394 
  395 /*
  396  * Read a 1, 2, 4, or 8 byte quantity from bus space
  397  * described by tag/handle/offset.
  398  */
  399 
  400 static u_int8_t
  401 rmi_bus_space_read_1(void *tag, bus_space_handle_t handle,
  402     bus_size_t offset)
  403 {
  404         return (u_int8_t) (*(volatile u_int8_t *)(handle + offset));
  405 }
  406 
  407 static u_int16_t
  408 rmi_bus_space_read_2(void *tag, bus_space_handle_t handle,
  409     bus_size_t offset)
  410 {
  411         return (u_int16_t)(*(volatile u_int16_t *)(handle + offset));
  412 }
  413 
  414 static u_int32_t
  415 rmi_bus_space_read_4(void *tag, bus_space_handle_t handle,
  416     bus_size_t offset)
  417 {
  418         return (*(volatile u_int32_t *)(handle + offset));
  419 }
  420 
  421 
  422 /*
  423  * Read `count' 1, 2, 4, or 8 byte quantities from bus space
  424  * described by tag/handle/offset and copy into buffer provided.
  425  */
  426 static void
  427 rmi_bus_space_read_multi_1(void *tag, bus_space_handle_t handle,
  428     bus_size_t offset, u_int8_t *addr, size_t count)
  429 {
  430         TODO();
  431 }
  432 
  433 static void
  434 rmi_bus_space_read_multi_2(void *tag, bus_space_handle_t handle,
  435     bus_size_t offset, u_int16_t *addr, size_t count)
  436 {
  437         TODO();
  438 }
  439 
  440 static void
  441 rmi_bus_space_read_multi_4(void *tag, bus_space_handle_t handle,
  442     bus_size_t offset, u_int32_t *addr, size_t count)
  443 {
  444         TODO();
  445 }
  446 
  447 /*
  448  * Write the 1, 2, 4, or 8 byte value `value' to bus space
  449  * described by tag/handle/offset.
  450  */
  451 
  452 static void
  453 rmi_bus_space_write_1(void *tag, bus_space_handle_t handle,
  454     bus_size_t offset, u_int8_t value)
  455 {
  456         *(volatile u_int8_t *)(handle + offset) =  value;
  457 }
  458 
  459 static void
  460 rmi_bus_space_write_2(void *tag, bus_space_handle_t handle,
  461     bus_size_t offset, u_int16_t value)
  462 {
  463         *(volatile u_int16_t *)(handle + offset) = value;
  464 }
  465 
  466 static void
  467 rmi_bus_space_write_4(void *tag, bus_space_handle_t handle,
  468     bus_size_t offset, u_int32_t value)
  469 {
  470         *(volatile u_int32_t *)(handle + offset) = value;
  471 }
  472 
  473 
  474 /*
  475  * Write `count' 1, 2, 4, or 8 byte quantities from the buffer
  476  * provided to bus space described by tag/handle/offset.
  477  */
  478 
  479 
  480 static void
  481 rmi_bus_space_write_multi_1(void *tag, bus_space_handle_t handle,
  482     bus_size_t offset, const u_int8_t *addr, size_t count)
  483 {
  484         TODO();
  485 }
  486 
  487 static void
  488 rmi_bus_space_write_multi_2(void *tag, bus_space_handle_t handle,
  489     bus_size_t offset, const u_int16_t *addr, size_t count)
  490 {
  491         TODO();
  492 }
  493 
  494 static void
  495 rmi_bus_space_write_multi_4(void *tag, bus_space_handle_t handle,
  496     bus_size_t offset, const u_int32_t *addr, size_t count)
  497 {
  498         TODO();
  499 }
  500 
  501 /*
  502  * Write `count' 1, 2, 4, or 8 byte value `val' to bus space described
  503  * by tag/handle starting at `offset'.
  504  */
  505 
  506 static void
  507 rmi_bus_space_set_region_2(void *t, bus_space_handle_t bsh,
  508     bus_size_t offset, u_int16_t value, size_t count)
  509 {
  510         bus_addr_t addr = bsh + offset;
  511 
  512         for (; count != 0; count--, addr += 2)
  513                 (*(volatile u_int32_t *)(addr)) = value;
  514 }
  515 
  516 static void
  517 rmi_bus_space_set_region_4(void *t, bus_space_handle_t bsh,
  518     bus_size_t offset, u_int32_t value, size_t count)
  519 {
  520         bus_addr_t addr = bsh + offset;
  521 
  522         for (; count != 0; count--, addr += 4)
  523                 (*(volatile u_int32_t *)(addr)) = value;
  524 }
  525 
  526 
  527 /*
  528  * Copy `count' 1, 2, 4, or 8 byte values from bus space starting
  529  * at tag/bsh1/off1 to bus space starting at tag/bsh2/off2.
  530  */
  531 static void
  532 rmi_bus_space_copy_region_2(void *t, bus_space_handle_t bsh1,
  533     bus_size_t off1, bus_space_handle_t bsh2,
  534     bus_size_t off2, size_t count)
  535 {
  536         printf("bus_space_copy_region_2 - unimplemented\n");
  537 }
  538 
  539 /*
  540  * Read `count' 1, 2, 4, or 8 byte quantities from bus space
  541  * described by tag/handle/offset and copy into buffer provided.
  542  */
  543 
  544 u_int8_t
  545 rmi_bus_space_read_stream_1(void *t, bus_space_handle_t handle,
  546     bus_size_t offset)
  547 {
  548 
  549         return *((volatile u_int8_t *)(handle + offset));
  550 }
  551 
  552 
  553 static u_int16_t
  554 rmi_bus_space_read_stream_2(void *t, bus_space_handle_t handle,
  555     bus_size_t offset)
  556 {
  557         return *(volatile u_int16_t *)(handle + offset);
  558 }
  559 
  560 
  561 static u_int32_t
  562 rmi_bus_space_read_stream_4(void *t, bus_space_handle_t handle,
  563     bus_size_t offset)
  564 {
  565         return (*(volatile u_int32_t *)(handle + offset));
  566 }
  567 
  568 
  569 static void
  570 rmi_bus_space_read_multi_stream_1(void *tag, bus_space_handle_t handle,
  571     bus_size_t offset, u_int8_t *addr, size_t count)
  572 {
  573         TODO();
  574 }
  575 
  576 static void
  577 rmi_bus_space_read_multi_stream_2(void *tag, bus_space_handle_t handle,
  578     bus_size_t offset, u_int16_t *addr, size_t count)
  579 {
  580         TODO();
  581 }
  582 
  583 static void
  584 rmi_bus_space_read_multi_stream_4(void *tag, bus_space_handle_t handle,
  585     bus_size_t offset, u_int32_t *addr, size_t count)
  586 {
  587         TODO();
  588 }
  589 
  590 
  591 /*
  592  * Read `count' 1, 2, 4, or 8 byte quantities from bus space
  593  * described by tag/handle and starting at `offset' and copy into
  594  * buffer provided.
  595  */
  596 void
  597 rmi_bus_space_read_region_1(void *t, bus_space_handle_t bsh,
  598     bus_size_t offset, u_int8_t *addr, size_t count)
  599 {
  600         TODO();
  601 }
  602 
  603 void
  604 rmi_bus_space_read_region_2(void *t, bus_space_handle_t bsh,
  605     bus_size_t offset, u_int16_t *addr, size_t count)
  606 {
  607         TODO();
  608 }
  609 
  610 void
  611 rmi_bus_space_read_region_4(void *t, bus_space_handle_t bsh,
  612     bus_size_t offset, u_int32_t *addr, size_t count)
  613 {
  614         bus_addr_t baddr = bsh + offset;
  615 
  616         while (count--) {
  617                 *addr++ = (*(volatile u_int32_t *)(baddr));
  618                 baddr += 4;
  619         }
  620 }
  621 
  622 void
  623 rmi_bus_space_write_stream_1(void *t, bus_space_handle_t handle,
  624     bus_size_t offset, u_int8_t value)
  625 {
  626         TODO();
  627 }
  628 
  629 
  630 static void
  631 rmi_bus_space_write_stream_2(void *t, bus_space_handle_t handle,
  632     bus_size_t offset, u_int16_t value)
  633 {
  634         TODO();
  635 }
  636 
  637 
  638 static void
  639 rmi_bus_space_write_stream_4(void *t, bus_space_handle_t handle,
  640     bus_size_t offset, u_int32_t value)
  641 {
  642         TODO();
  643 }
  644 
  645 
  646 static void
  647 rmi_bus_space_write_multi_stream_1(void *tag, bus_space_handle_t handle,
  648     bus_size_t offset, const u_int8_t *addr, size_t count)
  649 {
  650         TODO();
  651 }
  652 
  653 static void
  654 rmi_bus_space_write_multi_stream_2(void *tag, bus_space_handle_t handle,
  655     bus_size_t offset, const u_int16_t *addr, size_t count)
  656 {
  657         TODO();
  658 }
  659 
  660 static void
  661 rmi_bus_space_write_multi_stream_4(void *tag, bus_space_handle_t handle,
  662     bus_size_t offset, const u_int32_t *addr, size_t count)
  663 {
  664         TODO();
  665 }
  666 
  667 void
  668 rmi_bus_space_write_region_2(void *t,
  669     bus_space_handle_t bsh,
  670     bus_size_t offset,
  671     const u_int16_t *addr,
  672     size_t count)
  673 {
  674         TODO();
  675 }
  676 
  677 void
  678 rmi_bus_space_write_region_4(void *t, bus_space_handle_t bsh,
  679     bus_size_t offset, const u_int32_t *addr, size_t count)
  680 {
  681         TODO();
  682 }
  683 
  684 static void
  685 rmi_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused,
  686     bus_size_t offset __unused, bus_size_t len __unused, int flags)
  687 {
  688 }

Cache object: ea196ec79fc10a56e22d6238651cbac7


[ 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.