Revision daf4f96e target-ppc/op.c
b/target-ppc/op.c | ||
---|---|---|
1985 | 1985 |
/* tlbia */ |
1986 | 1986 |
void OPPROTO op_tlbia (void) |
1987 | 1987 |
{ |
1988 |
do_tlbia();
|
|
1988 |
ppc_tlb_invalidate_all(env);
|
|
1989 | 1989 |
RETURN(); |
1990 | 1990 |
} |
1991 | 1991 |
|
1992 | 1992 |
/* tlbie */ |
1993 | 1993 |
void OPPROTO op_tlbie (void) |
1994 | 1994 |
{ |
1995 |
do_tlbie();
|
|
1995 |
ppc_tlb_invalidate_one(env, (uint32_t)T0);
|
|
1996 | 1996 |
RETURN(); |
1997 | 1997 |
} |
1998 | 1998 |
|
1999 | 1999 |
#if defined(TARGET_PPC64) |
2000 | 2000 |
void OPPROTO op_tlbie_64 (void) |
2001 | 2001 |
{ |
2002 |
do_tlbie_64();
|
|
2002 |
ppc_tlb_invalidate_one(env, T0);
|
|
2003 | 2003 |
RETURN(); |
2004 | 2004 |
} |
2005 | 2005 |
#endif |
... | ... | |
2007 | 2007 |
#if defined(TARGET_PPC64) |
2008 | 2008 |
void OPPROTO op_slbia (void) |
2009 | 2009 |
{ |
2010 |
do_slbia();
|
|
2010 |
ppc_slb_invalidate_all(env);
|
|
2011 | 2011 |
RETURN(); |
2012 | 2012 |
} |
2013 | 2013 |
|
2014 | 2014 |
void OPPROTO op_slbie (void) |
2015 | 2015 |
{ |
2016 |
do_slbie(); |
|
2016 |
ppc_slb_invalidate_one(env, (uint32_t)T0); |
|
2017 |
RETURN(); |
|
2018 |
} |
|
2019 |
|
|
2020 |
void OPPROTO op_slbie_64 (void) |
|
2021 |
{ |
|
2022 |
ppc_slb_invalidate_one(env, T0); |
|
2017 | 2023 |
RETURN(); |
2018 | 2024 |
} |
2019 | 2025 |
#endif |
... | ... | |
2487 | 2493 |
|
2488 | 2494 |
void OPPROTO op_440_tlbsx (void) |
2489 | 2495 |
{ |
2490 |
do_440_tlbsx();
|
|
2496 |
T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_440_MMUCR] & 0xFF);
|
|
2491 | 2497 |
RETURN(); |
2492 | 2498 |
} |
2493 | 2499 |
|
2494 |
void OPPROTO op_440_tlbsx_ (void)
|
|
2500 |
void OPPROTO op_4xx_tlbsx_check (void)
|
|
2495 | 2501 |
{ |
2496 |
do_440_tlbsx_(); |
|
2502 |
int tmp; |
|
2503 |
|
|
2504 |
tmp = xer_so; |
|
2505 |
if (T0 != -1) |
|
2506 |
tmp |= 0x02; |
|
2507 |
env->crf[0] = tmp; |
|
2497 | 2508 |
RETURN(); |
2498 | 2509 |
} |
2499 | 2510 |
|
... | ... | |
2517 | 2528 |
|
2518 | 2529 |
void OPPROTO op_4xx_tlbsx (void) |
2519 | 2530 |
{ |
2520 |
do_4xx_tlbsx(); |
|
2521 |
RETURN(); |
|
2522 |
} |
|
2523 |
|
|
2524 |
void OPPROTO op_4xx_tlbsx_ (void) |
|
2525 |
{ |
|
2526 |
do_4xx_tlbsx_(); |
|
2531 |
T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_40x_PID]); |
|
2527 | 2532 |
RETURN(); |
2528 | 2533 |
} |
2529 | 2534 |
|
Also available in: Unified diff