Commit 6a15fd12ca1bccb72335132686db7adef5937a0a
1 parent
3e749fe1
64 bit disassembly
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1809 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
12 additions
and
3 deletions
monitor.c
| @@ -457,10 +457,18 @@ static void memory_dump(int count, int format, int wsize, | @@ -457,10 +457,18 @@ static void memory_dump(int count, int format, int wsize, | ||
| 457 | } else if (wsize == 4) { | 457 | } else if (wsize == 4) { |
| 458 | flags = 0; | 458 | flags = 0; |
| 459 | } else { | 459 | } else { |
| 460 | - /* as default we use the current CS size */ | 460 | + /* as default we use the current CS size */ |
| 461 | flags = 0; | 461 | flags = 0; |
| 462 | - if (env && !(env->segs[R_CS].flags & DESC_B_MASK)) | ||
| 463 | - flags = 1; | 462 | + if (env) { |
| 463 | +#ifdef TARGET_X86_64 | ||
| 464 | + if ((env->efer & MSR_EFER_LMA) && | ||
| 465 | + (env->segs[R_CS].flags & DESC_L_MASK)) | ||
| 466 | + flags = 2; | ||
| 467 | + else | ||
| 468 | +#endif | ||
| 469 | + if (!(env->segs[R_CS].flags & DESC_B_MASK)) | ||
| 470 | + flags = 1; | ||
| 471 | + } | ||
| 464 | } | 472 | } |
| 465 | #endif | 473 | #endif |
| 466 | monitor_disas(env, addr, count, is_physical, flags); | 474 | monitor_disas(env, addr, count, is_physical, flags); |
| @@ -1549,6 +1557,7 @@ static target_long expr_unary(void) | @@ -1549,6 +1557,7 @@ static target_long expr_unary(void) | ||
| 1549 | n = 0; | 1557 | n = 0; |
| 1550 | break; | 1558 | break; |
| 1551 | default: | 1559 | default: |
| 1560 | + /* XXX: 64 bit version */ | ||
| 1552 | n = strtoul(pch, &p, 0); | 1561 | n = strtoul(pch, &p, 0); |
| 1553 | if (pch == p) { | 1562 | if (pch == p) { |
| 1554 | expr_error("invalid char in expression"); | 1563 | expr_error("invalid char in expression"); |