mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
lkcd_dump.cpp: In constructor ‘LKCDDump32::LKCDDump32(Dump*, const RegisterContent32&)’:
lkcd_dump.cpp:191:27: warning: implicitly-declared ‘constexpr RegisterContent32& RegisterContent32::operator=(const RegisterContent32&)’ is deprecated [-Wdeprecated-copy]
191 | registerContent = r;
| ^
In file included from lkcd_dump.h:18,
from lkcd_dump.cpp:17:
register_content.h:63:9: note: because ‘RegisterContent32’ has user-provided ‘RegisterContent32::RegisterContent32(const RegisterContent32&)’
63 | RegisterContent32(const RegisterContent32&);
| ^~~~~~~~~~~~~~~~~
lkcd_dump.cpp: In constructor ‘LKCDDump64::LKCDDump64(Dump*, const RegisterContent64&)’:
lkcd_dump.cpp:232:27: warning: implicitly-declared ‘constexpr RegisterContent64& RegisterContent64::operator=(const RegisterContent64&)’ is deprecated [-Wdeprecated-copy]
232 | registerContent = r;
| ^
register_content.h:49:9: note: because ‘RegisterContent64’ has user-provided ‘RegisterContent64::RegisterContent64(const RegisterContent64&)’
49 | RegisterContent64(const RegisterContent64&);
| ^~~~~~~~~~~~~~~~~
Closes: https://github.com/ibm-s390-linux/s390-tools/pull/137
Signed-off-by: Dan Horák <dan@danny.cz>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
76 lines
1.5 KiB
C++
76 lines
1.5 KiB
C++
/*
|
|
* vmdump - z/VM dump conversion library
|
|
*
|
|
* Register content classes
|
|
*
|
|
* Copyright IBM Corp. 2004, 2017
|
|
*
|
|
* s390-tools is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*/
|
|
|
|
#ifndef REGISTER_CONTENT_H
|
|
#define REGISTER_CONTENT_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#define MAX_CPUS 512
|
|
|
|
class RegisterSet64
|
|
{
|
|
public:
|
|
uint64_t gprs[16];
|
|
uint64_t crs[16];
|
|
uint32_t acrs[16];
|
|
uint64_t fprs[16];
|
|
uint32_t fpCr;
|
|
uint64_t psw[2];
|
|
uint32_t prefix;
|
|
uint64_t cpuTimer;
|
|
uint64_t clkCmp;
|
|
};
|
|
|
|
class RegisterSet32
|
|
{
|
|
public:
|
|
uint32_t gprs[16];
|
|
uint32_t crs[16];
|
|
uint32_t acrs[16];
|
|
uint64_t fprs[4];
|
|
uint32_t psw[2];
|
|
uint32_t prefix;
|
|
uint64_t cpuTimer;
|
|
uint64_t clkCmp;
|
|
};
|
|
|
|
class RegisterContent64{
|
|
public:
|
|
RegisterContent64(void);
|
|
RegisterContent64(const RegisterContent64&);
|
|
RegisterSet64 getRegisterSet(int cpu);
|
|
void addRegisterSet(const RegisterSet64&);
|
|
inline int getNumCpus(void) const { return nrCpus; }
|
|
RegisterContent64& operator=(const RegisterContent64&) = default;
|
|
|
|
RegisterSet64 regSets[MAX_CPUS];
|
|
private:
|
|
int nrCpus;
|
|
|
|
};
|
|
|
|
class RegisterContent32{
|
|
public:
|
|
RegisterContent32(void);
|
|
RegisterContent32(const RegisterContent32&);
|
|
RegisterSet32 getRegisterSet(int cpu);
|
|
void addRegisterSet(const RegisterSet32&);
|
|
inline int getNumCpus(void) const { return nrCpus; }
|
|
RegisterContent32& operator=(const RegisterContent32&) = default;
|
|
|
|
RegisterSet32 regSets[MAX_CPUS];
|
|
private:
|
|
int nrCpus;
|
|
};
|
|
|
|
#endif /* REGISTER_CONTENT_H */
|