Changeset 7328ff4 in mainline for kernel/arch/ia64/src


Ignore:
Timestamp:
2018-09-06T18:18:52Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ffa73c6
Parents:
d51cca8
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-08-13 01:29:17)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-09-06 18:18:52)
Message:

Use builtin memory fences for kernel barriers, and convert smp_coherence() into a regular function

Location:
kernel/arch/ia64/src
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/mm/vhpt.c

    rd51cca8 r7328ff4  
    3434
    3535#include <mem.h>
     36#include <arch/barrier.h>
    3637#include <arch/mm/vhpt.h>
    3738#include <mm/frame.h>
  • kernel/arch/ia64/src/smc.c

    rd51cca8 r7328ff4  
    2727 */
    2828
    29 /** @addtogroup abs32le
    30  * @{
    31  */
    32 /** @file
    33  */
     29#include <barrier.h>
     30#include <arch/barrier.h>
    3431
    35 #ifndef KERN_abs32le_BARRIER_H_
    36 #define KERN_abs32le_BARRIER_H_
     32#define FC_INVAL_MIN            32
    3733
    38 /*
    39  * Provisions are made to prevent compiler from reordering instructions itself.
    40  */
     34void smc_coherence(void *a, size_t l)
     35{
     36        unsigned long i;
     37        for (i = 0; i < (l); i += FC_INVAL_MIN)
     38                fc_i(a + i);
     39        sync_i();
     40        srlz_i();
     41}
    4142
    42 #define CS_ENTER_BARRIER()
    43 #define CS_LEAVE_BARRIER()
    44 
    45 #define memory_barrier()
    46 #define read_barrier()
    47 #define write_barrier()
    48 
    49 #ifdef KERNEL
    50 
    51 #define smc_coherence(addr, size)
    52 
    53 #endif  /* KERNEL*/
    54 
    55 #endif
    56 
    57 /** @}
    58  */
Note: See TracChangeset for help on using the changeset viewer.