Revision b219094a target-sparc/op_helper.c
b/target-sparc/op_helper.c | ||
---|---|---|
3321 | 3321 |
helper_check_align(addr, 7); |
3322 | 3322 |
#if !defined(CONFIG_USER_ONLY) |
3323 | 3323 |
switch (mem_idx) { |
3324 |
case 0:
|
|
3324 |
case MMU_USER_IDX:
|
|
3325 | 3325 |
stfq_user(addr, DT0); |
3326 | 3326 |
break; |
3327 |
case 1:
|
|
3327 |
case MMU_KERNEL_IDX:
|
|
3328 | 3328 |
stfq_kernel(addr, DT0); |
3329 | 3329 |
break; |
3330 | 3330 |
#ifdef TARGET_SPARC64 |
3331 |
case 2:
|
|
3331 |
case MMU_HYPV_IDX:
|
|
3332 | 3332 |
stfq_hypv(addr, DT0); |
3333 | 3333 |
break; |
3334 | 3334 |
#endif |
3335 | 3335 |
default: |
3336 |
DPRINTF_MMU("helper_stdf: need to check MMU idx %d\n", mem_idx); |
|
3336 | 3337 |
break; |
3337 | 3338 |
} |
3338 | 3339 |
#else |
... | ... | |
3345 | 3346 |
helper_check_align(addr, 7); |
3346 | 3347 |
#if !defined(CONFIG_USER_ONLY) |
3347 | 3348 |
switch (mem_idx) { |
3348 |
case 0:
|
|
3349 |
case MMU_USER_IDX:
|
|
3349 | 3350 |
DT0 = ldfq_user(addr); |
3350 | 3351 |
break; |
3351 |
case 1:
|
|
3352 |
case MMU_KERNEL_IDX:
|
|
3352 | 3353 |
DT0 = ldfq_kernel(addr); |
3353 | 3354 |
break; |
3354 | 3355 |
#ifdef TARGET_SPARC64 |
3355 |
case 2:
|
|
3356 |
case MMU_HYPV_IDX:
|
|
3356 | 3357 |
DT0 = ldfq_hypv(addr); |
3357 | 3358 |
break; |
3358 | 3359 |
#endif |
3359 | 3360 |
default: |
3361 |
DPRINTF_MMU("helper_lddf: need to check MMU idx %d\n", mem_idx); |
|
3360 | 3362 |
break; |
3361 | 3363 |
} |
3362 | 3364 |
#else |
... | ... | |
3372 | 3374 |
helper_check_align(addr, 7); |
3373 | 3375 |
#if !defined(CONFIG_USER_ONLY) |
3374 | 3376 |
switch (mem_idx) { |
3375 |
case 0:
|
|
3377 |
case MMU_USER_IDX:
|
|
3376 | 3378 |
u.ll.upper = ldq_user(addr); |
3377 | 3379 |
u.ll.lower = ldq_user(addr + 8); |
3378 | 3380 |
QT0 = u.q; |
3379 | 3381 |
break; |
3380 |
case 1:
|
|
3382 |
case MMU_KERNEL_IDX:
|
|
3381 | 3383 |
u.ll.upper = ldq_kernel(addr); |
3382 | 3384 |
u.ll.lower = ldq_kernel(addr + 8); |
3383 | 3385 |
QT0 = u.q; |
3384 | 3386 |
break; |
3385 | 3387 |
#ifdef TARGET_SPARC64 |
3386 |
case 2:
|
|
3388 |
case MMU_HYPV_IDX:
|
|
3387 | 3389 |
u.ll.upper = ldq_hypv(addr); |
3388 | 3390 |
u.ll.lower = ldq_hypv(addr + 8); |
3389 | 3391 |
QT0 = u.q; |
3390 | 3392 |
break; |
3391 | 3393 |
#endif |
3392 | 3394 |
default: |
3395 |
DPRINTF_MMU("helper_ldqf: need to check MMU idx %d\n", mem_idx); |
|
3393 | 3396 |
break; |
3394 | 3397 |
} |
3395 | 3398 |
#else |
... | ... | |
3407 | 3410 |
helper_check_align(addr, 7); |
3408 | 3411 |
#if !defined(CONFIG_USER_ONLY) |
3409 | 3412 |
switch (mem_idx) { |
3410 |
case 0:
|
|
3413 |
case MMU_USER_IDX:
|
|
3411 | 3414 |
u.q = QT0; |
3412 | 3415 |
stq_user(addr, u.ll.upper); |
3413 | 3416 |
stq_user(addr + 8, u.ll.lower); |
3414 | 3417 |
break; |
3415 |
case 1:
|
|
3418 |
case MMU_KERNEL_IDX:
|
|
3416 | 3419 |
u.q = QT0; |
3417 | 3420 |
stq_kernel(addr, u.ll.upper); |
3418 | 3421 |
stq_kernel(addr + 8, u.ll.lower); |
3419 | 3422 |
break; |
3420 | 3423 |
#ifdef TARGET_SPARC64 |
3421 |
case 2:
|
|
3424 |
case MMU_HYPV_IDX:
|
|
3422 | 3425 |
u.q = QT0; |
3423 | 3426 |
stq_hypv(addr, u.ll.upper); |
3424 | 3427 |
stq_hypv(addr + 8, u.ll.lower); |
3425 | 3428 |
break; |
3426 | 3429 |
#endif |
3427 | 3430 |
default: |
3431 |
DPRINTF_MMU("helper_stqf: need to check MMU idx %d\n", mem_idx); |
|
3428 | 3432 |
break; |
3429 | 3433 |
} |
3430 | 3434 |
#else |
Also available in: Unified diff