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"); | ... | ... |