Changes between Version 42 and Version 43 of WikiStart


Ignore:
Timestamp:
Oct 15, 2014, 12:36:45 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v42 v43  
    33[[PageOutline]]
    44
    5 == __A) Mapping_Info data structure__ ==
     5== __A) [wiki:mapping_info Mapping_Info data structure]__ ==
    66
    77== __B) [wiki:peripherals_drivers Peripherals Drivers]__ ==
    88
    9 The GIET_VM supports two types of peripheral components: '''External peripherals''' are located in one single cluster (called ''cluster_io'', and identified by the ''X_IO,Y_IO'' variables); '''Internal peripherals''' are replicated in all clusters.
    10 
    11 Each driver xxx_driver define two low-level functions ''_xxx_get_register()'' and ''_xxx_set_register()''
    12 to access the peripheral addressable registers. These functions are in charge to compute the peripheral registers addresses, taking into account the peripheral base address, the register index, and the cluster coordinates:
    13 
    14  * '''External peripherals''': All accesses use virtual addresses if the MMU (Memory management Unit) is activated, or physical addresses if it is not. In this case, the physical address is computed as pbase = SEG_XXX_BASE + cluster_io << 32.
    15 
    16  * '''Internal peripherals''': All accesses use virtual addresses, and the MMU must be activated. The peripheral virtual base address is computed as vbase = SEG_XXX_BASE + cluster_xy * PERI_CLUSTER_INCREMENT.
    17 
    18 The X_IO, Y_IO, and PERI_CLUSTER_INCREMENT variables must be defined in the ''hard_config.h" file.
    19 
    20  === [wiki:bdv_driver     BDV  (Block Device controller)]
    21  
    22  === [wiki:cma_driver     CMA (Chained Buffer DMA controller)]
    23 
    24  === [wiki:dma_driver     DMA (Multi-Channels DMA controller)]
    25 
    26  === [wiki:fbf_driver     FBF (Frame Buffer controller)]
    27 
    28  === [wiki:hba_driver     HBA (AHCI Disk controller)]
    29 
    30  === [wiki:icu_driver     ICU (Interrupt controller)]
    31 
    32  === [wiki:iob_driver     IOB (I/O Bridge controller)]
    33 
    34  === [wiki:ioc_driver     IOC (Generic I/O controller)]
    35 
    36  === [wiki:mmc_driver     MMC (Memory Cache controller)]
    37 
    38  === [wiki:nic_driver     NIC (Gigabit Ethernet Network controller)]
    39 
    40  === [wiki:pic_driver     PIC (External Peripherals Interrupt controller)]
    41 
    42  === [wiki:rdk_driver     RDK (RamDisk)]
    43 
    44  === [wiki:sim_driver     SIM (Monitor controller)]
    45 
    46  === [wiki:sdc_driver     SDC (SDC Disk controller)]
    47 
    48  === [wiki:tim_driver     TIM (Multi Timers controller)]
    49 
    50  === [wiki:tty_driver     TTY (Multi Terminals TTY controller)]
    51 
    52  === [wiki:xcu_driver     XCU (Extended Interrupt controller)]
    53 
    54 == __C) Shared kernel functions__ ==
     9== __C) [wiki:common_functions Shared kernel functions]__ ==
    5510
    5611The boot code and the kernel code are two separated compilation units, but some functions are used by both the boot code and the kernel code: