openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

README (2223B)


      1 /*  
      2  * 
      3  *
      4  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      5  * 
      6  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      7  */
      8 
      9 			SDK Linux User Support
     10 
     11 
     12 The Broadcom SDK can be compiled as part of a user space application, 
     13 for development flexibility and debugging purposes. 
     14 
     15 In this configuration, the entire driver is compiled as a user space 
     16 library, which you can link with your application. It will provide all 
     17 regular driver features, but at some cost in performance. 
     18 
     19 The core of the user space support is in the Linux User Mode BDE 
     20 (Broadcom Device Enumerator). This BDE provides all chip virtualization 
     21 for user mode execution, which includes device PCI access, register 
     22 address space mmapping, and interrupt virtualization. 
     23 
     24 When running in this mode, the entire driver, including interrupt 
     25 handling, can be debugged from user space using GDB, and you should 
     26 never crash your machine. 
     27 
     28 The user space support requires a couple of kernel modules to provide
     29 the virtualization services:
     30 
     31 linux-kernel-bde.o
     32 ------------------
     33 
     34 source: sdk/systems/bde/linux/kernel
     35 
     36 See the ../kernel/README file for information on the use the 
     37 linux-kernel-bde module. 
     38 
     39 linux-user-bde.o
     40 ----------------
     41 
     42 source: sdk/systems/bde/linux/user/kern
     43 
     44 The Linux user BDE implentation is comprised of two parts -- a kernel 
     45 module, and a user space library. The linux-user-bde is the kernel 
     46 portion and it relies upon the linux-kernel-bde module to access the 
     47 devices in the system, and it then provides PCI, DMA, register, and 
     48 interrupt virtualization to the user space library, which provides the 
     49 actual BDE interface pointer. 
     50 
     51 You must load both the linux-kernel-bde and the linux-user-bde 
     52 modules before running your user space BCM application. 
     53 
     54 Configurations for building the BCM diag shell application for 
     55 specific BRCM platforms are available in the subdirectories of this
     56 directory. For example, building the user space BCM diag shell for the 
     57 BRCM 8245 CPCI board (BMW) is done by:
     58 	
     59 	cd bmw; gmake
     60 
     61 The products of this build will be the linux-kernel-bde.o and 
     62 linux-user-bde.o modules, and the bcm.user application.