From 76033d6ea82669a441290a19804b54e3892388a7 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Tue, 3 Jul 2018 04:54:31 -0500 Subject: user/qemu: new package --- .../ppc-Fix-size-of-ppc64-xer-register-fwd.patch | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch (limited to 'user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch') diff --git a/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch b/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch new file mode 100644 index 000000000..87fd4a1ee --- /dev/null +++ b/user/qemu/ppc-Fix-size-of-ppc64-xer-register-fwd.patch @@ -0,0 +1,70 @@ +diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c +index 7a33813..b6f6693 100644 +--- a/target/ppc/gdbstub.c ++++ b/target/ppc/gdbstub.c +@@ -37,10 +37,10 @@ static int ppc_gdb_register_len_apple(int n) + case 65+32: /* msr */ + case 67+32: /* lr */ + case 68+32: /* ctr */ +- case 69+32: /* xer */ + case 70+32: /* fpscr */ + return 8; + case 66+32: /* cr */ ++ case 69+32: /* xer */ + return 4; + default: + return 0; +@@ -61,6 +61,8 @@ static int ppc_gdb_register_len(int n) + return 8; + case 66: + /* cr */ ++ case 69: ++ /* xer */ + return 4; + case 64: + /* nip */ +@@ -70,8 +72,6 @@ static int ppc_gdb_register_len(int n) + /* lr */ + case 68: + /* ctr */ +- case 69: +- /* xer */ + return sizeof(target_ulong); + case 70: + /* fpscr */ +@@ -152,7 +152,7 @@ int ppc_cpu_gdb_read_register(CPUState *cs, uint8_t *mem_buf, int n) + gdb_get_regl(mem_buf, env->ctr); + break; + case 69: +- gdb_get_regl(mem_buf, env->xer); ++ gdb_get_reg32(mem_buf, env->xer); + break; + case 70: + gdb_get_reg32(mem_buf, env->fpscr); +@@ -208,7 +208,7 @@ int ppc_cpu_gdb_read_register_apple(CPUState *cs, uint8_t *mem_buf, int n) + gdb_get_reg64(mem_buf, env->ctr); + break; + case 69 + 32: +- gdb_get_reg64(mem_buf, env->xer); ++ gdb_get_reg32(mem_buf, env->xer); + break; + case 70 + 32: + gdb_get_reg64(mem_buf, env->fpscr); +@@ -259,7 +259,7 @@ int ppc_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) + env->ctr = ldtul_p(mem_buf); + break; + case 69: +- env->xer = ldtul_p(mem_buf); ++ env->xer = ldl_p(mem_buf); + break; + case 70: + /* fpscr */ +@@ -309,7 +309,7 @@ int ppc_cpu_gdb_write_register_apple(CPUState *cs, uint8_t *mem_buf, int n) + env->ctr = ldq_p(mem_buf); + break; + case 69 + 32: +- env->xer = ldq_p(mem_buf); ++ env->xer = ldl_p(mem_buf); + break; + case 70 + 32: + /* fpscr */ -- cgit v1.2.3-70-g09d2