# DOCUMENTING IRC DISCUSSION: 08:54 cpaelzer: with your suggestion, we would have to up PC_COMPAT every release by putting the same value in the new one 08:54 no ? 08:56 no 08:57 we'd change the default that gets added 08:57 since out active code is "before" compat 3.1 08:57 cpaelzer: alright, lets do one example together 08:58 just to make sure we covered it all 08:58 may I take the easiest one :-) 08:58 :-P 08:58 b0a1980384fc265d91de7e09aa5fe531a69e6288 08:58 the upstream cahnge will make it be stepping 6 AFTER 3.1 08:58 since we are before we will NOT change it to 6 08:58 which means we will drop the patch completely 08:59 but cascadelake wasnt even supported in 2_10/2_11 08:59 thats the point of backporting its support 08:59 and without stepping 08:59 the features arent even supported 08:59 (the ones we are adding) 08:59 sure, but it still defines it like that 08:59 so a qemu 4.0 would expect an old Cascadelake-Server to be stepping 5 08:59 and that is what we will make it by -not- adding this patch 08:59 cpaelzer: without IA32 feature 08:59 but we will have it 09:00 if you dont bump the stepping 09:00 feature is not enabled (for cascade model) 09:00 the extra mitigation tags 09:00 (ARCH_CAPABILITIES.) 09:01 that is what tricked me ^ 09:01 just now read the spec on that stepping 09:01 yeah this is silly 09:01 we need a special solution for the stepping then 09:01 which is ok 09:02 ok, since the type never existed lets add it with stepping 6 into all our qemu's 09:02 what we need to do then is when I merge qemu 4.0 or later (and essentially forever) 09:02 to REMOVE the line that declares pre 3.1 cascade lake as stepping 5 09:03 rafaeldtinoco: I have added a todo to the trello card for the virt-stack merges 09:05 hw/i386/pc.cso for the SRU-backports of b0a19803 we'd want the change to target/i386/cpu.c but not the one to hw/i386/pc.c 09:06 you'd need to slightly rework patch #17 for that 09:07 keeping the technical dept (in the form of delta to be kept forever) low, can we just not add ecb85fe48cacb2f8740186e81f2f38a2e02bd963 then (patch #15) 09:07 cpaelzer: perfect. that is much better 09:07 at lesat that seems to follow my thought 09:08 by not adding #15 we will NOT switch MPX off 09:08 and that means it will still be on 09:08 cpaelzer: it makes sense 09:08 qemu >=4.0 will consider anything <=3.1 to have MPX on 09:08 i thought similar (dragging the change for upper versions) 09:08 but not having it and removing the delta 09:08 is better to maintain 09:08 alright, what about mpx ? 09:08 so my thought was righ tin general, but just on patch #17 killed by that silly stepping defining some inherent features 09:09 #15 that I mentioned is MPX 09:09 or has that a hidden "has to be there" mission as well? 09:09 ah ok 09:09 lemme check 09:09 nope, its just being phased out by intel 09:10 rafaeldtinoco: Summary: rework #17 (stepping) to not change compat; add a todo for the 4.0 merge (done), drop patch#15 (MPX) 09:10 ^^ ack? 09:10 IF someone is running QEMU on Bionic, in a {Sky,Cascade}Lake CPU, has MPX on by default, a possibly different (than Ubuntu) guest OS (other Linux distro ?) AND is running a object containing instructions of that ABI extension (GCC in between 5 and 9 compiled objects and kernel 3.19 - 4.20) WHILE doing a live migration from this QEMU version to higher one, then.. this person would face a bug :o). 09:10 that was my comment on msx ^ 09:11 if you're ok with that "corner case" 09:11 with all planets aligned for a bug to happen 09:11 it is on as of today 09:11 if upstream considered it a bug more important than compatibility, they would have changed it in general 09:11 but they only did >=4.0 09:11 so I'd follow that 09:11 makes sense 09:11 so your summary is ok 09:12 will provide the changes 09:12 ;) tks 09:12 the one MPX I wonder, is that disabled in every other CPU type but these new named ones ...? 09:12 i think the new models are being deprecated 09:12 but feature is still there 09:13 or something like it (judging by the commit messages) 09:13 as I thought it is on as of today 09:13 Skylake-Client Skylake-Server have CPUID_7_0_EBX_MPX set 09:13 Even though KVM will have special code 09:13 +to support MPX after the kernel proper stops enabling it in XCR0, 09:14 and they didn#t even change those in ecb85fe48cacb2f8740186e81f2f38a2e02bd963 09:14 ... want to deprecate that in a few years ... 09:14 yep 09:14 lets kepe it 09:14 I think we are good with the plan as sumamrized above 09:14 specially since this is a backport 09:14 ok 09:14 good =)