gdbstub.c (185b7ccc11354cbd69b6d53bf8d831dd964f6c88) | gdbstub.c (29a0af618ddd21f55df5753c3e16b0625f534b3c) |
---|---|
1/* 2 * s390x gdb server stub 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * Copyright (c) 2013 SUSE LINUX Products GmbH 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public --- 82 unchanged lines hidden (view full) --- 91 } 92} 93 94static int cpu_write_ac_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 95{ 96 switch (n) { 97 case S390_A0_REGNUM ... S390_A15_REGNUM: 98 env->aregs[n] = ldl_p(mem_buf); | 1/* 2 * s390x gdb server stub 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * Copyright (c) 2013 SUSE LINUX Products GmbH 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public --- 82 unchanged lines hidden (view full) --- 91 } 92} 93 94static int cpu_write_ac_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 95{ 96 switch (n) { 97 case S390_A0_REGNUM ... S390_A15_REGNUM: 98 env->aregs[n] = ldl_p(mem_buf); |
99 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 99 cpu_synchronize_post_init(env_cpu(env)); |
100 return 4; 101 default: 102 return 0; 103 } 104} 105 106/* the values represent the positions in s390-fpr.xml */ 107#define S390_FPC_REGNUM 0 --- 88 unchanged lines hidden (view full) --- 196} 197 198static int cpu_write_c_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 199{ 200 switch (n) { 201 case S390_C0_REGNUM ... S390_C15_REGNUM: 202 env->cregs[n] = ldtul_p(mem_buf); 203 if (tcg_enabled()) { | 100 return 4; 101 default: 102 return 0; 103 } 104} 105 106/* the values represent the positions in s390-fpr.xml */ 107#define S390_FPC_REGNUM 0 --- 88 unchanged lines hidden (view full) --- 196} 197 198static int cpu_write_c_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 199{ 200 switch (n) { 201 case S390_C0_REGNUM ... S390_C15_REGNUM: 202 env->cregs[n] = ldtul_p(mem_buf); 203 if (tcg_enabled()) { |
204 tlb_flush(ENV_GET_CPU(env)); | 204 tlb_flush(env_cpu(env)); |
205 } | 205 } |
206 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 206 cpu_synchronize_post_init(env_cpu(env)); |
207 return 8; 208 default: 209 return 0; 210 } 211} 212 213/* the values represent the positions in s390-virt.xml */ 214#define S390_VIRT_CKC_REGNUM 0 --- 31 unchanged lines hidden (view full) --- 246 } 247} 248 249static int cpu_write_virt_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 250{ 251 switch (n) { 252 case S390_VIRT_CKC_REGNUM: 253 env->ckc = ldtul_p(mem_buf); | 207 return 8; 208 default: 209 return 0; 210 } 211} 212 213/* the values represent the positions in s390-virt.xml */ 214#define S390_VIRT_CKC_REGNUM 0 --- 31 unchanged lines hidden (view full) --- 246 } 247} 248 249static int cpu_write_virt_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 250{ 251 switch (n) { 252 case S390_VIRT_CKC_REGNUM: 253 env->ckc = ldtul_p(mem_buf); |
254 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 254 cpu_synchronize_post_init(env_cpu(env)); |
255 return 8; 256 case S390_VIRT_CPUTM_REGNUM: 257 env->cputm = ldtul_p(mem_buf); | 255 return 8; 256 case S390_VIRT_CPUTM_REGNUM: 257 env->cputm = ldtul_p(mem_buf); |
258 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 258 cpu_synchronize_post_init(env_cpu(env)); |
259 return 8; 260 case S390_VIRT_BEA_REGNUM: 261 env->gbea = ldtul_p(mem_buf); | 259 return 8; 260 case S390_VIRT_BEA_REGNUM: 261 env->gbea = ldtul_p(mem_buf); |
262 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 262 cpu_synchronize_post_init(env_cpu(env)); |
263 return 8; 264 case S390_VIRT_PREFIX_REGNUM: 265 env->psa = ldtul_p(mem_buf); | 263 return 8; 264 case S390_VIRT_PREFIX_REGNUM: 265 env->psa = ldtul_p(mem_buf); |
266 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 266 cpu_synchronize_post_init(env_cpu(env)); |
267 return 8; 268 case S390_VIRT_PP_REGNUM: 269 env->pp = ldtul_p(mem_buf); | 267 return 8; 268 case S390_VIRT_PP_REGNUM: 269 env->pp = ldtul_p(mem_buf); |
270 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 270 cpu_synchronize_post_init(env_cpu(env)); |
271 return 8; 272 case S390_VIRT_PFT_REGNUM: 273 env->pfault_token = ldtul_p(mem_buf); | 271 return 8; 272 case S390_VIRT_PFT_REGNUM: 273 env->pfault_token = ldtul_p(mem_buf); |
274 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 274 cpu_synchronize_post_init(env_cpu(env)); |
275 return 8; 276 case S390_VIRT_PFS_REGNUM: 277 env->pfault_select = ldtul_p(mem_buf); | 275 return 8; 276 case S390_VIRT_PFS_REGNUM: 277 env->pfault_select = ldtul_p(mem_buf); |
278 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 278 cpu_synchronize_post_init(env_cpu(env)); |
279 return 8; 280 case S390_VIRT_PFC_REGNUM: 281 env->pfault_compare = ldtul_p(mem_buf); | 279 return 8; 280 case S390_VIRT_PFC_REGNUM: 281 env->pfault_compare = ldtul_p(mem_buf); |
282 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 282 cpu_synchronize_post_init(env_cpu(env)); |
283 return 8; 284 default: 285 return 0; 286 } 287} 288#endif 289 290/* the values represent the positions in s390-gs.xml */ --- 7 unchanged lines hidden (view full) --- 298static int cpu_read_gs_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 299{ 300 return gdb_get_regl(mem_buf, env->gscb[n]); 301} 302 303static int cpu_write_gs_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 304{ 305 env->gscb[n] = ldtul_p(mem_buf); | 283 return 8; 284 default: 285 return 0; 286 } 287} 288#endif 289 290/* the values represent the positions in s390-gs.xml */ --- 7 unchanged lines hidden (view full) --- 298static int cpu_read_gs_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 299{ 300 return gdb_get_regl(mem_buf, env->gscb[n]); 301} 302 303static int cpu_write_gs_reg(CPUS390XState *env, uint8_t *mem_buf, int n) 304{ 305 env->gscb[n] = ldtul_p(mem_buf); |
306 cpu_synchronize_post_init(ENV_GET_CPU(env)); | 306 cpu_synchronize_post_init(env_cpu(env)); |
307 return 8; 308} 309 310void s390_cpu_gdb_init(CPUState *cs) 311{ 312 gdb_register_coprocessor(cs, cpu_read_ac_reg, 313 cpu_write_ac_reg, 314 S390_NUM_AC_REGS, "s390-acr.xml", 0); --- 25 unchanged lines hidden --- | 307 return 8; 308} 309 310void s390_cpu_gdb_init(CPUState *cs) 311{ 312 gdb_register_coprocessor(cs, cpu_read_ac_reg, 313 cpu_write_ac_reg, 314 S390_NUM_AC_REGS, "s390-acr.xml", 0); --- 25 unchanged lines hidden --- |