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 ---