mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 16:55:35 +00:00
target/arm: Use uint64_t for midr field in CPU state struct
MIDR_EL1 is a 64-bit system register with the top 32-bit being RES0. Represent it in QEMU's ARMCPU struct with a uint64_t, not a uint32_t. This fixes an error when compiling with -Werror=conversion because we were manipulating the register value using a local uint64_t variable: target/arm/cpu64.c: In function ‘aarch64_max_initfn’: target/arm/cpu64.c:628:21: error: conversion from ‘uint64_t’ {aka ‘long unsigned int’} to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Werror=conversion] 628 | cpu->midr = t; | ^ and future-proofs us against a possible future architecture change using some of the top 32 bits. Backports commit e544f80030121040c8932ff1bd4006f390266c0f from qemu
This commit is contained in:
parent
d28059f4ea
commit
8f90b77a6d
|
@ -854,7 +854,7 @@ struct ARMCPU {
|
|||
uint64_t id_aa64dfr0;
|
||||
uint64_t id_aa64dfr1;
|
||||
} isar;
|
||||
uint32_t midr;
|
||||
uint64_t midr;
|
||||
uint32_t revidr;
|
||||
uint32_t reset_fpsid;
|
||||
uint32_t ctr;
|
||||
|
|
Loading…
Reference in a new issue