Ignore:
Timestamp:
Oct 22, 2019, 1:48:51 PM (4 years ago)
Author:
alain
Message:

...miscelaneous...

Location:
trunk/hal/tsar_mips32/core
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/hal/tsar_mips32/core/hal_context.c

    r640 r647  
    221221
    222222    // get base and ppn of remote child process GPT PT1
    223     child_gpt_ptr = hal_remote_l32( XPTR(child_cxy , &child_process->vmm.gpt.ptr) );
     223    child_gpt_ptr = hal_remote_lpt( XPTR(child_cxy , &child_process->vmm.gpt.ptr) );
    224224    child_gpt_ppn = ppm_base2ppn( XPTR( child_cxy , child_gpt_ptr ) );   
    225225
  • trunk/hal/tsar_mips32/core/hal_drivers.c

    r570 r647  
    3434#include <soclib_nic.h>
    3535#include <soclib_dma.h>
     36#include <soclib_fbf.h>
    3637
    3738#include <dev_txt.h>
     
    4647///////////////////////////////////////////////////////////////////////////////
    4748
    48 //////////////////////////////////////////
    49 void hal_drivers_txt_init( chdev_t  * txt,
    50                            uint32_t   impl )
     49///////////////////////////////////////////
     50void hal_drivers_txt_init( chdev_t  * txt )
    5151{
     52    uint32_t   impl = txt->impl;
     53
    5254    if( impl ==  IMPL_TXT_TTY )
    5355    {
     
    6870///////////////////////////////////////////////////////////////////////////////
    6971
    70 //////////////////////////////////////////
    71 void hal_drivers_pic_init( chdev_t  * pic,
    72                            uint32_t   impl )
     72///////////////////////////////////////////
     73void hal_drivers_pic_init( chdev_t  * pic )
    7374{
     75    uint32_t   impl = pic->impl;
     76
    7477    assert( (impl == IMPL_PIC_SCL), "undefined implementation" );
    7578
     
    9194///////////////////////////////////////////////////////////////////////////////
    9295
    93 //////////////////////////////////////////
    94 void hal_drivers_iob_init( chdev_t  * iob,
    95                            uint32_t   impl )
     96///////////////////////////////////////////
     97void hal_drivers_iob_init( chdev_t  * iob )
    9698{
     99    uint32_t   impl = iob->impl;
     100
    97101        assert( (impl == IMPL_IOB_TSR), "undefined implementation" );
    98102
     
    112116///////////////////////////////////////////////////////////////////////////////
    113117
    114 //////////////////////////////////////////
    115 void hal_drivers_ioc_init( chdev_t  * ioc,
    116                            uint32_t   impl )
     118///////////////////////////////////////////
     119void hal_drivers_ioc_init( chdev_t  * ioc )
    117120{
     121    uint32_t   impl = ioc->impl;
     122
    118123        if (impl == IMPL_IOC_BDV)
    119124    {
     
    138143///////////////////////////////////////////////////////////////////////////////
    139144
    140 //////////////////////////////////////////
    141 void hal_drivers_mmc_init( chdev_t  * mmc,
    142                            uint32_t   impl )
     145///////////////////////////////////////////
     146void hal_drivers_mmc_init( chdev_t  * mmc )
    143147{
     148    uint32_t   impl = mmc->impl;
     149
    144150        assert( (impl == IMPL_MMC_TSR), "undefined implementation" );
    145151 
     
    151157///////////////////////////////////////////////////////////////////////////////
    152158
    153 //////////////////////////////////////////
    154 void hal_drivers_nic_init( chdev_t  * nic,
    155                            uint32_t   impl )
     159///////////////////////////////////////////
     160void hal_drivers_nic_init( chdev_t  * nic )
    156161{
     162    uint32_t   impl = nic->impl;
     163
    157164        assert( (impl == IMPL_NIC_CBF), "undefined implementation" );
    158165 
     
    164171///////////////////////////////////////////////////////////////////////////////
    165172
    166 //////////////////////////////////////////
    167 void hal_drivers_dma_init( chdev_t  * dma,
    168                            uint32_t   impl )
     173///////////////////////////////////////////
     174void hal_drivers_dma_init( chdev_t  * dma )
    169175{
     176    uint32_t   impl = dma->impl;
     177
    170178        assert( (impl == IMPL_DMA_SCL), "undefined implementation" );
    171179 
     
    173181}
    174182
     183///////////////////////////////////////////////////////////////////////////////
     184//    FBF
     185///////////////////////////////////////////////////////////////////////////////
     186
     187///////////////////////////////////////////
     188void hal_drivers_fbf_init( chdev_t  * fbf )
     189{
     190    uint32_t   impl = fbf->impl;
     191
     192        assert( (impl == IMPL_FBF_SCL), "undefined implementation" );
     193 
     194    soclib_fbf_init( fbf );
     195}
     196
  • trunk/hal/tsar_mips32/core/hal_gpt.c

    r640 r647  
    2424#include <hal_kernel_types.h>
    2525#include <hal_gpt.h>
     26#include <hal_vmm.h>
    2627#include <hal_special.h>
    2728#include <hal_irqmask.h>
     
    291292uint32_t   cycle = (uint32_t)hal_get_cycles();
    292293// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    293 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     294if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    294295printk("\n[%s] thread[%x,%x] enters / vpn %x in cluster %x / cycle %d\n",
    295296__FUNCTION__, this->process->pid, this->trdid, vpn, gpt_cxy, cycle );
     
    360361#if DEBUG_HAL_GPT_LOCK_PTE
    361362// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    362 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     363if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    363364printk("\n[%s] PTE1 unmapped : winner thread[%x,%x] allocates a PT2 for vpn %x in cluster %x\n",
    364365__FUNCTION__, this->process->pid, this->trdid, vpn, gpt_cxy );
     
    371372#if DEBUG_HAL_GPT_LOCK_PTE
    372373// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    373 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     374if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    374375printk("\n[%s] PTE1 unmapped : loser thread[%x,%x] wait PTE1 for vpn %x in cluster %x\n",
    375376__FUNCTION__, this->process->pid, this->trdid, vpn, gpt_cxy );
     
    412413#if DEBUG_HAL_GPT_LOCK_PTE
    413414// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    414 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     415if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    415416printk("\n[%s] PTE1 unmapped : loser thread[%x,%x] get PTE1 for vpn %x in cluster %x\n",
    416417__FUNCTION__, this->process->pid, this->trdid, vpn, gpt_cxy );
     
    426427#if DEBUG_HAL_GPT_LOCK_PTE
    427428// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    428 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     429if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    429430printk("\n[%s] thread[%x,%x] get pte1 %x for vpn %x in cluster %x\n",
    430431__FUNCTION__, this->process->pid, this->trdid, pte1, vpn, gpt_cxy );
     
    494495cycle = (uint32_t)hal_get_cycles();
    495496// if( DEBUG_HAL_GPT_LOCK_PTE < cycle )
    496 if( (vpn == 0x3600) && (gpt_cxy == 0x11) )
     497if( (vpn == 0xc1fff) && (gpt_cxy == 0x1) )
    497498printk("\n[%s] thread[%x,%x] success / vpn %x in cluster %x / attr %x / ppn %x / cycle %d\n",
    498499__FUNCTION__, this->process->pid, this->trdid, vpn, gpt_cxy, pte2_attr, pte2_ppn, cycle );
  • trunk/hal/tsar_mips32/core/hal_remote.c

    r625 r647  
    220220        "mtc2   %4,     $24          \n"  /* PADDR_EXT <= cxy   */   
    221221        "or     $8,     $0,    %3    \n"  /* $8 <= new          */
    222         "ll     $3,    0(%1)         \n"  /* $3 <= *paddr       */
     222        "ll     $3,    0(%1)         \n"  /* $3 <= *ptr         */
    223223        "bne    $3,     %2,    1f    \n"  /* if ($3 != old)     */
    224224        "li     $7,     0            \n"  /* $7 <= 0            */
    225         "sc     $8,     (%1)         \n"  /* *paddr <= new      */
     225        "sc     $8,     (%1)         \n"  /* *ptr <= new        */
    226226        "or     $7,     $8,    $0    \n"  /* $7 <= atomic       */
    227227        "sync                        \n"
  • trunk/hal/tsar_mips32/core/hal_uspace.c

    r637 r647  
    142142// If the two buffers are aligned on a word boundary, it moves the data word per word
    143143// in a first loop, and moves byte per byte the remaining bytes in a second loop.
    144 // If the buffers are not aligned, it moves all data byte per byte.
     144// If the buffers are not word aligned, it moves all data byte per byte.
    145145///////////////////////////////////////////////////////////////////////////////////////
    146146// @ u_dst_ptr : pointer on destination user buffer
Note: See TracChangeset for help on using the changeset viewer.