Revision c690524e
b/hw/alpha_palcode.c | ||
---|---|---|
1061 | 1061 |
{ |
1062 | 1062 |
target_ulong ret; |
1063 | 1063 |
|
1064 |
printf("%s: palcode %02x\n", __func__, palcode); |
|
1065 | 1064 |
if (logfile != NULL) |
1066 | 1065 |
fprintf(logfile, "%s: palcode %02x\n", __func__, palcode); |
1067 | 1066 |
switch (palcode) { |
1068 | 1067 |
case 0x83: |
1069 | 1068 |
/* CALLSYS */ |
1070 |
printf("CALLSYS n " TARGET_FMT_ld "\n", env->ir[0]); |
|
1071 | 1069 |
if (logfile != NULL) |
1072 | 1070 |
fprintf(logfile, "CALLSYS n " TARGET_FMT_ld "\n", env->ir[0]); |
1073 | 1071 |
ret = do_syscall(env, env->ir[IR_V0], env->ir[IR_A0], env->ir[IR_A1], |
... | ... | |
1083 | 1081 |
case 0x9E: |
1084 | 1082 |
/* RDUNIQUE */ |
1085 | 1083 |
env->ir[IR_V0] = env->unique; |
1086 |
printf("RDUNIQUE: " TARGET_FMT_lx "\n", env->unique); |
|
1084 |
if (logfile != NULL) |
|
1085 |
fprintf(logfile, "RDUNIQUE: " TARGET_FMT_lx "\n", env->unique); |
|
1087 | 1086 |
break; |
1088 | 1087 |
case 0x9F: |
1089 | 1088 |
/* WRUNIQUE */ |
1090 | 1089 |
env->unique = env->ir[IR_A0]; |
1091 |
printf("WRUNIQUE: " TARGET_FMT_lx "\n", env->unique); |
|
1090 |
if (logfile != NULL) |
|
1091 |
fprintf(logfile, "WRUNIQUE: " TARGET_FMT_lx "\n", env->unique); |
|
1092 | 1092 |
break; |
1093 | 1093 |
default: |
1094 |
printf("%s: unhandled palcode %02x\n", __func__, palcode); |
|
1095 | 1094 |
if (logfile != NULL) |
1096 | 1095 |
fprintf(logfile, "%s: unhandled palcode %02x\n", |
1097 | 1096 |
__func__, palcode); |
b/linux-user/main.c | ||
---|---|---|
2143 | 2143 |
exit(1); |
2144 | 2144 |
break; |
2145 | 2145 |
case EXCP_CALL_PAL ... (EXCP_CALL_PALP - 1): |
2146 |
fprintf(stderr, "Call to PALcode\n"); |
|
2147 | 2146 |
call_pal(env, (trapnr >> 6) | 0x80); |
2148 | 2147 |
break; |
2149 | 2148 |
case EXCP_CALL_PALP ... (EXCP_CALL_PALE - 1): |
Also available in: Unified diff