On Fri, 22 Jun 2018, Fenghua Yu wrote: > On Fri, Jun 22, 2018 at 01:59:44PM +0200, Thomas Gleixner wrote: > > On Fri, 22 Jun 2018, Thomas Gleixner wrote: > > > The whole thing is simply: > > > > > > handle_ac() > > > { > > > if (user_mode(regs)) { > > > do_trap(AC, SIGBUS, ...); > > > } else { > > > disable_ac_on_local_cpu(); > > > WARN_ONCE(1); > > > } > > > } > > > > > > That wants #AC enabled as early as possible so the kernel gets as much > > > coverage as it can. If it trips in the kernel it's a bug and needs to be > > > fixed and we can them fix ONE by ONE. > > > > That said, #AC is just yet another badly defined and hastily bolted on > > (mis)feature. This should have been: > > > > Bit A: Enable #AC if CPL < 3 > > Bit B: Enable #AC if CPL == 3 > > > > But that would have been too useful and would allow sensible use of #AC > > without creating software trainwrecks. > > > > The two bits would be ideal.
Correct. And if hardware people would not base their stuff on 'we expect' assumptions and talk to us _before_ casting half baken features into silicon, we would have two bits today. Thanks, tglx