diff --git a/include/xenia/cpu/ppc/instr.h b/include/xenia/cpu/ppc/instr.h index c4b48d0d4..937c97c8f 100644 --- a/include/xenia/cpu/ppc/instr.h +++ b/include/xenia/cpu/ppc/instr.h @@ -147,7 +147,7 @@ typedef struct { // kXEPPCInstrFormatXO struct { uint32_t Rc : 1; - uint32_t : 8; + uint32_t : 9; uint32_t OE : 1; uint32_t RB : 5; uint32_t RA : 5; diff --git a/src/kernel/modules/xboxkrnl/kernel_state.cc b/src/kernel/modules/xboxkrnl/kernel_state.cc index f54a7880c..93aa333b7 100644 --- a/src/kernel/modules/xboxkrnl/kernel_state.cc +++ b/src/kernel/modules/xboxkrnl/kernel_state.cc @@ -22,8 +22,8 @@ namespace { KernelState::KernelState(xe_pal_ref pal, xe_memory_ref memory, shared_ptr export_resolver) { - pal = xe_pal_retain(pal); - memory = xe_memory_retain(memory); + this->pal = xe_pal_retain(pal); + this->memory = xe_memory_retain(memory); export_resolver_ = export_resolver; } diff --git a/test/codegen/add.bin b/test/codegen/add.bin new file mode 100755 index 000000000..78e79680e Binary files /dev/null and b/test/codegen/add.bin differ diff --git a/test/codegen/add.dis b/test/codegen/add.dis new file mode 100644 index 000000000..f958ff623 --- /dev/null +++ b/test/codegen/add.dis @@ -0,0 +1,9 @@ + +add.o: file format elf64-powerpc + + +Disassembly of section .text: + +0000000082010000 <.text>: + 82010000: 7d 65 ca 14 add r11,r5,r25 + 82010004: 4e 80 00 20 blr diff --git a/test/codegen/add.s b/test/codegen/add.s new file mode 100644 index 000000000..3fb476e6e --- /dev/null +++ b/test/codegen/add.s @@ -0,0 +1,9 @@ +# REGISTER_IN r5 0x00100000 +# REGISTER_IN r25 0x0000FFFF + +add r11, r5, r25 + +blr +# REGISTER_OUT r5 0x00100000 +# REGISTER_OUT r25 0x0000FFFF +# REGISTER_OUT r11 0x0010FFFF