Commit a11b8151dfc71f95ac04e5f73c7d5c042911b9e4
1 parent
5bda2843
PowerPC coding style and inlining fixes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3461 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
46 additions
and
42 deletions
target-ppc/helper.c
... | ... | @@ -232,22 +232,24 @@ static always_inline int _pte_check (mmu_ctx_t *ctx, int is_64b, |
232 | 232 | return ret; |
233 | 233 | } |
234 | 234 | |
235 | -static int pte32_check (mmu_ctx_t *ctx, target_ulong pte0, target_ulong pte1, | |
236 | - int h, int rw, int type) | |
235 | +static always_inline int pte32_check (mmu_ctx_t *ctx, | |
236 | + target_ulong pte0, target_ulong pte1, | |
237 | + int h, int rw, int type) | |
237 | 238 | { |
238 | 239 | return _pte_check(ctx, 0, pte0, pte1, h, rw, type); |
239 | 240 | } |
240 | 241 | |
241 | 242 | #if defined(TARGET_PPC64) |
242 | -static int pte64_check (mmu_ctx_t *ctx, target_ulong pte0, target_ulong pte1, | |
243 | - int h, int rw, int type) | |
243 | +static always_inline int pte64_check (mmu_ctx_t *ctx, | |
244 | + target_ulong pte0, target_ulong pte1, | |
245 | + int h, int rw, int type) | |
244 | 246 | { |
245 | 247 | return _pte_check(ctx, 1, pte0, pte1, h, rw, type); |
246 | 248 | } |
247 | 249 | #endif |
248 | 250 | |
249 | -static int pte_update_flags (mmu_ctx_t *ctx, target_ulong *pte1p, | |
250 | - int ret, int rw) | |
251 | +static always_inline int pte_update_flags (mmu_ctx_t *ctx, target_ulong *pte1p, | |
252 | + int ret, int rw) | |
251 | 253 | { |
252 | 254 | int store = 0; |
253 | 255 | |
... | ... | @@ -272,8 +274,8 @@ static int pte_update_flags (mmu_ctx_t *ctx, target_ulong *pte1p, |
272 | 274 | } |
273 | 275 | |
274 | 276 | /* Software driven TLB helpers */ |
275 | -static int ppc6xx_tlb_getnum (CPUState *env, target_ulong eaddr, | |
276 | - int way, int is_code) | |
277 | +static always_inline int ppc6xx_tlb_getnum (CPUState *env, target_ulong eaddr, | |
278 | + int way, int is_code) | |
277 | 279 | { |
278 | 280 | int nr; |
279 | 281 | |
... | ... | @@ -288,7 +290,7 @@ static int ppc6xx_tlb_getnum (CPUState *env, target_ulong eaddr, |
288 | 290 | return nr; |
289 | 291 | } |
290 | 292 | |
291 | -static void ppc6xx_tlb_invalidate_all (CPUState *env) | |
293 | +static always_inline void ppc6xx_tlb_invalidate_all (CPUState *env) | |
292 | 294 | { |
293 | 295 | ppc6xx_tlb_t *tlb; |
294 | 296 | int nr, max; |
... | ... | @@ -339,8 +341,9 @@ static always_inline void __ppc6xx_tlb_invalidate_virt (CPUState *env, |
339 | 341 | #endif |
340 | 342 | } |
341 | 343 | |
342 | -static void ppc6xx_tlb_invalidate_virt (CPUState *env, target_ulong eaddr, | |
343 | - int is_code) | |
344 | +static always_inline void ppc6xx_tlb_invalidate_virt (CPUState *env, | |
345 | + target_ulong eaddr, | |
346 | + int is_code) | |
344 | 347 | { |
345 | 348 | __ppc6xx_tlb_invalidate_virt(env, eaddr, is_code, 0); |
346 | 349 | } |
... | ... | @@ -368,8 +371,9 @@ void ppc6xx_tlb_store (CPUState *env, target_ulong EPN, int way, int is_code, |
368 | 371 | env->last_way = way; |
369 | 372 | } |
370 | 373 | |
371 | -static int ppc6xx_tlb_check (CPUState *env, mmu_ctx_t *ctx, | |
372 | - target_ulong eaddr, int rw, int access_type) | |
374 | +static always_inline int ppc6xx_tlb_check (CPUState *env, mmu_ctx_t *ctx, | |
375 | + target_ulong eaddr, int rw, | |
376 | + int access_type) | |
373 | 377 | { |
374 | 378 | ppc6xx_tlb_t *tlb; |
375 | 379 | int nr, best, way; |
... | ... | @@ -444,8 +448,8 @@ static int ppc6xx_tlb_check (CPUState *env, mmu_ctx_t *ctx, |
444 | 448 | } |
445 | 449 | |
446 | 450 | /* Perform BAT hit & translation */ |
447 | -static int get_bat (CPUState *env, mmu_ctx_t *ctx, | |
448 | - target_ulong virtual, int rw, int type) | |
451 | +static always_inline int get_bat (CPUState *env, mmu_ctx_t *ctx, | |
452 | + target_ulong virtual, int rw, int type) | |
449 | 453 | { |
450 | 454 | target_ulong *BATlt, *BATut, *BATu, *BATl; |
451 | 455 | target_ulong base, BEPIl, BEPIu, bl; |
... | ... | @@ -635,13 +639,13 @@ static always_inline int _find_pte (mmu_ctx_t *ctx, int is_64b, int h, |
635 | 639 | return ret; |
636 | 640 | } |
637 | 641 | |
638 | -static int find_pte32 (mmu_ctx_t *ctx, int h, int rw, int type) | |
642 | +static always_inline int find_pte32 (mmu_ctx_t *ctx, int h, int rw, int type) | |
639 | 643 | { |
640 | 644 | return _find_pte(ctx, 0, h, rw, type); |
641 | 645 | } |
642 | 646 | |
643 | 647 | #if defined(TARGET_PPC64) |
644 | -static int find_pte64 (mmu_ctx_t *ctx, int h, int rw, int type) | |
648 | +static always_inline int find_pte64 (mmu_ctx_t *ctx, int h, int rw, int type) | |
645 | 649 | { |
646 | 650 | return _find_pte(ctx, 1, h, rw, type); |
647 | 651 | } |
... | ... | @@ -659,18 +663,19 @@ static always_inline int find_pte (CPUState *env, mmu_ctx_t *ctx, |
659 | 663 | } |
660 | 664 | |
661 | 665 | #if defined(TARGET_PPC64) |
662 | -static inline int slb_is_valid (uint64_t slb64) | |
666 | +static always_inline int slb_is_valid (uint64_t slb64) | |
663 | 667 | { |
664 | 668 | return slb64 & 0x0000000008000000ULL ? 1 : 0; |
665 | 669 | } |
666 | 670 | |
667 | -static inline void slb_invalidate (uint64_t *slb64) | |
671 | +static always_inline void slb_invalidate (uint64_t *slb64) | |
668 | 672 | { |
669 | 673 | *slb64 &= ~0x0000000008000000ULL; |
670 | 674 | } |
671 | 675 | |
672 | -static int slb_lookup (CPUPPCState *env, target_ulong eaddr, | |
673 | - target_ulong *vsid, target_ulong *page_mask, int *attr) | |
676 | +static always_inline int slb_lookup (CPUPPCState *env, target_ulong eaddr, | |
677 | + target_ulong *vsid, | |
678 | + target_ulong *page_mask, int *attr) | |
674 | 679 | { |
675 | 680 | target_phys_addr_t sr_base; |
676 | 681 | target_ulong mask; |
... | ... | @@ -847,8 +852,8 @@ static always_inline target_phys_addr_t get_pgaddr (target_phys_addr_t sdr1, |
847 | 852 | return (sdr1 & ((target_ulong)(-1ULL) << sdr_sh)) | (hash & mask); |
848 | 853 | } |
849 | 854 | |
850 | -static int get_segment (CPUState *env, mmu_ctx_t *ctx, | |
851 | - target_ulong eaddr, int rw, int type) | |
855 | +static always_inline int get_segment (CPUState *env, mmu_ctx_t *ctx, | |
856 | + target_ulong eaddr, int rw, int type) | |
852 | 857 | { |
853 | 858 | target_phys_addr_t sdr, hash, mask, sdr_mask, htab_mask; |
854 | 859 | target_ulong sr, vsid, vsid_mask, pgidx, page_mask; |
... | ... | @@ -1063,10 +1068,10 @@ static int get_segment (CPUState *env, mmu_ctx_t *ctx, |
1063 | 1068 | } |
1064 | 1069 | |
1065 | 1070 | /* Generic TLB check function for embedded PowerPC implementations */ |
1066 | -static int ppcemb_tlb_check (CPUState *env, ppcemb_tlb_t *tlb, | |
1067 | - target_phys_addr_t *raddrp, | |
1068 | - target_ulong address, | |
1069 | - uint32_t pid, int ext, int i) | |
1071 | +static always_inline int ppcemb_tlb_check (CPUState *env, ppcemb_tlb_t *tlb, | |
1072 | + target_phys_addr_t *raddrp, | |
1073 | + target_ulong address, | |
1074 | + uint32_t pid, int ext, int i) | |
1070 | 1075 | { |
1071 | 1076 | target_ulong mask; |
1072 | 1077 | |
... | ... | @@ -1122,7 +1127,7 @@ int ppcemb_tlb_search (CPUPPCState *env, target_ulong address, uint32_t pid) |
1122 | 1127 | } |
1123 | 1128 | |
1124 | 1129 | /* Helpers specific to PowerPC 40x implementations */ |
1125 | -static void ppc4xx_tlb_invalidate_all (CPUState *env) | |
1130 | +static always_inline void ppc4xx_tlb_invalidate_all (CPUState *env) | |
1126 | 1131 | { |
1127 | 1132 | ppcemb_tlb_t *tlb; |
1128 | 1133 | int i; |
... | ... | @@ -1134,8 +1139,9 @@ static void ppc4xx_tlb_invalidate_all (CPUState *env) |
1134 | 1139 | tlb_flush(env, 1); |
1135 | 1140 | } |
1136 | 1141 | |
1137 | -static void ppc4xx_tlb_invalidate_virt (CPUState *env, target_ulong eaddr, | |
1138 | - uint32_t pid) | |
1142 | +static always_inline void ppc4xx_tlb_invalidate_virt (CPUState *env, | |
1143 | + target_ulong eaddr, | |
1144 | + uint32_t pid) | |
1139 | 1145 | { |
1140 | 1146 | #if !defined(FLUSH_ALL_TLBS) |
1141 | 1147 | ppcemb_tlb_t *tlb; |
... | ... | @@ -1286,8 +1292,8 @@ int mmubooke_get_physical_address (CPUState *env, mmu_ctx_t *ctx, |
1286 | 1292 | return ret; |
1287 | 1293 | } |
1288 | 1294 | |
1289 | -static int check_physical (CPUState *env, mmu_ctx_t *ctx, | |
1290 | - target_ulong eaddr, int rw) | |
1295 | +static always_inline int check_physical (CPUState *env, mmu_ctx_t *ctx, | |
1296 | + target_ulong eaddr, int rw) | |
1291 | 1297 | { |
1292 | 1298 | int in_plb, ret; |
1293 | 1299 | |
... | ... | @@ -1986,7 +1992,7 @@ void ppc_hw_interrupt (CPUState *env) |
1986 | 1992 | env->error_code = 0; |
1987 | 1993 | } |
1988 | 1994 | #else /* defined (CONFIG_USER_ONLY) */ |
1989 | -static void dump_syscall (CPUState *env) | |
1995 | +static always_inline void dump_syscall (CPUState *env) | |
1990 | 1996 | { |
1991 | 1997 | fprintf(logfile, "syscall r0=0x" REGX " r3=0x" REGX " r4=0x" REGX |
1992 | 1998 | " r5=0x" REGX " r6=0x" REGX " nip=0x" ADDRX "\n", | ... | ... |
target-ppc/op_helper.c
... | ... | @@ -474,7 +474,7 @@ void do_popcntb_64 (void) |
474 | 474 | |
475 | 475 | /*****************************************************************************/ |
476 | 476 | /* Floating point operations helpers */ |
477 | -static inline int fpisneg (float64 f) | |
477 | +static always_inline int fpisneg (float64 f) | |
478 | 478 | { |
479 | 479 | union { |
480 | 480 | float64 f; |
... | ... | @@ -486,7 +486,7 @@ static inline int fpisneg (float64 f) |
486 | 486 | return u.u >> 63 != 0; |
487 | 487 | } |
488 | 488 | |
489 | -static inline int isden (float f) | |
489 | +static always_inline int isden (float f) | |
490 | 490 | { |
491 | 491 | union { |
492 | 492 | float64 f; |
... | ... | @@ -498,7 +498,7 @@ static inline int isden (float f) |
498 | 498 | return ((u.u >> 52) & 0x7FF) == 0; |
499 | 499 | } |
500 | 500 | |
501 | -static inline int iszero (float64 f) | |
501 | +static always_inline int iszero (float64 f) | |
502 | 502 | { |
503 | 503 | union { |
504 | 504 | float64 f; |
... | ... | @@ -510,7 +510,7 @@ static inline int iszero (float64 f) |
510 | 510 | return (u.u & ~0x8000000000000000ULL) == 0; |
511 | 511 | } |
512 | 512 | |
513 | -static inline int isinfinity (float64 f) | |
513 | +static always_inline int isinfinity (float64 f) | |
514 | 514 | { |
515 | 515 | union { |
516 | 516 | float64 f; |
... | ... | @@ -661,7 +661,6 @@ static always_inline void float_zero_divide_excp (void) |
661 | 661 | float64 f; |
662 | 662 | uint64_t u; |
663 | 663 | } u0, u1; |
664 | - | |
665 | 664 | |
666 | 665 | env->fpscr |= 1 << FPSCR_ZX; |
667 | 666 | env->fpscr &= ~((1 << FPSCR_FR) | (1 << FPSCR_FI)); |
... | ... | @@ -2825,12 +2824,12 @@ void do_load_74xx_tlb (int is_code) |
2825 | 2824 | way, is_code, CMP, RPN); |
2826 | 2825 | } |
2827 | 2826 | |
2828 | -static target_ulong booke_tlb_to_page_size (int size) | |
2827 | +static always_inline target_ulong booke_tlb_to_page_size (int size) | |
2829 | 2828 | { |
2830 | 2829 | return 1024 << (2 * size); |
2831 | 2830 | } |
2832 | 2831 | |
2833 | -static int booke_page_size_to_tlb (target_ulong page_size) | |
2832 | +static always_inline int booke_page_size_to_tlb (target_ulong page_size) | |
2834 | 2833 | { |
2835 | 2834 | int size; |
2836 | 2835 | ... | ... |
target-ppc/translate.c
... | ... | @@ -295,7 +295,6 @@ static void gen_##name (DisasContext *ctx); \ |
295 | 295 | GEN_OPCODE2(name, onam, opc1, opc2, opc3, inval, type); \ |
296 | 296 | static void gen_##name (DisasContext *ctx) |
297 | 297 | |
298 | - | |
299 | 298 | typedef struct opcode_t { |
300 | 299 | unsigned char opc1, opc2, opc3; |
301 | 300 | #if HOST_LONG_BITS == 64 /* Explicitely align to 64 bits */ |
... | ... | @@ -3503,7 +3502,7 @@ GEN_HANDLER(mfmsr, 0x1F, 0x13, 0x02, 0x001FF801, PPC_MISC) |
3503 | 3502 | #endif |
3504 | 3503 | } |
3505 | 3504 | |
3506 | -#if 0 | |
3505 | +#if 1 | |
3507 | 3506 | #define SPR_NOACCESS ((void *)(-1)) |
3508 | 3507 | #else |
3509 | 3508 | static void spr_noaccess (void *opaque, int sprn) | ... | ... |