mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
xen/pt: Remove XenPTReg->data field.
We do not want to have two entries to cache the guest configuration registers: XenPTReg->data and dev.config. Instead we want to use only the dev.config. To do without much complications we rip out the ->data field and replace it with an pointer to the dev.config. This way we have the type-checking (uint8_t, uint16_t, etc) and as well and pre-computed location. Alternatively we could compute the offset in dev.config by using the XenPTRRegInfo and XenPTRegGroup every time but this way we have the pre-computed values. This change also exposes some mis-use: - In 'xen_pt_status_reg_init' we used u32 for the Capabilities Pointer register, but said register is an an u16. - In 'xen_pt_msgdata_reg_write' we used u32 but should have only use u16. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
parent
5b4dd0f55e
commit
e2779de053
2 changed files with 49 additions and 30 deletions
|
@ -138,7 +138,11 @@ struct XenPTRegInfo {
|
|||
struct XenPTReg {
|
||||
QLIST_ENTRY(XenPTReg) entries;
|
||||
XenPTRegInfo *reg;
|
||||
uint32_t data; /* emulated value */
|
||||
union {
|
||||
uint8_t *byte;
|
||||
uint16_t *half_word;
|
||||
uint32_t *word;
|
||||
} ptr; /* pointer to dev.config. */
|
||||
};
|
||||
|
||||
typedef const struct XenPTRegGroupInfo XenPTRegGroupInfo;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue