Changeset 50 for trunk/tools/arch_info


Ignore:
Timestamp:
Jun 26, 2017, 3:15:11 PM (5 years ago)
Author:
alain
Message:

bloup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/arch_info/boot_info.h

    r13 r50  
    22 * boot_info.h - informations passed by the bootloader to the kernel in each cluster.
    33 *
    4  * Author  Alain Greiner (june 2016)
     4 * Author  Alain Greiner (june 2016,2017)
    55 *
    66 * Copyright (c) UPMC Sorbonne Universites
     
    8282
    8383/*********************************************************************************************
     84 * This structure defines a reserved zone in the physical address space of a given cluster.
     85 * A reserved zone is described as a set of contiguous small pages (4 Kbytes) covering the
     86 * reserved zone, that must be considered already allocated.
     87 ********************************************************************************************/
     88
     89typedef struct boot_rsvd_s
     90{
     91    ppn_t      first_page;            /*! first physical page index in cluster              */
     92    uint32_t   npages;                /*! number of small pages                             */
     93}
     94boot_rsvd_t;
     95
     96/*********************************************************************************************
    8497 * This structure defines the interface between the boot-loader and the kernel.
    8598 * In each cluster, the boot core build a local boot_info_t structure containing
     
    110123        uint32_t      cores_nr;                      /*! number of local cores in               */
    111124    boot_core_t   core[CONFIG_MAX_LOCAL_CORES];  /*! array of core descriptors              */ 
     125    uint32_t      rsvd_nr;                       /*! number of reserved zones               */
     126    boot_rsvd_t   rsvd[CONFIG_PPM_MAX_RSVD];     /*! array of reserved zones                */
    112127        boot_device_t dev_icu;                       /*! embedded ICU peripheral                */
    113128        boot_device_t dev_mmc;                       /*! embedded MMC peripheral                */
    114129        boot_device_t dev_dma;                       /*! embedded DMA peripheral                */
    115130
    116     uint32_t      pages_nr;                      /*! number of 4 Kbytes pages               */
    117     uint32_t      pages_offset;                  /*! number of pages allocated for kernel   */
     131    uint32_t      pages_offset;                  /*! first free page index (after kernel)   */
     132    uint32_t      pages_nr;                      /*! total number of physical pages in RAM  */
    118133
    119134    // kernel segments
    120135
    121     intptr_t      kernel_code_start;             /*! kernel code base address               */
    122     intptr_t      kernel_code_end;               /*! kernel code last address (excluded)    */
    123     intptr_t      kernel_data_start;             /*! kernel data base address               */
    124     intptr_t      kernel_data_end;               /*! kernel data last address (excluded)    */
     136    intptr_t      kernel_code_start;             /*! kernel code base paddr                 */
     137    intptr_t      kernel_code_end;               /*! kernel code last paddr (excluded)      */
     138    intptr_t      kernel_data_start;             /*! kernel data base paddr                 */
     139    intptr_t      kernel_data_end;               /*! kernel data last paddr (excluded)      */
    125140}
    126141boot_info_t;
Note: See TracChangeset for help on using the changeset viewer.