Richard Henderson <r...@twiddle.net> writes: > On 01/19/2017 09:04 AM, Alex Bennée wrote: >> +void qemu_tcg_configure(QemuOpts *opts, Error **errp) >> +{ >> + const char *t = qemu_opt_get(opts, "thread"); >> + if (t) { >> + if (strcmp(t, "multi") == 0) { >> + if (TCG_OVERSIZED_GUEST) { >> + error_setg(errp, "No MTTCG when guest word size > hosts"); > > I agree with this, since I don't ever imagine it'll be fixed. It's a silly > use > case in the first place considering the ubiquity of 64-bit hosts.
Funnily enough I know one kernel hacker who does use this to test their arm64 kernels on their re-purposed armhf chromebooks. I've already explained coming their way ;-) > >> + } else if (!check_tcg_memory_orders_compatible()) { >> + error_setg(errp, >> + "No MTTCG when guest MO is stronger than host >> MO"); > > This, on the other hand, means that one cannot even force multi for testing. > A > warning perhaps? I did toy with making that a warning when I first wrote it. I'll make it so. > And how shall we handle a guest translate adding barriers as > necessary to satisfy host memory ordering? We are talking about doing the necessary annotation to all a givens targets loads and stores? I figured this code would morph and be tweaked when (if?) we get there. -- Alex Bennée