mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
target/ppc: Fix width of some 32-bit SPRs
Some 32-bit SPRs are incorrectly implemented as 64-bits on 64-bit targets. This changes VRSAVE, DSISR, HDSISR, DAWRX0, PIDR, LPIDR, DEXCR, HDEXCR, CTRL, TSCR, MMCRH, and PMC[1-6] from to be 32-bit registers. This only goes by the 32/64 classification in the architecture, it does not try to implement finer details of SPR implementation (e.g., not all bits implemented as simple read/write storage). Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com> Message-Id: <20230515092655.171206-2-npiggin@gmail.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
5260ecffd2
commit
fbda88f7ab
6 changed files with 27 additions and 27 deletions
|
@ -81,6 +81,7 @@ void _spr_register(CPUPPCState *env, int num, const char *name,
|
|||
void spr_noaccess(DisasContext *ctx, int gprn, int sprn);
|
||||
void spr_read_generic(DisasContext *ctx, int gprn, int sprn);
|
||||
void spr_write_generic(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_write_generic32(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_write_MMCR0(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_write_MMCR1(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_write_PMC(DisasContext *ctx, int sprn, int gprn);
|
||||
|
@ -109,7 +110,6 @@ void spr_write_PMC14_ureg(DisasContext *ctx, int sprn, int gprn);
|
|||
void spr_write_PMC56_ureg(DisasContext *ctx, int sprn, int gprn);
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
void spr_write_generic32(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_write_clear(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_access_nop(DisasContext *ctx, int sprn, int gprn);
|
||||
void spr_read_decr(DisasContext *ctx, int gprn, int sprn);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue