blob: d813c545b540de567a6f0ee3a20c09b2f8bfc461 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
|
<think>
Okay, let's try to figure out what category this bug report falls into. The user is talking about a specific function in QEMU's PPC code, spr_write_xer, which isn't setting certain flag bits in the cpu_xer variable. The problem is that the function is excluding those flags by using a bitwise NOT (~) when copying bits from the source GPR.
The issue isn't causing problems during execution because spr_read_xer is getting the flags from other variables like cpu_ca, cpu_ov, etc. But it's a problem for debugging tools that trace execution, like the one mentioned. Those tools probably expect the cpu_xer to have all the bits, including the flags.
The user suggests fixing it by removing the ~ in the code. The bug is related to the handling of the XER register in the PowerPC emulator. Since XER is a processor register and the issue is about how instructions that write to XER are handled, this seems to be an instruction-related problem. The function spr_write_xer is part of the translation code for PowerPC instructions, so when an instruction like mtxer is executed, the write to XER isn't correctly setting those flags in the cpu_xer structure.
The problem isn't a syscall, because it's about register handling, not system calls. It's also not a general runtime error because it's specifically about instruction execution and register state. So the category should be "instruction".
</think>
instruction
|