cpu.c (a8c611e1133f97c979922f41103f79309339dc27) | cpu.c (cbc3a6a4cc675516328a2b0d3602355d68b6302d) |
---|---|
1/* 2 * Sparc CPU init helpers 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 43 unchanged lines hidden (view full) --- 52#endif 53#else 54#if !defined(TARGET_SPARC64) 55 env->psret = 0; 56 env->psrs = 1; 57 env->psrps = 1; 58#endif 59#ifdef TARGET_SPARC64 | 1/* 2 * Sparc CPU init helpers 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 43 unchanged lines hidden (view full) --- 52#endif 53#else 54#if !defined(TARGET_SPARC64) 55 env->psret = 0; 56 env->psrs = 1; 57 env->psrps = 1; 58#endif 59#ifdef TARGET_SPARC64 |
60 env->pstate = PS_PRIV|PS_RED|PS_PEF|PS_AG; | 60 env->pstate = PS_PRIV | PS_RED | PS_PEF; 61 if (!cpu_has_hypervisor(env)) { 62 env->pstate |= PS_AG; 63 } |
61 env->hpstate = cpu_has_hypervisor(env) ? HS_PRIV : 0; 62 env->tl = env->maxtl; | 64 env->hpstate = cpu_has_hypervisor(env) ? HS_PRIV : 0; 65 env->tl = env->maxtl; |
66 env->gl = 2; |
|
63 cpu_tsptr(env)->tt = TT_POWER_ON_RESET; 64 env->lsu = 0; 65#else 66 env->mmuregs[0] &= ~(MMU_E | MMU_NF); 67 env->mmuregs[0] |= env->def->mmu_bm; 68#endif 69 env->pc = 0; 70 env->npc = env->pc + 4; --- 668 unchanged lines hidden (view full) --- 739 } 740 } 741#ifdef TARGET_SPARC64 742 cpu_fprintf(f, "pstate: %08x ccr: %02x (icc: ", env->pstate, 743 (unsigned)cpu_get_ccr(env)); 744 cpu_print_cc(f, cpu_fprintf, cpu_get_ccr(env) << PSR_CARRY_SHIFT); 745 cpu_fprintf(f, " xcc: "); 746 cpu_print_cc(f, cpu_fprintf, cpu_get_ccr(env) << (PSR_CARRY_SHIFT - 4)); | 67 cpu_tsptr(env)->tt = TT_POWER_ON_RESET; 68 env->lsu = 0; 69#else 70 env->mmuregs[0] &= ~(MMU_E | MMU_NF); 71 env->mmuregs[0] |= env->def->mmu_bm; 72#endif 73 env->pc = 0; 74 env->npc = env->pc + 4; --- 668 unchanged lines hidden (view full) --- 743 } 744 } 745#ifdef TARGET_SPARC64 746 cpu_fprintf(f, "pstate: %08x ccr: %02x (icc: ", env->pstate, 747 (unsigned)cpu_get_ccr(env)); 748 cpu_print_cc(f, cpu_fprintf, cpu_get_ccr(env) << PSR_CARRY_SHIFT); 749 cpu_fprintf(f, " xcc: "); 750 cpu_print_cc(f, cpu_fprintf, cpu_get_ccr(env) << (PSR_CARRY_SHIFT - 4)); |
747 cpu_fprintf(f, ") asi: %02x tl: %d pil: %x\n", env->asi, env->tl, 748 env->psrpil); | 751 cpu_fprintf(f, ") asi: %02x tl: %d pil: %x gl: %d\n", env->asi, env->tl, 752 env->psrpil, env->gl); 753 cpu_fprintf(f, "tbr: " TARGET_FMT_lx " hpstate: " TARGET_FMT_lx " htba: " 754 TARGET_FMT_lx "\n", env->tbr, env->hpstate, env->htba); |
749 cpu_fprintf(f, "cansave: %d canrestore: %d otherwin: %d wstate: %d " 750 "cleanwin: %d cwp: %d\n", 751 env->cansave, env->canrestore, env->otherwin, env->wstate, 752 env->cleanwin, env->nwindows - 1 - env->cwp); 753 cpu_fprintf(f, "fsr: " TARGET_FMT_lx " y: " TARGET_FMT_lx " fprs: " 754 TARGET_FMT_lx "\n", env->fsr, env->y, env->fprs); | 755 cpu_fprintf(f, "cansave: %d canrestore: %d otherwin: %d wstate: %d " 756 "cleanwin: %d cwp: %d\n", 757 env->cansave, env->canrestore, env->otherwin, env->wstate, 758 env->cleanwin, env->nwindows - 1 - env->cwp); 759 cpu_fprintf(f, "fsr: " TARGET_FMT_lx " y: " TARGET_FMT_lx " fprs: " 760 TARGET_FMT_lx "\n", env->fsr, env->y, env->fprs); |
761 |
|
755#else 756 cpu_fprintf(f, "psr: %08x (icc: ", cpu_get_psr(env)); 757 cpu_print_cc(f, cpu_fprintf, cpu_get_psr(env)); 758 cpu_fprintf(f, " SPE: %c%c%c) wim: %08x\n", env->psrs ? 'S' : '-', 759 env->psrps ? 'P' : '-', env->psret ? 'E' : '-', 760 env->wim); 761 cpu_fprintf(f, "fsr: " TARGET_FMT_lx " y: " TARGET_FMT_lx "\n", 762 env->fsr, env->y); --- 132 unchanged lines hidden --- | 762#else 763 cpu_fprintf(f, "psr: %08x (icc: ", cpu_get_psr(env)); 764 cpu_print_cc(f, cpu_fprintf, cpu_get_psr(env)); 765 cpu_fprintf(f, " SPE: %c%c%c) wim: %08x\n", env->psrs ? 'S' : '-', 766 env->psrps ? 'P' : '-', env->psret ? 'E' : '-', 767 env->wim); 768 cpu_fprintf(f, "fsr: " TARGET_FMT_lx " y: " TARGET_FMT_lx "\n", 769 env->fsr, env->y); --- 132 unchanged lines hidden --- |