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 | 457 | } else if (wsize == 4) { |
| 458 | 458 | flags = 0; |
| 459 | 459 | } else { |
| 460 | - /* as default we use the current CS size */ | |
| 460 | + /* as default we use the current CS size */ | |
| 461 | 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 | 473 | #endif |
| 466 | 474 | monitor_disas(env, addr, count, is_physical, flags); |
| ... | ... | @@ -1549,6 +1557,7 @@ static target_long expr_unary(void) |
| 1549 | 1557 | n = 0; |
| 1550 | 1558 | break; |
| 1551 | 1559 | default: |
| 1560 | + /* XXX: 64 bit version */ | |
| 1552 | 1561 | n = strtoul(pch, &p, 0); |
| 1553 | 1562 | if (pch == p) { |
| 1554 | 1563 | expr_error("invalid char in expression"); | ... | ... |