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 ---