Revision b068d6a7 target-ppc/helper.c

b/target-ppc/helper.c
67 67

  
68 68
#else
69 69
/* Common routines used by software and hardware TLBs emulation */
70
static inline int pte_is_valid (target_ulong pte0)
70
static always_inline int pte_is_valid (target_ulong pte0)
71 71
{
72 72
    return pte0 & 0x80000000 ? 1 : 0;
73 73
}
74 74

  
75
static inline void pte_invalidate (target_ulong *pte0)
75
static always_inline void pte_invalidate (target_ulong *pte0)
76 76
{
77 77
    *pte0 &= ~0x80000000;
78 78
}
79 79

  
80 80
#if defined(TARGET_PPC64)
81
static inline int pte64_is_valid (target_ulong pte0)
81
static always_inline int pte64_is_valid (target_ulong pte0)
82 82
{
83 83
    return pte0 & 0x0000000000000001ULL ? 1 : 0;
84 84
}
85 85

  
86
static inline void pte64_invalidate (target_ulong *pte0)
86
static always_inline void pte64_invalidate (target_ulong *pte0)
87 87
{
88 88
    *pte0 &= ~0x0000000000000001ULL;
89 89
}
......
96 96
#define PTE64_CHECK_MASK (TARGET_PAGE_MASK | 0x7F)
97 97
#endif
98 98

  
99
static inline int _pte_check (mmu_ctx_t *ctx, int is_64b,
100
                              target_ulong pte0, target_ulong pte1,
101
                              int h, int rw)
99
static always_inline int _pte_check (mmu_ctx_t *ctx, int is_64b,
100
                                     target_ulong pte0, target_ulong pte1,
101
                                     int h, int rw)
102 102
{
103 103
    target_ulong ptem, mmask;
104 104
    int access, ret, pteh, ptev;
......
258 258
    tlb_flush(env, 1);
259 259
}
260 260

  
261
static inline void __ppc6xx_tlb_invalidate_virt (CPUState *env,
262
                                                 target_ulong eaddr,
263
                                                 int is_code, int match_epn)
261
static always_inline void __ppc6xx_tlb_invalidate_virt (CPUState *env,
262
                                                        target_ulong eaddr,
263
                                                        int is_code,
264
                                                        int match_epn)
264 265
{
265 266
#if !defined(FLUSH_ALL_TLBS)
266 267
    ppc6xx_tlb_t *tlb;
......
487 488
}
488 489

  
489 490
/* PTE table lookup */
490
static inline int _find_pte (mmu_ctx_t *ctx, int is_64b, int h, int rw)
491
static always_inline int _find_pte (mmu_ctx_t *ctx, int is_64b, int h, int rw)
491 492
{
492 493
    target_ulong base, pte0, pte1;
493 494
    int i, good = -1;
......
588 589
}
589 590
#endif
590 591

  
591
static inline int find_pte (CPUState *env, mmu_ctx_t *ctx, int h, int rw)
592
static always_inline int find_pte (CPUState *env, mmu_ctx_t *ctx,
593
                                   int h, int rw)
592 594
{
593 595
#if defined(TARGET_PPC64)
594 596
    if (env->mmu_model == POWERPC_MMU_64B)
......
720 722
#endif /* defined(TARGET_PPC64) */
721 723

  
722 724
/* Perform segment based translation */
723
static inline target_phys_addr_t get_pgaddr (target_phys_addr_t sdr1,
724
                                             int sdr_sh,
725
                                             target_phys_addr_t hash,
726
                                             target_phys_addr_t mask)
725
static always_inline target_phys_addr_t get_pgaddr (target_phys_addr_t sdr1,
726
                                                    int sdr_sh,
727
                                                    target_phys_addr_t hash,
728
                                                    target_phys_addr_t mask)
727 729
{
728 730
    return (sdr1 & ((target_ulong)(-1ULL) << sdr_sh)) | (hash & mask);
729 731
}
......
1594 1596
/*****************************************************************************/
1595 1597
/* BATs management */
1596 1598
#if !defined(FLUSH_ALL_TLBS)
1597
static inline void do_invalidate_BAT (CPUPPCState *env,
1598
                                      target_ulong BATu, target_ulong mask)
1599
static always_inline void do_invalidate_BAT (CPUPPCState *env,
1600
                                             target_ulong BATu,
1601
                                             target_ulong mask)
1599 1602
{
1600 1603
    target_ulong base, end, page;
1601 1604

  
......
1616 1619
}
1617 1620
#endif
1618 1621

  
1619
static inline void dump_store_bat (CPUPPCState *env, char ID, int ul, int nr,
1620
                                   target_ulong value)
1622
static always_inline void dump_store_bat (CPUPPCState *env, char ID,
1623
                                          int ul, int nr, target_ulong value)
1621 1624
{
1622 1625
#if defined (DEBUG_BATS)
1623 1626
    if (loglevel != 0) {
......
1931 1934
}
1932 1935

  
1933 1936
/* Swap temporary saved registers with GPRs */
1934
static inline void swap_gpr_tgpr (CPUPPCState *env)
1937
static always_inline void swap_gpr_tgpr (CPUPPCState *env)
1935 1938
{
1936 1939
    ppc_gpr_t tmp;
1937 1940

  

Also available in: Unified diff