mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
* Assorted small ppc fixes
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEETkN92lZhb0MpsKeVZ7MCdqhiHK4FAmdF/gUACgkQZ7MCdqhi HK55/xAAw1AXhd+B9JODn6bpDzIvG1yZN81X7xm5WtVQwb9GgBlacBMgVRZQvulX 0TH0GBe2/+NkIgr/8c2j2NN3VwME86w56R7E9XFStwh9Q+80vJNT898023gAeN7k qiy+XBroUBkJJhuJOYXMCsgg7j0eTaCdVJxqytKBtr4vQnxRfkgKLeHKyMSF0uNu geRg76V3elleDNIhSood8GJ/O+Boom9Dvrsj7FwxIfTRnT8d1cwUV599fOJMYW/A EOquM54eREhCymVOMTx3gpJAMQXMGJ9LKR6AuIWEu1t4J9KJD27I5a56ASjz8BcO RH6DeqDVSauv25NqWKk4388xYTzd1zTScG4X7qdLcoLwy+wjyB90mvbLFmpuNjrG bR5BALRF0OtJ2SQ+DHM8h0OPQANl33c0YCU5GHMsFMiAkPJPaZWib1VrzeU8JzjW nUbKPE6htYh6Ee6dyGq/E1SP7QgmJTavZ/aY8j5e5iyJBWEZuS80TZ8FYv6ETFp7 5SHpRcvREZs4GO8vWwh8yNuepvQ5O6iK79kQUjcdREvRjT419m50cfJwyMxhG16r IeNkny7YtfX7s90s8zhw3WQECmBpfKqvzXtFZPORdge2MJSHFmYpnip9uLp1r1pU 1BUe1m1vubqd6/2JLw0FLIIqjuEv9VLDh4HI6ehG/7G7gwnwlRc= =Acg2 -----END PGP SIGNATURE----- Merge tag 'pull-ppc-for-9.2-2-20241127' of https://gitlab.com/npiggin/qemu into staging * Assorted small ppc fixes # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEETkN92lZhb0MpsKeVZ7MCdqhiHK4FAmdF/gUACgkQZ7MCdqhi # HK55/xAAw1AXhd+B9JODn6bpDzIvG1yZN81X7xm5WtVQwb9GgBlacBMgVRZQvulX # 0TH0GBe2/+NkIgr/8c2j2NN3VwME86w56R7E9XFStwh9Q+80vJNT898023gAeN7k # qiy+XBroUBkJJhuJOYXMCsgg7j0eTaCdVJxqytKBtr4vQnxRfkgKLeHKyMSF0uNu # geRg76V3elleDNIhSood8GJ/O+Boom9Dvrsj7FwxIfTRnT8d1cwUV599fOJMYW/A # EOquM54eREhCymVOMTx3gpJAMQXMGJ9LKR6AuIWEu1t4J9KJD27I5a56ASjz8BcO # RH6DeqDVSauv25NqWKk4388xYTzd1zTScG4X7qdLcoLwy+wjyB90mvbLFmpuNjrG # bR5BALRF0OtJ2SQ+DHM8h0OPQANl33c0YCU5GHMsFMiAkPJPaZWib1VrzeU8JzjW # nUbKPE6htYh6Ee6dyGq/E1SP7QgmJTavZ/aY8j5e5iyJBWEZuS80TZ8FYv6ETFp7 # 5SHpRcvREZs4GO8vWwh8yNuepvQ5O6iK79kQUjcdREvRjT419m50cfJwyMxhG16r # IeNkny7YtfX7s90s8zhw3WQECmBpfKqvzXtFZPORdge2MJSHFmYpnip9uLp1r1pU # 1BUe1m1vubqd6/2JLw0FLIIqjuEv9VLDh4HI6ehG/7G7gwnwlRc= # =Acg2 # -----END PGP SIGNATURE----- # gpg: Signature made Tue 26 Nov 2024 16:57:41 GMT # gpg: using RSA key 4E437DDA56616F4329B0A79567B30276A8621CAE # gpg: Good signature from "Nicholas Piggin <npiggin@gmail.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 4E43 7DDA 5661 6F43 29B0 A795 67B3 0276 A862 1CAE * tag 'pull-ppc-for-9.2-2-20241127' of https://gitlab.com/npiggin/qemu: hw/ppc/pegasos2: Fix IRQ routing from pci.0 ppc/spapr: fix drc index mismatch for partially enabled vcpus ppc/pnv: Add xscom- prefix to pervasive-control region name target/ppc: Fix THREAD_SIBLING_FOREACH for multi-socket ppc/pnv: Fix direct controls quiesce target/ppc: Fix non-maskable interrupt while halted Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
10bfa161fb
8 changed files with 55 additions and 7 deletions
|
@ -1253,6 +1253,7 @@ struct CPUArchState {
|
|||
/* For SMT processors */
|
||||
bool has_smt_siblings;
|
||||
int core_index;
|
||||
int chip_index;
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
/* MMU context, only relevant for full system emulation */
|
||||
|
@ -1355,6 +1356,7 @@ struct CPUArchState {
|
|||
* special way (such as routing some resume causes to 0x100, i.e. sreset).
|
||||
*/
|
||||
bool resume_as_sreset;
|
||||
bool quiesced;
|
||||
#endif
|
||||
|
||||
/* These resources are used only in TCG */
|
||||
|
@ -1411,8 +1413,10 @@ struct CPUArchState {
|
|||
|
||||
#define THREAD_SIBLING_FOREACH(cs, cs_sibling) \
|
||||
CPU_FOREACH(cs_sibling) \
|
||||
if (POWERPC_CPU(cs)->env.core_index == \
|
||||
POWERPC_CPU(cs_sibling)->env.core_index)
|
||||
if ((POWERPC_CPU(cs)->env.chip_index == \
|
||||
POWERPC_CPU(cs_sibling)->env.chip_index) && \
|
||||
(POWERPC_CPU(cs)->env.core_index == \
|
||||
POWERPC_CPU(cs_sibling)->env.core_index))
|
||||
|
||||
#define SET_FIT_PERIOD(a_, b_, c_, d_) \
|
||||
do { \
|
||||
|
|
|
@ -2495,10 +2495,16 @@ static void ppc_deliver_interrupt(CPUPPCState *env, int interrupt)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* system reset is not delivered via normal irq method, so have to set
|
||||
* halted = 0 to resume CPU running if it was halted. Possibly we should
|
||||
* move it over to using PPC_INTERRUPT_RESET rather than async_run_on_cpu.
|
||||
*/
|
||||
void ppc_cpu_do_system_reset(CPUState *cs)
|
||||
{
|
||||
PowerPCCPU *cpu = POWERPC_CPU(cs);
|
||||
|
||||
cs->halted = 0;
|
||||
powerpc_excp(cpu, POWERPC_EXCP_RESET);
|
||||
}
|
||||
|
||||
|
@ -2520,6 +2526,7 @@ void ppc_cpu_do_fwnmi_machine_check(CPUState *cs, target_ulong vector)
|
|||
|
||||
/* Anything for nested required here? MSR[HV] bit? */
|
||||
|
||||
cs->halted = 0;
|
||||
powerpc_set_excp_state(cpu, vector, msr);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue