Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

bochs-2.2.6-big-endian.patch

Blame
  • Forked from h-attak / Pintos_Student
    Up to date with the upstream repository.
    • h-attak's avatar
      de55c026
      Initial Commit - Base UWE Pintos Implementation · de55c026
      h-attak authored
      - Added all source files from the initial UWE version of Pintos repository.
      Commits history was irrelevant in the original project, starting from no
      previous commits here.
      - Added a .gitignore, so that binary and meaningless files won't get committed.
      
      - Updated and moved the README.md file to be used properly by GitLab.
      de55c026
      History
      Initial Commit - Base UWE Pintos Implementation
      h-attak authored
      - Added all source files from the initial UWE version of Pintos repository.
      Commits history was irrelevant in the original project, starting from no
      previous commits here.
      - Added a .gitignore, so that binary and meaningless files won't get committed.
      
      - Updated and moved the README.md file to be used properly by GitLab.
    bochs-2.2.6-big-endian.patch 2.99 KiB
    diff -urp bochs-2.2.6/gdbstub.cc bochs-2.2.6.orig/gdbstub.cc
    --- bochs-2.2.6.orig/gdbstub.cc	2006-01-17 09:15:29.000000000 -0800
    +++ bochs-2.2.6/gdbstub.cc	2006-04-03 13:47:39.000000000 -0700
    @@ -672,35 +672,36 @@
                 
               case 'g':
     #if !BX_SUPPORT_X86_64
    -            registers[0] = EAX;
    -            registers[1] = ECX;
    -            registers[2] = EDX;
    -            registers[3] = EBX;
    -            registers[4] = ESP;
    -            registers[5] = EBP;
    -            registers[6] = ESI;
    -            registers[7] = EDI;
    +            WriteHostDWordToLittleEndian(registers + 0, EAX);
    +            WriteHostDWordToLittleEndian(registers + 1, ECX);
    +            WriteHostDWordToLittleEndian(registers + 2, EDX);
    +            WriteHostDWordToLittleEndian(registers + 3, EBX);
    +            WriteHostDWordToLittleEndian(registers + 4, ESP);
    +            WriteHostDWordToLittleEndian(registers + 5, EBP);
    +            WriteHostDWordToLittleEndian(registers + 6, ESI);
    +            WriteHostDWordToLittleEndian(registers + 7, EDI);
                 if (last_stop_reason == GDBSTUB_EXECUTION_BREAKPOINT)
                   {
    -                 registers[8] = EIP + 1;
    +                WriteHostDWordToLittleEndian(registers + 8, EIP + 1);
                   }
                 else
                   {
    -                 registers[8] = EIP;
    +                WriteHostDWordToLittleEndian(registers + 8, EIP);
                   }
    -            registers[9] = BX_CPU_THIS_PTR read_eflags();
    -            registers[10] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.value;
    -            registers[11] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.value;
    -            registers[12] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].selector.value;
    -            registers[13] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].selector.value;
    -            registers[14] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_FS].selector.value;
    -            registers[15] = 
    -              BX_CPU_THIS_PTR sregs[BX_SEG_REG_GS].selector.value;
    +            WriteHostDWordToLittleEndian(registers + 9,
    +                                         BX_CPU_THIS_PTR read_eflags());
    +            WriteHostDWordToLittleEndian(registers + 10,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.value);
    +            WriteHostDWordToLittleEndian(registers + 11,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.value);
    +            WriteHostDWordToLittleEndian(registers + 12,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].selector.value);
    +            WriteHostDWordToLittleEndian(registers + 13,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].selector.value);
    +            WriteHostDWordToLittleEndian(registers + 14,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_FS].selector.value);
    +            WriteHostDWordToLittleEndian(registers + 15,
    +              BX_CPU_THIS_PTR sregs[BX_SEG_REG_GS].selector.value);
                 mem2hex((char *)registers, obuf, NUMREGSBYTES);
     #else
     #define PUTREG(buf, val, len) do { \