Alright, I've sent a patch to qemu-devel. Let's see what happens now...
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/568614
Title:
x86_64 host curses interface: spacing/garbling
Status in QEMU:
From: "Devin J. Pohly"
Qemu currently assumes that chtype is typedef'd to unsigned long, but
this is not necessarily the case (ncurses, for instance, can configure
this at build-time). This patch uses the predefined chtype if qemu is
configured for curses support and falls back t
Pretty sure it was the latest Arch package: 0.14.1. Did you have
trouble applying it?
I can run back and make a patch against git if you can't use this.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs
How about using CONFIG_CURSES? If we --enable-curses, then we know we
have curses.h and chtype. If we --disable-curses, then we don't care.
Patch attached. It's a no-op if curses is disabled, and it fixes the
issue on my machine with curses enabled. I had to undef the color
constants from curs
I just checked out the ncurses source - it looks like the type of
"chtype" actually depends on how ncurses is configured at build time:
curses.h.in:
#if @cf_cv_enable_lp64@ && defined(_LP64)
typedef unsigned chtype;
typedef unsigned mmask_t;
#else
typedef unsigned @cf_cv_typeof_chtype@ chtype;
typ
I just compiled from git and the problem persists.
I will reiterate that the issue appears to be with the word size of the
types used, not with endianness; see comment 4. I have not dug any
further into the QEMU code to see if I find a more "correct-looking"
solution than the quick patch I have a
Perhaps you have found an endianness bug as well, but my issue is with
word size (my host is a 64-bit Intel). I manually applied the patch to
a 0.12.3 build, and I am still seeing the problem with the curses
console.
It seems that the console_ch_t type is used in a number of different
contexts.