mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
ppc patch queue 2021-06-03
Next batch of ppc target patches. Highlights are: * A fix for a regression with single-step mode * Start of moving ppc to use decodetree * Implementation of some POWER10 64-bit prefixed instructions * Several cleanups to softmmu code * Continued progress towards allowing --disable-tcg * Fix for the POWER PEF implementation * Fix for LPCR handling of hotplugged CPUs * Assorted other bugfixes and cleanups This patchset does contain a couple of changes to code outside my normal scope of maintainership, related to the removal of cpu_dump and cpu_statistics hooks. ppc was the last target arch implementing these at all, and they didn't really do anything there either. The patches should have relevant acks. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAmC4kOsACgkQbDjKyiDZ s5Lmfw/+Pq8EWAUWCi1jED/DzmtCAMGbBD7npWjY/kJR1WluSsvhgJBPXTXKDQmv x4TDYd2lZueTU7YRXN6bLGKzeJos/6U8FNb4CK6uaL0syc7OsvgNY0lJNUDG/Ght IcFjLqMAWjImCKGLPIqyOmfPWFv1UU4MiG3bf2gYr4cbunxWHGs0wF+32fcXL/KR Q4FRKUJuh5a5OjJBkodWsnVm263fSFuKSb3Z2SDSV7Wpk9306rEsDrpcPl81xrTk pgZ06iY7pDNVVVzRhonfldbpXCwJdENUMPbZJJQ/9kf0qtfuLE4WlVqAtcuAuXZm ise/6V/GQ0yTTMDuTQxBFOGRoEb/sG+NLAwiaEcPH9denWyhFX8RHK/uKCCxlmcH arzF2ar6i9PGKFUAnzoH7n5+GQGDOBsFbOmAvSPe0KGuDWYQGKGwT+YifCyGIqnB 7NV2n3y0kqEPlCHN1esjSMohgfKxrrI50WZQAo3XJRp6Z7d7643SrA/CXOVmwnvY MbUuHoOQa4kA02v8SAiaC2XZ0iXh1OMq4vxNb7jiNgdlGhfsjUi6IarTwnOikF1Y 2cdxc62WTpIdHkSfoEEI1doP51FfD7vjBVrUOEh7K0D1DAVsrbO6SkPiWpMljXN6 QeJLpcZ/4eJR/MN2tndt79GgwrYx2dboD2h8RfzGXsazy1gb8jk= =4ZDC -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-6.1-20210603' into staging ppc patch queue 2021-06-03 Next batch of ppc target patches. Highlights are: * A fix for a regression with single-step mode * Start of moving ppc to use decodetree * Implementation of some POWER10 64-bit prefixed instructions * Several cleanups to softmmu code * Continued progress towards allowing --disable-tcg * Fix for the POWER PEF implementation * Fix for LPCR handling of hotplugged CPUs * Assorted other bugfixes and cleanups This patchset does contain a couple of changes to code outside my normal scope of maintainership, related to the removal of cpu_dump and cpu_statistics hooks. ppc was the last target arch implementing these at all, and they didn't really do anything there either. The patches should have relevant acks. # gpg: Signature made Thu 03 Jun 2021 09:20:59 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.1-20210603: (42 commits) target/ppc: fix single-step exception regression target/ppc: Move cmp/cmpi/cmpl/cmpli to decodetree target/ppc: Move addpcis to decodetree target/ppc: Implement vcfuged instruction target/ppc: Implement cfuged instruction target/ppc: Implement setbc/setbcr/stnbc/setnbcr instructions target/ppc: Implement prefixed integer store instructions target/ppc: Move D/DS/X-form integer stores to decodetree target/ppc: Implement prefixed integer load instructions target/ppc: Move D/DS/X-form integer loads to decodetree target/ppc: Implement PNOP target/ppc: Move ADDI, ADDIS to decodetree, implement PADDI target/ppc: Add infrastructure for prefixed insns target/ppc: Move page crossing check to ppc_tr_translate_insn target/ppc: Introduce macros to check isa extensions target/ppc: powerpc_excp: Consolidade TLB miss code target/ppc: powerpc_excp: Remove dump_syscall_vectored target/ppc: powerpc_excp: Move lpes code to where it is used target/ppc: overhauled and moved logic of storing fpscr target/ppc: removed all mentions to PPC_DUMP_CPU ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a97978bcc2
33 changed files with 1062 additions and 1206 deletions
|
@ -92,7 +92,6 @@ struct SysemuCPUOps;
|
|||
* @has_work: Callback for checking if there is work to do.
|
||||
* @memory_rw_debug: Callback for GDB memory access.
|
||||
* @dump_state: Callback for dumping state.
|
||||
* @dump_statistics: Callback for dumping statistics.
|
||||
* @get_arch_id: Callback for getting architecture-dependent CPU ID.
|
||||
* @set_pc: Callback for setting the Program Counter register. This
|
||||
* should have the semantics used by the target architecture when
|
||||
|
@ -134,7 +133,6 @@ struct CPUClass {
|
|||
int (*memory_rw_debug)(CPUState *cpu, vaddr addr,
|
||||
uint8_t *buf, int len, bool is_write);
|
||||
void (*dump_state)(CPUState *cpu, FILE *, int flags);
|
||||
void (*dump_statistics)(CPUState *cpu, int flags);
|
||||
int64_t (*get_arch_id)(CPUState *cpu);
|
||||
void (*set_pc)(CPUState *cpu, vaddr value);
|
||||
int (*gdb_read_register)(CPUState *cpu, GByteArray *buf, int reg);
|
||||
|
@ -534,16 +532,6 @@ enum CPUDumpFlags {
|
|||
*/
|
||||
void cpu_dump_state(CPUState *cpu, FILE *f, int flags);
|
||||
|
||||
/**
|
||||
* cpu_dump_statistics:
|
||||
* @cpu: The CPU whose state is to be dumped.
|
||||
* @flags: Flags what to dump.
|
||||
*
|
||||
* Dump CPU statistics to the current monitor if we have one, else to
|
||||
* stdout.
|
||||
*/
|
||||
void cpu_dump_statistics(CPUState *cpu, int flags);
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
/**
|
||||
* cpu_get_phys_page_attrs_debug:
|
||||
|
|
|
@ -223,6 +223,9 @@ struct SpaprMachineState {
|
|||
int fwnmi_machine_check_interlock;
|
||||
QemuCond fwnmi_machine_check_interlock_cond;
|
||||
|
||||
/* Set by -boot */
|
||||
char *boot_device;
|
||||
|
||||
/*< public >*/
|
||||
char *kvm_type;
|
||||
char *host_model;
|
||||
|
|
|
@ -11,19 +11,9 @@
|
|||
#define HW_SPAPR_NVDIMM_H
|
||||
|
||||
#include "hw/mem/nvdimm.h"
|
||||
#include "hw/ppc/spapr.h"
|
||||
|
||||
/*
|
||||
* The nvdimm size should be aligned to SCM block size.
|
||||
* The SCM block size should be aligned to SPAPR_MEMORY_BLOCK_SIZE
|
||||
* inorder to have SCM regions not to overlap with dimm memory regions.
|
||||
* The SCM devices can have variable block sizes. For now, fixing the
|
||||
* block size to the minimum value.
|
||||
*/
|
||||
#define SPAPR_MINIMUM_SCM_BLOCK_SIZE SPAPR_MEMORY_BLOCK_SIZE
|
||||
|
||||
/* Have an explicit check for alignment */
|
||||
QEMU_BUILD_BUG_ON(SPAPR_MINIMUM_SCM_BLOCK_SIZE % SPAPR_MEMORY_BLOCK_SIZE);
|
||||
typedef struct SpaprDrc SpaprDrc;
|
||||
typedef struct SpaprMachineState SpaprMachineState;
|
||||
|
||||
int spapr_pmem_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr,
|
||||
void *fdt, int *fdt_start_offset, Error **errp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue