Skip to content
Snippets Groups Projects
  • TaiseiIto's avatar
    75ac231c
    gdb-xml: Fix size of EFER register on i386 architecture when debugged by GDB · 75ac231c
    TaiseiIto authored
    
    Before this commit, there were contradictory descriptions about size of EFER
    register.
    Line 113 says the size is 8 bytes.
    Line 129 says the size is 4 bytes.
    
    As a result, when GDB is debugging an OS running on QEMU, the GDB cannot
    read 'g' packets correctly. This 'g' packet transmits values of each
    registers of machine emulated by QEMU to GDB. QEMU, the packet sender,
    assign 4 bytes for EFER in 'g' packet based on the line 113.
    GDB, the packet receiver, extract 8 bytes for EFER in 'g' packet based on
    the line 129. Therefore, all registers located behind EFER in 'g' packet
    has been shifted 4 bytes in GDB.
    
    After this commit, GDB can read 'g' packets correctly.
    
    Signed-off-by: default avatarTaiseiIto <taisei1212@outlook.jp>
    Message-Id: <TY0PR0101MB4285F637209075C9F65FCDA6A4479@TY0PR0101MB4285.apcprd01.prod.exchangelabs.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    75ac231c
    History
    gdb-xml: Fix size of EFER register on i386 architecture when debugged by GDB
    TaiseiIto authored
    
    Before this commit, there were contradictory descriptions about size of EFER
    register.
    Line 113 says the size is 8 bytes.
    Line 129 says the size is 4 bytes.
    
    As a result, when GDB is debugging an OS running on QEMU, the GDB cannot
    read 'g' packets correctly. This 'g' packet transmits values of each
    registers of machine emulated by QEMU to GDB. QEMU, the packet sender,
    assign 4 bytes for EFER in 'g' packet based on the line 113.
    GDB, the packet receiver, extract 8 bytes for EFER in 'g' packet based on
    the line 129. Therefore, all registers located behind EFER in 'g' packet
    has been shifted 4 bytes in GDB.
    
    After this commit, GDB can read 'g' packets correctly.
    
    Signed-off-by: default avatarTaiseiIto <taisei1212@outlook.jp>
    Message-Id: <TY0PR0101MB4285F637209075C9F65FCDA6A4479@TY0PR0101MB4285.apcprd01.prod.exchangelabs.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>