mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
* AccelCPUClass and sysemu/user split for i386 (Claudio)
* i386 page walk unification * Fix detection of gdbus-codegen * Misc refactoring -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmCblEEUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroObnQgAj10pRDODY9hIiUiYj2sTcEQTly3p DC+ZWDaup67z3WV2C/vAS/x31RGIus+7bzji3fgtUcnGOr7sbuOCcs7CPY8mam5Y GMPNrsUk2sZ5z9SVTq2vjEa61tjxtMpYXx9pnhgJzJAO4NJzNuX74ZdpA+oV5aTC CvZDk8lC7BLU16MfeLcbw44xE4Oy05wWwaoP2pvhdOg47y85t/S9Il1yBCYi3y8C pTOBBCYmHGPj/r7i4MhUGrAjIyGQu1w7av8nZXouRegoeVl28RKR8+pl7TfFpt+E cp95yE8dPuNFJnCiZ3Kv01eBcSUcyp4gVb5H2Oa/nkkYRLpnONbUzYFtIA== =zR5U -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging * AccelCPUClass and sysemu/user split for i386 (Claudio) * i386 page walk unification * Fix detection of gdbus-codegen * Misc refactoring # gpg: Signature made Wed 12 May 2021 09:39:29 BST # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini-gitlab/tags/for-upstream: (32 commits) coverity-scan: list components, move model to scripts/coverity-scan configure: fix detection of gdbus-codegen qemu-option: support accept-any QemuOptsList in qemu_opts_absorb_qdict main-loop: remove dead code target/i386: use mmu_translate for NPT walk target/i386: allow customizing the next phase of the translation target/i386: extend pg_mode to more CR0 and CR4 bits target/i386: pass cr3 to mmu_translate target/i386: extract mmu_translate target/i386: move paging mode constants from SVM to cpu.h target/i386: merge SVM_NPTEXIT_* with PF_ERROR_* constants accel: add init_accel_cpu for adapting accel behavior to CPU type accel: move call to accel_init_interfaces i386: make cpu_load_efer sysemu-only target/i386: gdbstub: only write CR0/CR2/CR3/EFER for sysemu target/i386: gdbstub: introduce aux functions to read/write CS64 regs i386: split off sysemu part of cpu.c i386: split seg_helper into user-only and sysemu parts i386: split svm_helper into sysemu and stub-only user i386: separate fpu_helper sysemu-only parts ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
31589644ba
59 changed files with 3299 additions and 2674 deletions
|
@ -32,7 +32,7 @@ typedef struct AccelCPUClass {
|
|||
|
||||
void (*cpu_class_init)(CPUClass *cc);
|
||||
void (*cpu_instance_init)(CPUState *cpu);
|
||||
void (*cpu_realizefn)(CPUState *cpu, Error **errp);
|
||||
bool (*cpu_realizefn)(CPUState *cpu, Error **errp);
|
||||
} AccelCPUClass;
|
||||
|
||||
#endif /* ACCEL_CPU_H */
|
||||
|
|
|
@ -192,6 +192,12 @@ struct CPUClass {
|
|||
|
||||
/* when TCG is not available, this pointer is NULL */
|
||||
struct TCGCPUOps *tcg_ops;
|
||||
|
||||
/*
|
||||
* if not NULL, this is called in order for the CPUClass to initialize
|
||||
* class data that depends on the accelerator, see accel/accel-common.c.
|
||||
*/
|
||||
void (*init_accel_cpu)(struct AccelCPUClass *accel_cpu, CPUClass *cc);
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -78,4 +78,17 @@ int accel_init_machine(AccelState *accel, MachineState *ms);
|
|||
void accel_setup_post(MachineState *ms);
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
/**
|
||||
* accel_cpu_instance_init:
|
||||
* @cpu: The CPU that needs to do accel-specific object initializations.
|
||||
*/
|
||||
void accel_cpu_instance_init(CPUState *cpu);
|
||||
|
||||
/**
|
||||
* accel_cpu_realizefn:
|
||||
* @cpu: The CPU that needs to call accel-specific cpu realization.
|
||||
* @errp: currently unused.
|
||||
*/
|
||||
bool accel_cpu_realizefn(CPUState *cpu, Error **errp);
|
||||
|
||||
#endif /* QEMU_ACCEL_H */
|
||||
|
|
|
@ -234,24 +234,6 @@ void event_notifier_set_handler(EventNotifier *e,
|
|||
|
||||
GSource *iohandler_get_g_source(void);
|
||||
AioContext *iohandler_get_aio_context(void);
|
||||
#ifdef CONFIG_POSIX
|
||||
/**
|
||||
* qemu_add_child_watch: Register a child process for reaping.
|
||||
*
|
||||
* Under POSIX systems, a parent process must read the exit status of
|
||||
* its child processes using waitpid, or the operating system will not
|
||||
* free some of the resources attached to that process.
|
||||
*
|
||||
* This function directs the QEMU main loop to observe a child process
|
||||
* and call waitpid as soon as it exits; the watch is then removed
|
||||
* automatically. It is useful whenever QEMU forks a child process
|
||||
* but will find out about its termination by other means such as a
|
||||
* "broken pipe".
|
||||
*
|
||||
* @pid: The pid that QEMU should observe.
|
||||
*/
|
||||
int qemu_add_child_watch(pid_t pid);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* qemu_mutex_iothread_locked: Return lock status of the main loop mutex.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue