mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-6.0-20210412' into staging
ppc patch queue for 2021-04-21 Here's what I hope is the last ppc related pull request for qemu-6.0. The 2 patches here revert a behavioural change that after further discussion we concluded was a bad idea (adding a timeout for possibly-failed hot unplug requests). Instead it implements a different approach to the original problem: we again let unplug requests the guest doesn't respond to remain pending indefinitely, but no longer allow those to block attempts to retry the same unplug again. The change is a bit more complex than I'd like for this late in the freeze. Nonetheless, I think it's important to merge this for 6.0, so we don't allow a release which has the probably-a-bad-idea timeout behaviour. # gpg: Signature made Mon 12 Apr 2021 06:25:58 BST # gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full] # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full] # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full] # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown] # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dg-gitlab/tags/ppc-for-6.0-20210412: spapr.c: always pulse guest IRQ in spapr_core_unplug_request() spapr: rollback 'unplug timeout' for CPU hotunplugs Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -187,8 +187,6 @@ typedef struct SpaprDrc {
|
||||
bool unplug_requested;
|
||||
void *fdt;
|
||||
int fdt_start_offset;
|
||||
|
||||
QEMUTimer *unplug_timeout_timer;
|
||||
} SpaprDrc;
|
||||
|
||||
struct SpaprMachineState;
|
||||
@@ -211,8 +209,6 @@ typedef struct SpaprDrcClass {
|
||||
|
||||
int (*dt_populate)(SpaprDrc *drc, struct SpaprMachineState *spapr,
|
||||
void *fdt, int *fdt_start_offset, Error **errp);
|
||||
|
||||
int unplug_timeout_seconds;
|
||||
} SpaprDrcClass;
|
||||
|
||||
typedef struct SpaprDrcPhysical {
|
||||
@@ -248,7 +244,6 @@ int spapr_dt_drc(void *fdt, int offset, Object *owner, uint32_t drc_type_mask);
|
||||
*/
|
||||
void spapr_drc_attach(SpaprDrc *drc, DeviceState *d);
|
||||
void spapr_drc_unplug_request(SpaprDrc *drc);
|
||||
int spapr_drc_unplug_timeout_remaining_sec(SpaprDrc *drc);
|
||||
|
||||
/*
|
||||
* Reset all DRCs, causing pending hot-plug/unplug requests to complete.
|
||||
|
||||
@@ -797,14 +797,6 @@ static inline int64_t get_max_clock_jump(void)
|
||||
return 60 * NANOSECONDS_PER_SECOND;
|
||||
}
|
||||
|
||||
/**
|
||||
* timer_deadline_ms:
|
||||
*
|
||||
* Returns the remaining miliseconds for @timer to expire, or zero
|
||||
* if the timer is no longer pending.
|
||||
*/
|
||||
int64_t timer_deadline_ms(QEMUTimer *timer);
|
||||
|
||||
/*
|
||||
* Low level clock functions
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user